Nouveau 可以工作,但 NVIDIA 在 3 显示器(2 个飞利浦和 1 个 TCL)系统中存在问题

Nouveau 可以工作,但 NVIDIA 在 3 显示器(2 个飞利浦和 1 个 TCL)系统中存在问题

与 Nouveau 驱动程序相比,NVIDIA 驱动程序存在以下缺陷:

  1. 它将我的 TCL 显示器限制为 1920w(所有显示器都支持 3840w)
  2. 下图中的显示排列经常与下图中的显示排列相反。这个 askubuntu 问题——通常在非活动超时后输入密码重新激活。屏幕不反映其物理布置而是并排布置的布置似乎不受影响。

在此处输入图片描述

在 nouveau 驱动程序处于活动状态时:

$ uname -a
Linux jaboweryML 6.5.0-28-generic #29~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Thu Apr  4 14:39:20 UTC 2 x86_64 x86_64 x86_64 GNU/Linux

$ sudo lshw -class display
[sudo] password for jabowery: 
  *-display                 
       description: VGA compatible controller
       product: GA104 [GeForce RTX 3070 Ti]
       vendor: NVIDIA Corporation
       physical id: 0
       bus info: pci@0000:09:00.0
       logical name: /dev/fb0
       version: a1
       width: 64 bits
       clock: 33MHz
       capabilities: pm msi pciexpress vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=nouveau latency=0 resolution=3840,2160
       resources: irq:108 memory:fb000000-fbffffff memory:d0000000-dfffffff memory:e0000000-e1ffffff ioport:e000(size=128) memory:c0000-dffff

 $ xrandr
Screen 0: minimum 16 x 16, current 7680 x 4320, maximum 32767 x 32767

XWAYLAND0 connected 3840x2160+2023+0 (normal left inverted right x axis y axis) 1110mm x 620mm
   3840x2160     29.98*+
   2048x1536     29.95  
...
XWAYLAND1 connected primary 3840x2160+3840+2160 (normal left inverted right x axis y axis) 600mm x 340mm
   3840x2160     59.98*+
   2048x1536     59.95  
...
XWAYLAND2 connected 3840x2160+0+2160 (normal left inverted right x axis y axis) 600mm x 340mm
   3840x2160     59.98*+
   2048x1536     59.95  
...

$ sudo dmesg | grep -iE "drm|display"
[    0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.5.0-28-generic root=UUID=57cf3490-db84-4071-8c09-ceb97e4bc676 ro nvidia-drm.modeset=1
[    0.124437] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.5.0-28-generic root=UUID=57cf3490-db84-4071-8c09-ceb97e4bc676 ro nvidia-drm.modeset=1
[    2.500157] systemd[1]: Starting Load Kernel Module drm...
[    2.523083] ACPI: bus type drm_connector registered
[    2.528328] systemd[1]: [email protected]: Deactivated successfully.
[    2.528976] systemd[1]: Finished Load Kernel Module drm.
[    2.546654] evdi evdi.0: [drm] Cannot find any crtc or sizes
[    2.547152] [drm] Initialized evdi 1.14.4 20240410 for evdi.0 on minor 0
[    2.547210] evdi evdi.1: [drm] Cannot find any crtc or sizes
[    2.547330] [drm] Initialized evdi 1.14.4 20240410 for evdi.1 on minor 1
[    2.547381] evdi evdi.2: [drm] Cannot find any crtc or sizes
[    2.547538] [drm] Initialized evdi 1.14.4 20240410 for evdi.2 on minor 2
[    2.551746] evdi evdi.3: [drm] Cannot find any crtc or sizes
[    2.552219] [drm] Initialized evdi 1.14.4 20240410 for evdi.3 on minor 3
[    3.247232] nouveau 0000:09:00.0: DRM: VRAM: 8192 MiB
[    3.247237] nouveau 0000:09:00.0: DRM: GART: 536870912 MiB
[    3.247240] nouveau 0000:09:00.0: DRM: BIT table 'A' not found
[    3.247242] nouveau 0000:09:00.0: DRM: BIT table 'L' not found
[    3.247244] nouveau 0000:09:00.0: DRM: TMDS table version 2.0
[    3.247247] nouveau 0000:09:00.0: DRM: DCB version 4.1
[    3.247250] nouveau 0000:09:00.0: DRM: DCB outp 00: 04800f86 04600020
[    3.247253] nouveau 0000:09:00.0: DRM: DCB outp 01: 04000f82 00020020
[    3.247255] nouveau 0000:09:00.0: DRM: DCB outp 02: 04811f76 04600010
[    3.247258] nouveau 0000:09:00.0: DRM: DCB outp 03: 04011f72 00020010
[    3.247260] nouveau 0000:09:00.0: DRM: DCB outp 04: 02822f66 04600020
[    3.247262] nouveau 0000:09:00.0: DRM: DCB outp 05: 02022f62 00020020
[    3.247265] nouveau 0000:09:00.0: DRM: DCB outp 07: 02033f52 00020010
[    3.247267] nouveau 0000:09:00.0: DRM: DCB conn 00: 02000046
[    3.247269] nouveau 0000:09:00.0: DRM: DCB conn 01: 01000146
[    3.247271] nouveau 0000:09:00.0: DRM: DCB conn 02: 00020246
[    3.247273] nouveau 0000:09:00.0: DRM: DCB conn 03: 00010361
[    3.247983] nouveau 0000:09:00.0: DRM: MM: using COPY for buffer copies
[    3.251558] [drm] Initialized nouveau 1.3.1 20120801 for 0000:09:00.0 on minor 4
[    3.919154] fbcon: nouveaudrmfb (fb0) is primary device
[    4.774965] nouveau 0000:09:00.0: [drm] fb0: nouveaudrmfb frame buffer device
[    6.968525] workqueue: drm_fb_helper_damage_work [drm_kms_helper] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND
[    8.648527] workqueue: output_poll_execute [drm_kms_helper] hogged CPU for >10000us 4 times, consider switching to WQ_UNBOUND

切换到 nvidia 驱动程序(已测试)后,这些命令产生以下结果:

$ nvidia-smi
Wed May  1 16:57:33 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 535.171.04             Driver Version: 535.171.04   CUDA Version: 12.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  NVIDIA GeForce RTX 3070 Ti     Off | 00000000:09:00.0  On |                  N/A |
| 30%   41C    P3              48W / 290W |    945MiB /  8192MiB |      1%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      3800      G   /usr/bin/gnome-shell                        941MiB |
+---------------------------------------------------------------------------------------+
$ dpkg -l | grep ^ii.*nvidia
ii  libnvidia-cfg1-535:amd64                         535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-535                             535.171.04-0ubuntu0.22.04.1                                     all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-535:amd64                      535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA libcompute package
ii  libnvidia-compute-535:i386                       535.171.04-0ubuntu0.22.04.1                                     i386         NVIDIA libcompute package
ii  libnvidia-decode-535:amd64                       535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-535:i386                        535.171.04-0ubuntu0.22.04.1                                     i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-535:amd64                       535.171.04-0ubuntu0.22.04.1                                     amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-535:i386                        535.171.04-0ubuntu0.22.04.1                                     i386         NVENC Video Encoding runtime library
ii  libnvidia-extra-535:amd64                        535.171.04-0ubuntu0.22.04.1                                     amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-535:amd64                         535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-535:i386                          535.171.04-0ubuntu0.22.04.1                                     i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-535:amd64                           535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-535:i386                            535.171.04-0ubuntu0.22.04.1                                     i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  linux-modules-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28
ii  linux-modules-nvidia-535-generic-hwe-22.04       6.5.0-28.29~22.04.1+2                                           amd64        Extra drivers for nvidia-535 for the generic-hwe-22.04 flavour
ii  linux-objects-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-535-server-6.5.0-28-generic 6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-signatures-nvidia-6.5.0-28-generic         6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel signatures for nvidia modules for version 6.5.0-28-generic
ii  nvidia-compute-utils-535                         535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA compute utilities
ii  nvidia-driver-535                                535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA driver metapackage
ii  nvidia-firmware-535-535.171.04                   535.171.04-0ubuntu0.22.04.1                                     amd64        Firmware files used by the kernel module
ii  nvidia-kernel-common-535                         535.171.04-0ubuntu0.22.04.1                                     amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-535                         535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA kernel source package
ii  nvidia-prime                                     0.8.17.1                                                        all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                                  510.47.03-0ubuntu1                                              amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-535                                 535.171.04-0ubuntu0.22.04.1                                     amd64        NVIDIA driver support binaries
ii  screen-resolution-extra                          0.18.2                                                          all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-535                    535.171.04-0ubuntu0.22.04.1                            
$ dpkg -l | grep ^ii.*nvidia|grep -v 535.171.04
ii  linux-modules-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28
ii  linux-modules-nvidia-535-generic-hwe-22.04       6.5.0-28.29~22.04.1+2                                           amd64        Extra drivers for nvidia-535 for the generic-hwe-22.04 flavour
ii  linux-objects-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-535-server-6.5.0-28-generic 6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-signatures-nvidia-6.5.0-28-generic         6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel signatures for nvidia modules for version 6.5.0-28-generic
ii  nvidia-prime                                     0.8.17.1                                                        all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                                  510.47.03-0ubuntu1                                              amd64        Tool for configuring the NVIDIA graphics driver
ii  screen-resolution-extra                          0.18.2                                                          all          Extension for the nvidia-settings control panel

切换到 545.29.06 并重新启动会产生以下结果:

$ nvidia-smi
Thu May  2 14:32:29 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 545.29.06              Driver Version: 545.29.06    CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| 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  NVIDIA GeForce RTX 3070 Ti     Off | 00000000:09:00.0  On |                  N/A |
| 30%   40C    P3              48W / 290W |   1601MiB /  8192MiB |      9%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+
                                                                                         
+---------------------------------------------------------------------------------------+
| Processes:                                                                            |
|  GPU   GI   CI        PID   Type   Process name                            GPU Memory |
|        ID   ID                                                             Usage      |
|=======================================================================================|
|    0   N/A  N/A      3551      G   /usr/lib/xorg/Xorg                          846MiB |
|    0   N/A  N/A      3890      G   /usr/bin/gnome-shell                        204MiB |
|    0   N/A  N/A      6659      G   gnome-control-center                         43MiB |
|    0   N/A  N/A      7084      G   ...,262144 --variations-seed-version=1      494MiB |
+---------------------------------------------------------------------------------------+
$ dpkg -l | grep ^ii.*nvidia
ii  libnvidia-cfg1-545:amd64                         545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA binary OpenGL/GLX configuration library
ii  libnvidia-common-545                             545.29.06-0ubuntu0.22.04.2                                      all          Shared files used by the NVIDIA libraries
ii  libnvidia-compute-545:amd64                      545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA libcompute package
ii  libnvidia-compute-545:i386                       545.29.06-0ubuntu0.22.04.2                                      i386         NVIDIA libcompute package
ii  libnvidia-decode-545:amd64                       545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA Video Decoding runtime libraries
ii  libnvidia-decode-545:i386                        545.29.06-0ubuntu0.22.04.2                                      i386         NVIDIA Video Decoding runtime libraries
ii  libnvidia-encode-545:amd64                       545.29.06-0ubuntu0.22.04.2                                      amd64        NVENC Video Encoding runtime library
ii  libnvidia-encode-545:i386                        545.29.06-0ubuntu0.22.04.2                                      i386         NVENC Video Encoding runtime library
ii  libnvidia-extra-545:amd64                        545.29.06-0ubuntu0.22.04.2                                      amd64        Extra libraries for the NVIDIA driver
ii  libnvidia-fbc1-545:amd64                         545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-fbc1-545:i386                          545.29.06-0ubuntu0.22.04.2                                      i386         NVIDIA OpenGL-based Framebuffer Capture runtime library
ii  libnvidia-gl-545:amd64                           545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  libnvidia-gl-545:i386                            545.29.06-0ubuntu0.22.04.2                                      i386         NVIDIA OpenGL/GLX/EGL/GLES GLVND libraries and Vulkan ICD
ii  linux-modules-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28
ii  linux-modules-nvidia-545-generic-hwe-22.04       6.5.0-28.29~22.04.1+2                                           amd64        Extra drivers for nvidia-545 for the generic-hwe-22.04 flavour
ii  linux-objects-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-535-server-6.5.0-28-generic 6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-signatures-nvidia-6.5.0-28-generic         6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel signatures for nvidia modules for version 6.5.0-28-generic
ii  nvidia-compute-utils-545                         545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA compute utilities
ii  nvidia-driver-545                                545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA driver metapackage
ii  nvidia-firmware-545-545.29.06                    545.29.06-0ubuntu0.22.04.2                                      amd64        Firmware files used by the kernel module
ii  nvidia-kernel-common-545                         545.29.06-0ubuntu0.22.04.2                                      amd64        Shared files used with the kernel module
ii  nvidia-kernel-source-545                         545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA kernel source package
ii  nvidia-prime                                     0.8.17.1                                                        all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                                  510.47.03-0ubuntu1                                              amd64        Tool for configuring the NVIDIA graphics driver
ii  nvidia-utils-545                                 545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA driver support binaries
ii  screen-resolution-extra                          0.18.2                                                          all          Extension for the nvidia-settings control panel
ii  xserver-xorg-video-nvidia-545                    545.29.06-0ubuntu0.22.04.2                                      amd64        NVIDIA binary Xorg driver
$ dpkg -l | grep ^ii.*nvidia|grep -v 545.29.06
ii  linux-modules-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28
ii  linux-modules-nvidia-545-generic-hwe-22.04       6.5.0-28.29~22.04.1+2                                           amd64        Extra drivers for nvidia-545 for the generic-hwe-22.04 flavour
ii  linux-objects-nvidia-535-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-535-server-6.5.0-28-generic 6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-objects-nvidia-545-6.5.0-28-generic        6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel nvidia modules for version 6.5.0-28 (objects)
ii  linux-signatures-nvidia-6.5.0-28-generic         6.5.0-28.29~22.04.1+2                                           amd64        Linux kernel signatures for nvidia modules for version 6.5.0-28-generic
ii  nvidia-prime                                     0.8.17.1                                                        all          Tools to enable NVIDIA's Prime
ii  nvidia-settings                                  510.47.03-0ubuntu1                                              amd64        Tool for configuring the NVIDIA graphics driver
ii  screen-resolution-extra                          0.18.2                                                          all          Extension for the nvidia-settings control panel

相关内容