M-am străduit să-mi configurez aparatul Thinkpad P52s ( Intel UHD 620 (i7 8550U) + Nvidia Quadro P500) - rulează Ubuntu 20.04 pentru a afișa 10 biți pe canal (RGB) pe un afișaj compatibil ( ASUS PA329C - cel mai ieftin compatibil cu 10 biți pe canal) panou).
Când am configurat xorg ( un fișier în /usr/share/X11/xorg.conf.d/30-screensetup.conf ca în https://linuxreviews.org/HOWTO_enable_10-bit_color_on_Linux) culorile mele roșu și albastru se inversează. Chiar dacă jurnalul meu Xorg spune „folosind adâncimea/fbpp 30/32” Tot nu este adevărata culoare pe 10 biți.
Ref: Am folosit ghidul/fișierele de mai jos:
https://www.avsforum.com/threads/10-bit-gradient-test-patterns.2269338/
https://www.eizo-apac.com/support-service/tech-library/monitor-test
si altele...
Toate driverele par instalate corect... Nvidia-Xserver afișează și configurarea XScreen 0 cu adâncimea corectă de culoare
afișaj lshw -c:
GNU nano 4.8 lshwout.txt
*-afişa
descriere: controler compatibil VGA
produs: UHD Graphics 620
furnizor: Intel Corporation
ID fizic: 2
info autobuz: pci@0000:00:02.0
versiunea: 07
lățime: 64 biți
ceas: 33 MHz
capabilități: vga_controller bus_master cap_list rom
configurație: driver=i915 latență=0
resurse: irq:159 memorie:e7000000-e7ffffff memorie:c0000000-cfffffff ioport:e000(dimensiune=64) memorie:c0000-dffff
*-afişa
descriere: controler 3D
produs: GP108GLM [Quadro P500 Mobile]
furnizor: NVIDIA Corporation
ID fizic: 0
info autobuz: pci@0000:02:00.0
versiunea: a1
lățime: 64 biți
ceas: 33 MHz
capabilități: bus_master cap_list
configurație: driver=nvidia latency=0
resurse: irq:168 memorie:e8000000-e8ffffff memorie:70000000-7fffffff memorie:80000000-81ffffff ioport:d000(dimensiune=128)
Xorg.0.log
13.740] Clasa ABI: X.Org ANSI C Emulation, versiunea 0.4
[ 13.740] (II) Se încarcă submodul „ramdac”
[ 13.740] (II) LoadModule: „ramdac”
[ 13.740] (II) Modulul „ramdac” deja încorporat
[ 13.741] (WW) Revenirea la vechea metodă de sondă pentru setarea modului
[ 13.751] (WW) Revenirea la vechea metodă de sondă pentru fbdev
[ 13.751] (II) Se încarcă submodulul „fbdevhw”
[ 13.751] (II) LoadModule: „fbdevhw”
[ 13.751] (II) Se încarcă /usr/lib/xorg/modules/libfbdevhw.so
[ 13.751] (II) Modulul fbdevhw: vendor="X.Org Foundation"
[ 13.751] compilat pentru 1.20.9, versiunea modulului = 0.0.2
[ 13.751] Clasa ABI: Driver video X.Org, versiunea 24.1
[ 13.767] (II) modeset(G0): folosind drv /dev/dri/card0
[ 13.767] (II) NVIDIA(0): se creează subsecțiunea Afișare implicită în secțiunea Ecran
„Ecran implicit” pentru adâncime/fbbpp 30/32
[ 13.767] (**) NVIDIA(0): adâncime 30, (--) framebuffer bpp 32
[ 13.767] (==) NVIDIA(0): greutate RGB 101010
[ 13.767] (==) NVIDIA(0): imaginea implicită este TrueColor
[ 13.767] (==) NVIDIA(0): se utilizează corecția gama (1.0, 1.0, 1.0)
[ 13.768] (II) Aplicarea opțiunilor „nvidia” OutputClass la /dev/dri/card1
[ 13.768] (II) Aplicarea opțiunilor OutputClass „Nvidia Prime” la /dev/dri/card1
[ 13.768] (**) NVIDIA(0): Opțiunea „AllowEmptyInitialConfiguration”
[ 13.768] (**) NVIDIA(0): Activarea accelerației 2D
[ 13.768] (II) Se încarcă submodulul „glxserver_nvidia”
[ 13.768] (II) LoadModule: „glxserver_nvidia”
[ 13.768] (II) Se încarcă /usr/lib/x86_64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so
[ 13.790] (II) Modul glxserver_nvidia: vendor="NVIDIA Corporation"
[ 13.790] compilat pentru 1.6.99.901, versiunea modulului = 1.0.0
[ 13.790] Clasa de modul: X.Org Server Extension
[ 13.790] (II) Modulul NVIDIA GLX 460.80 Vineri, 7 mai 06:50:15 UTC 2021
[ 13.791] (II) NVIDIA: Serverul X acceptă PRIME Render Offload.
[ 13.792] (II) NVIDIA(0): NVIDIA GPU Quadro P500 (GP108GL-A) la PCI:2:0:0 (GPU-0)
[ 13.792] (--) NVIDIA(0): Memorie: 2097152 kBytes
[ 13.792] (--) NVIDIA(0): VideoBIOS: 86.08.28.00.63
[ 13.792] (II) NVIDIA(0): Lățimea conexiunii PCI Express detectată: 4X
[ 13.792] (II) NVIDIA(0): MetaModuri validate:
[ 13.792] (II) NVIDIA(0): „NULL”
[ 13.792] (II) NVIDIA(0): dimensiunea ecranului virtual determinată a fi 640 x 480
[ 13.792] (WW) NVIDIA(0): Nu se poate obține dispozitivul de afișare pentru calculul DPI.
[ 13.792] (==) NVIDIA(0): DPI setat la (75, 75); calculat din implicit încorporat
[ 13.792] (II) modeset(G0): se creează subsecțiunea Afișare implicită în secțiunea Ecran
„Ecran implicit” pentru adâncime/fbbpp 30/32
xwininfo arată mai jos. Amuzant că arată același/similar la adâncimea de 24 de biți. Uneori adâncimea 30, alteori 32.. nu sunteți sigur dacă include canalul alfa și arată în schimb dimensiunea tamponului? Pot schimba dimensiunea framebuffer-ului la 40 pentru a mă asigura că primesc RGBA la fiecare 10 biți și asta s-ar rezolva?
xwininfo ca rulare în profunzime = 24 sesiuni xorg:
xwininfo: Vă rugăm să selectați fereastra despre care doriți
doresc informații făcând clic pe
mouse-ul în acea fereastră.
xwininfo: ID fereastră: 0x3e0000a „rime@RimezWorkstation: ~”
X absolut din stânga sus: 39
Y absolut din stânga sus: 12
X relativ din stânga sus: 39
Y relativ din stânga sus: 12
Latime: 2596
Înălțime: 1487
Adâncime: 32
Vizual: 0xa2
Clasa vizuală: TrueColor
Lățimea chenarului: 0
Clasa: InputOutput
Harta de culori: 0x3e00009 (neinstalat)
Stare de gravitate a bitului: NorthWestGravity
Stare gravitațională a ferestrei: NorthWestGravity
Stare magazin de rezervă: Nu este util
Salvare sub stat: nu
Starea hărții: este vizibilă
Ignorați starea redirecționării: nu
Colțuri: +39+12 -1205+12 -1205-661 +39-661
-geometrie 230x63+39+12
nvidia-smi oferă:
Duminica 20 iunie 15:05:58 2021
+--------------------------------------------- ----------------------------+
| Versiunea driverului NVIDIA-SMI 460.80: 460.80 Versiune CUDA: 11.2 |
|-------------------------------+------------------ -----+----------------------+
| Persistența numelui GPU-M| Autobuz-Id Disp.A | Volatil Uncorr. ECC |
| Fan Temp Perf Pwr:Utilizare/Cap| Utilizarea memoriei | GPU-Util Compute M. |
| | | MIG M. |
|================================+================== =====+=======================|
| 0 Quadro P500 Off | 00000000:02:00.0 Dezactivat | N/A |
| N/A 63C P0 N/A / N/A | 358MiB / 2002MiB | 18% Implicit |
| | | N/A |
+-------------------------------+----------------- -----+----------------------+
+--------------------------------------------- ----------------------------+
| Procese: |
| GPU GI CI Tip PID Nume proces Memorie GPU |
| ID ID Utilizare |
|=================================================== =============================|
| 0 N/A N/A 1528 G /usr/lib/xorg/Xorg 246MiB |
| 0 N/A N/A 2149 G /usr/bin/gnome-shell 111MiB |
+--------------------------------------------- ----------------------------+
nvidia-prime.conf în interiorul xorg.conf.d este ca mai jos:
Secțiunea „OutputClass”
Identificator „Nvidia Prime”
MatchDriver „nvidia-drm”
Driver „nvidia”
Opțiunea „AllowEmptyInitialConfiguration”
Opțiunea „IgnoreDisplayDevices” „CRT”
Opțiunea „PrimaryGPU” „Da”
ModulePath „/lib/x86_64-linux-gnu/nvidia/xorg”
EndSection
Jurnalul managerului GPU arată astfel:
GNU nano 4.8 /var/log/gpu-manager.log
fișier_log: /var/log/gpu-manager.log
last_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot
fișier_boot_new: /var/lib/ubuntu-drivers-common/last_gfx_boot
nu pot accesa /opt/amdgpu-pro/bin/amdgpu-pro-px
Căutăm module nvidia în /lib/modules/5.4.0-74-generic/updates/dkms
Căutăm module amdgpu în /lib/modules/5.4.0-74-generic/updates/dkms
Este nvidia încărcat? da
Nvidia a fost descărcată? Nu
Nvidia este pe lista neagră? Nu
Intel este încărcat? da
Este radeon încărcat? Nu
Este radeonul pe lista neagră? Nu
Amdgpu este încărcat? Nu
Amdgpu este pe lista neagră? Nu
Este versiunea amdgpu? Nu
Este amdgpu pro stack? Nu
Nouveau este încărcat? Nu
Nouveau este pe lista neagră? da
Este disponibil modulul kernel nvidia? Nu
Este disponibil modulul kernel amdgpu? Nu
ID furnizor/dispozitiv: 8086:5917
BusID „PCI:0@0:2:0”
Boot vga este? da
ID furnizor/dispozitiv: 10de:1d33
BusID „PCI:2@0:0:0”
nu se poate deschide /sys/bus/pci/devices/0000:02:00.0/boot_vga
Boot vga este? Nu
nu se poate deschide /sys/bus/pci/devices/0000:02:00.0/boot_vga
nu pot accesa fișierul /etc/u-d-c-nvidia-runtimepm-override
Fișier json găsit: /usr/share/doc/nvidia-driver-460/supported-gpus.json
Se caută ID-ul dispozitivului „0x1d33” în fișierul json
ID-ul dispozitivului 0x1D33 găsit în fișierul json
Nume dispozitiv: Quadro P500
Se caută disponibilitatea funcției „runtimepm”.
Funcția „runtimepm” nu a fost găsită
Linux 5.4 a fost detectat.
Este nvidia runtime pm acceptat pentru „0x1d33”? Nu
Verificarea stării alimentării în /proc/driver/nvidia/gpus/0000:02:00.0/power
Stare Runtime D3: Dezactivat
Este nvidia runtime pm activat pentru „0x1d33”? Nu
Omiterea „/dev/dri/card1”, condusă de „nvidia-drm”
Se omite „/dev/dri/card0”, condus de „i915”
Omiterea „/dev/dri/card1”, condusă de „nvidia-drm”
Se omite „/dev/dri/card0”, condus de „i915”
Omiterea „/dev/dri/card1”, condusă de „nvidia-drm”
Se omite „/dev/dri/card0”, condus de „i915”
Omiterea „/dev/dri/card1”, condusă de „nvidia-drm”
S-a găsit „/dev/dri/card0”, condus de „i915”
ieșire 0:
card0-eDP-1
ieșire 1:
card0-DP-1
Numărul de ieșiri conectate pentru /dev/dri/card0: 2
Necesită descărcare? da
Numărul ultimelor cărți = 2
Are amd? Nu
Are intel? da
Are nvidia? da
Câte cărți? 2
S-a schimbat sistemul? Nu
Intel IGP detectat
Sistem hibrid NVIDIA
Se creează /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
Setarea controlului alimentării la „pornit” în /sys/bus/pci/devices/0000:02:00.0/power/control
Trebuie să spun că inversarea culorii este o problemă numai atunci când în Profiluri PRIME setările NVIDIA Xserver sunt setate la performanță înaltă (adică NVIDIA ca GPU principal?) Când trec la profilul „la cerere”, problema inversării culorilor dispare, dar îmi ia controlul asupra setărilor X Adâncimea ecranului de pe cardul Nvidia. Primesc doar setări GPU și nu mai am setări de configurare X Screen Display.
Dar, în orice caz, nu obțineți 10 culori adevărate :( . Vă rugăm să ajutați.