在 ubuntu 中设置每通道 10 位颜色会反转蓝色和红色,而不会提供实际的每通道 10 位颜色

在 ubuntu 中设置每通道 10 位颜色会反转蓝色和红色,而不会提供实际的每通道 10 位颜色

一直在努力设置我的机器 Thinkpad P52s(英特尔 UHD 620(i7 8550U)+ Nvidia Quadro P500)- 运行 Ubuntu 20.04 以在兼容显示器(华硕 PA329C - 最便宜的真正的每通道 10 位兼容面板)上显示正确的每通道 10 位(RGB)。

当我设置 xorg ( /usr/share/X11/xorg.conf.d/30-screensetup.conf 中的一个文件,如下所示https://linuxreviews.org/HOWTO_enable_10-bit_color_on_Linux) 我的红色和蓝色会反转。尽管我的 Xorg 日志显示“使用深度/fbpp 30/32”,但它仍然不是真正的 10 位颜色。

参考:我使用了以下指南/文件:
https://www.avsforum.com/threads/10-bit-gradient-test-patterns.2269338/
https://www.eizo-apac.com/support-service/tech-library/monitor-test
以及其他一些...

所有驱动程序均已正确安装...Nvidia-Xserver 还显示 XScreen 0 设置具有正确的色彩深度

lshw -c display: 
  GNU nano 4.8                                                                                                 lshwout.txt                                                                                                            
  *-display
       description: VGA compatible controller
       product: UHD Graphics 620
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       version: 07
       width: 64 bits
       clock: 33MHz
       capabilities: vga_controller bus_master cap_list rom
       configuration: driver=i915 latency=0
       resources: irq:159 memory:e7000000-e7ffffff memory:c0000000-cfffffff ioport:e000(size=64) memory:c0000-dffff
  *-display
       description: 3D controller
       product: GP108GLM [Quadro P500 Mobile]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:02:00.0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: bus_master cap_list
       configuration: driver=nvidia latency=0
       resources: irq:168 memory:e8000000-e8ffffff memory:70000000-7fffffff memory:80000000-81ffffff ioport:d000(size=128)

Xorg.0.log

    13.740]    ABI class: X.Org ANSI C Emulation, version 0.4
[    13.740] (II) Loading sub module "ramdac"
[    13.740] (II) LoadModule: "ramdac"
[    13.740] (II) Module "ramdac" already built-in
[    13.741] (WW) Falling back to old probe method for modesetting
[    13.751] (WW) Falling back to old probe method for fbdev
[    13.751] (II) Loading sub module "fbdevhw"
[    13.751] (II) LoadModule: "fbdevhw"
[    13.751] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[    13.751] (II) Module fbdevhw: vendor="X.Org Foundation"
[    13.751]    compiled for 1.20.9, module version = 0.0.2
[    13.751]    ABI class: X.Org Video Driver, version 24.1
[    13.767] (II) modeset(G0): using drv /dev/dri/card0
[    13.767] (II) NVIDIA(0): Creating default Display subsection in Screen section
        "Default Screen" for depth/fbbpp 30/32
[    13.767] (**) NVIDIA(0): Depth 30, (--) framebuffer bpp 32
[    13.767] (==) NVIDIA(0): RGB weight 101010
[    13.767] (==) NVIDIA(0): Default visual is TrueColor
[    13.767] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[    13.768] (II) Applying OutputClass "nvidia" options to /dev/dri/card1
[    13.768] (II) Applying OutputClass "Nvidia Prime" options to /dev/dri/card1
[    13.768] (**) NVIDIA(0): Option "AllowEmptyInitialConfiguration"
[    13.768] (**) NVIDIA(0): Enabling 2D acceleration
[    13.768] (II) Loading sub module "glxserver_nvidia"
[    13.768] (II) LoadModule: "glxserver_nvidia"
[    13.768] (II) Loading /usr/lib/x86_64-linux-gnu/nvidia/xorg/libglxserver_nvidia.so
[    13.790] (II) Module glxserver_nvidia: vendor="NVIDIA Corporation"
[    13.790]    compiled for 1.6.99.901, module version = 1.0.0
[    13.790]    Module class: X.Org Server Extension
[    13.790] (II) NVIDIA GLX Module  460.80  Fri May  7 06:50:15 UTC 2021
[    13.791] (II) NVIDIA: The X server supports PRIME Render Offload.
[    13.792] (II) NVIDIA(0): NVIDIA GPU Quadro P500 (GP108GL-A) at PCI:2:0:0 (GPU-0)
[    13.792] (--) NVIDIA(0): Memory: 2097152 kBytes
[    13.792] (--) NVIDIA(0): VideoBIOS: 86.08.28.00.63
[    13.792] (II) NVIDIA(0): Detected PCI Express Link width: 4X
[    13.792] (II) NVIDIA(0): Validated MetaModes:
[    13.792] (II) NVIDIA(0):     "NULL"
[    13.792] (II) NVIDIA(0): Virtual screen size determined to be 640 x 480
[    13.792] (WW) NVIDIA(0): Unable to get display device for DPI computation.
[    13.792] (==) NVIDIA(0): DPI set to (75, 75); computed from built-in default
[    13.792] (II) modeset(G0): Creating default Display subsection in Screen section
        "Default Screen" for depth/fbbpp 30/32

xwininfo 显示如下。有趣的是,它在 24 位深度下显示相同/相似。有时深度为 30,有时为 32。不确定它是否包括 alpha 通道并显示缓冲区大小?我可以将帧缓冲区大小更改为 40 以确保我获得每 10 位的 RGBA 吗?这能解决问题吗?

xwininfo as run in depth = 24 xorg session:

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x3e0000a "rime@RimezWorkstation: ~"

  Absolute upper-left X:  39
  Absolute upper-left Y:  12
  Relative upper-left X:  39
  Relative upper-left Y:  12
  Width: 2596
  Height: 1487
  Depth: 32
  Visual: 0xa2
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x3e00009 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +39+12  -1205+12  -1205-661  +39-661
  -geometry 230x63+39+12

nvidia-smi 给出:

Sun Jun 20 15:05:58 2021       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.80       Driver Version: 460.80       CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  Quadro P500         Off  | 00000000:02:00.0 Off |                  N/A |
| N/A   63C    P0    N/A /  N/A |    358MiB /  2002MiB |     18%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1528      G   /usr/lib/xorg/Xorg                246MiB |
|    0   N/A  N/A      2149      G   /usr/bin/gnome-shell              111MiB |
+-----------------------------------------------------------------------------+

xorg.conf.d 中的 nvidia-prime.conf 如下所示:

Section "OutputClass"
    Identifier "Nvidia Prime"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "IgnoreDisplayDevices" "CRT"
    Option "PrimaryGPU" "Yes"
    ModulePath "/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

gpu 管理器日志如下所示:

  GNU nano 4.8                             /var/log/gpu-manager.log                                        
log_file: /var/log/gpu-manager.log
last_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot
new_boot_file: /var/lib/ubuntu-drivers-common/last_gfx_boot
can't access /opt/amdgpu-pro/bin/amdgpu-pro-px
Looking for nvidia modules in /lib/modules/5.4.0-74-generic/updates/dkms
Looking for amdgpu modules in /lib/modules/5.4.0-74-generic/updates/dkms
Is nvidia loaded? yes
Was nvidia unloaded? no
Is nvidia blacklisted? no
Is intel loaded? yes
Is radeon loaded? no
Is radeon blacklisted? no
Is amdgpu loaded? no
Is amdgpu blacklisted? no
Is amdgpu versioned? no
Is amdgpu pro stack? no
Is nouveau loaded? no
Is nouveau blacklisted? yes
Is nvidia kernel module available? no
Is amdgpu kernel module available? no
Vendor/Device Id: 8086:5917
BusID "PCI:0@0:2:0"
Is boot vga? yes
Vendor/Device Id: 10de:1d33
BusID "PCI:2@0:0:0"
can't open /sys/bus/pci/devices/0000:02:00.0/boot_vga
Is boot vga? no
can't open /sys/bus/pci/devices/0000:02:00.0/boot_vga
can't access /etc/u-d-c-nvidia-runtimepm-override file
Found json file: /usr/share/doc/nvidia-driver-460/supported-gpus.json
Looking for device ID "0x1d33" in json file
Device ID 0x1D33 found in json file
Device name: Quadro P500
Looking for availability of "runtimepm" feature
"runtimepm" feature not found
Linux 5.4 detected.
Is nvidia runtime pm supported for "0x1d33"? no
Checking power status in /proc/driver/nvidia/gpus/0000:02:00.0/power
Runtime D3 status:          Disabled
Is nvidia runtime pm enabled for "0x1d33"? no
Skipping "/dev/dri/card1", driven by "nvidia-drm"
Skipping "/dev/dri/card0", driven by "i915"
Skipping "/dev/dri/card1", driven by "nvidia-drm"
Skipping "/dev/dri/card0", driven by "i915"
Skipping "/dev/dri/card1", driven by "nvidia-drm"
Skipping "/dev/dri/card0", driven by "i915"
Skipping "/dev/dri/card1", driven by "nvidia-drm"
Found "/dev/dri/card0", driven by "i915"
output 0:
        card0-eDP-1
output 1:
        card0-DP-1
Number of connected outputs for /dev/dri/card0: 2
Does it require offloading? yes
last cards number = 2
Has amd? no
Has intel? yes
Has nvidia? yes
How many cards? 2
Has the system changed? No
Intel IGP detected
NVIDIA hybrid system
Creating /usr/share/X11/xorg.conf.d/11-nvidia-prime.conf
Setting power control to "on" in /sys/bus/pci/devices/0000:02:00.0/power/control

我必须说,只有在 PRIME 配置文件下 NVIDIA Xserver 设置设为高性能(即 NVIDIA 作为主 GPU?)时,颜色反转才会成为问题。当切换到“按需”配置文件时,颜色反转问题消失,但它夺走了我对 Nvidia 卡设置 X 屏幕深度的控制权。我只能获得 GPU 设置,而不再获得 X 屏幕显示配置设置。

但无论如何都无法获得真正的 10 种颜色 :(。请帮忙。

相关内容