Ubuntu/Linux下DP接口4K 120Hz主显示器无法正常显示(仅显光标、拖窗异常)求助
Ubuntu/Linux下DP接口4K 120Hz主显示器无法正常显示(仅显光标、拖窗异常)求助
TLDR
- DP接口的主显示器默认无法工作
- 发现可以通过
nvidia-settings手动开启它 - 开启后能显示鼠标光标,也能临时拖窗口过去,但桌面环境完全不加载,拖窗会留残影,松开后窗口自动跳回副屏
- (异常表现:拖窗时会留下大量闪烁残影,画面复古感拉满,简直梦回Windows 95 😂)
问题详情
我的DP接口主显示器默认不被系统识别,只有在nvidia-settings里能找到它。手动强制开启后,显示器能亮,但桌面环境完全没显示——只能看到鼠标光标可以移过去,拖窗口到主显示器会留下闪瞎眼的残影,松开鼠标窗口还会自动跳回HDMI接口的副屏,甚至触发窗口贴边吸附的功能。
盼了好久终于把主力工作站迁到Linux,结果刚上手就卡在这里,真心求各位大佬给点思路!
硬件与系统背景
- 专门买了新SSD装Linux,原来的Windows系统用同样的显示器配置完全没问题
- 硬件配置:NVIDIA RTX 2070显卡,连接两台显示器:
- DP 1.4(8K线)→ 4K 120Hz主显示器
- HDMI 2.1(8K线)→ 1440p 60Hz副显示器
- HDMI接口的副显示器完全正常;主显示器接HDMI也能工作,但它只有HDMI 2.0输入,只能跑60Hz,而且显卡只有一个HDMI口,所以这不是可行方案
我的操作流程
- 先装了PopOS,遇到一模一样的问题,又换了最新版Ubuntu 23.10,结果还是只有副屏能正常工作
- 系统自带的显示设置里只能看到副屏,主显示器完全没踪影
- 打开
nvidia-settings:- 两台显示器都能被列出,但主显示器的分辨率设为
off - 把主显示器分辨率改成4K后,屏幕亮了,但全黑,只能看到鼠标能移过去
- 拖窗口到主显示器会留下闪烁残影,松开鼠标窗口直接跳回副屏还自动贴边
- 两台显示器都能被列出,但主显示器的分辨率设为
- 系统显示设置里依然看不到主显示器
我尝试过的解决方案
- 试过了“附加驱动”里所有可用的NVIDIA驱动版本,都没用;用nouveau开源驱动的话,4K@120Hz会花屏,主显示器只显示下半部分
- 用arandr工具配置主显示器,结果和
nvidia-settings完全一样 - 全程都关闭了Secure Boot(之前听说这个会影响闭源驱动的正常工作)
调试信息
刚安装完系统(未在nvidia-settings强制开屏)的输出
xrandr 命令结果:
$ xrandr Screen 0: minimum 8 x 8, current 1440 x 2560, maximum 32767 x 32767 DVI-D-0 disconnected (normal left inverted right x axis y axis) HDMI-0 connected primary 1440x2560+0+0 left (normal left inverted right x axis y axis) 597mm x 336mm 2560x1440 59.95*+ 1920x1080 60.00 59.94 50.00 1680x1050 59.95 1600x900 60.00 1440x900 59.89 1280x1024 75.02 60.02 1280x800 59.81 1280x720 60.00 59.94 50.00 1152x864 75.00 1024x768 75.03 70.07 60.00 800x600 75.00 72.19 60.32 56.25 720x576 50.00 720x480 59.94 640x480 75.00 72.81 59.94 DP-0 disconnected (normal left inverted right x axis y axis) DP-1 disconnected (normal left inverted right x axis y axis) DP-2 connected (normal left inverted right x axis y axis) 3840x2160 60.00 + 119.91 59.94 50.00 30.00 29.97 25.00 23.98 2560x1440 120.00 1920x2160 143.84 1920x1080 119.88 60.00 59.94 50.00 1680x1050 59.95 1440x900 59.89 1280x1024 60.02 1280x960 60.00 1280x800 59.81 1280x720 60.00 59.94 50.00 1024x768 60.00 800x600 75.00 60.32 56.25 720x576 50.00 720x480 59.94 640x480 59.94 59.93 DP-3 disconnected (normal left inverted right x axis y axis) USB-C-0 disconnected (normal left inverted right x axis y axis)
sudo dmesg | grep nvidia 命令结果:
$ sudo dmesg | grep nvidia [ 6.759834] nvidia-gpu 0000:2b:00.3: enabling device (0000 -> 0002) [ 7.154534] nvidia-nvlink: Nvlink Core is being initialized, major device number 236 [ 7.155955] nvidia 0000:2b:00.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=none [ 7.320920] nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms 535.113.01 Tue Sep 12 19:45:42 UTC 2023 [ 7.332442] [drm] [nvidia-drm] [GPU ID 0x00002b00] Loading driver [ 8.402918] [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:2b:00.0 on minor 0 [ 8.562022] nvidia_uvm: module uses symbols nvUvmInterfaceDisableAccessCntr from proprietary module nvidia, inheriting taint. [ 8.586552] nvidia-uvm: Loaded the UVM driver, major device number 511. [ 3464.800039] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.800102] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.800141] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.800173] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.874065] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.874126] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.874159] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.874190] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.950322] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.950383] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.950417] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership [ 3464.950448] [drm:nv_drm_master_set [nvidia_drm]] *ERROR* [nvidia-drm] [GPU ID 0x00002b00] Failed to grab modeset ownership
nvidia-smi 命令结果:
$ nvidia-smi Sat Mar 16 15:41:21 2024 +---------------------------------------------------------------------------------------+ | NVIDIA-SMI 535.113.01 Driver Version: 535.113.01 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 2070 Off | 00000000:2B:00.0 On | N/A | | 0% 45C P8 22W / 175W | 418MiB / 8192MiB | 18% Default | | | | N/A | +-----------------------------------------+----------------------+----------------------+ +---------------------------------------------------------------------------------------+ | Processes: | | GPU GI CI PID Type Process name GPU Memory | | ID ID Usage | |=======================================================================================| | 0 N/A N/A 4391 G /usr/lib/xorg/Xorg 138MiB | | 0 N/A N/A 4632 G /usr/bin/gnome-shell 63MiB | | 0 N/A N/A 5567 G /usr/bin/gnome-control-center 11MiB | | 0 N/A N/A 5713 G ...irefox/3216/usr/lib/firefox/firefox 141MiB | | 0 N/A N/A 7164 G /usr/bin/gnome-text-editor 11MiB | +---------------------------------------------------------------------------------------+
在nvidia-settings里强制开启主显示器后的/etc/X11/xorg.conf内容:
$ cat /etc/X11/xorg.conf # nvidia-settings: X configuration file generated by nvidia-settings # nvidia-settings: version 510.47.03 Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" Option "Xinerama" "0" EndSection Section "Files" EndSection Section "Module" Load "dbe" Load "extmod" Load "type1" Load "freetype" Load "glx" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" # HorizSync source: edid, VertRefresh source: edid Identifier "Monitor0" VendorName "Unknown" ModelName "Samsung S27H85x" HorizSync 27.0 - 89.0 VertRefresh 50.0 - 75.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce RTX 2070" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "DFP-4" Option "metamodes" "HDMI-0: nvidia-auto-select +0+0 {rotation=left}, DP-2: 3840x2160_120 +1440+0" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection
备注:内容来源于stack exchange,提问作者Erling T




