NVIDIA - Ubuntu 20.04 - HDMI第二个显示器屏幕空白,但xrandr检测到它[在Launchpad和freedesktop的gitlab上报告的错误]

编辑于2020年10月15日:这是在内核和intel/drm驱动程序中发现的一个错误。
更多信息: https://gitlab.freedesktop.org/drm/intel/-/issues/2181

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1871721

原帖:

不知为何,通过HDMI连接的第二个显示器是黑屏的,但是xrandr和Nvidia设置都能检测到它。

    Screen 0: minimum 8 x 8, current 2720 x 1080, maximum 16384 x 16384
eDP-1-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
   1920x1080 60.00*+ 59.97 59.96 59.93
   1680x1050 59.95 59.88
   1600x1024 60.17
   1400x1050 59.98
   1600x900 59.99 59.94 59.95 59.82
   1280x1024 60.02
   1440x900 59.89
   1400x900 59.96 59.88
   1280x960 60.00
   1440x810 60.00 59.97
   1368x768 59.88 59.85
   1360x768 59.80 59.96
   1280x800 59.99 59.97 59.81 59.91
   1152x864 60.00
   1280x720 60.00 59.99 59.86 59.74
   1024x768 60.04 60.00
   960x720 60.00
   928x696 60.05
   896x672 60.01
   1024x576 59.95 59.96 59.90 59.82
   960x600 59.93 60.00
   960x540 59.96 59.99 59.63 59.82
   800x600 60.00 60.32 56.25
   840x525 60.01 59.88
   864x486 59.92 59.57
   800x512 60.17
   700x525 59.98
   800x450 59.95 59.82
   640x512 60.02
   720x450 59.89
   700x450 59.96 59.88
   640x480 60.00 59.94
   720x405 59.51 58.99
   684x384 59.88 59.85
   680x384 59.80 59.96
   640x400 59.88 59.98
   576x432 60.06
   640x360 59.86 59.83 59.84 59.32
   512x384 60.00
   512x288 60.00 59.92
   480x270 59.63 59.82
   400x300 60.32 56.34
   432x243 59.92 59.57
   320x240 60.05
   360x202 59.51 59.13
   320x180 59.84 59.32
DP-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-1 disconnected (normal left inverted right x axis y axis)
HDMI-1-2 connected 800x600+1920+0 (normal left inverted right x axis y axis) 1600mm x 900mm
   1920x1080 60.00 + 50.00 59.94 30.00 25.00 24.00 29.97 23.98
   1920x1080i 60.00 50.00 59.94
   1280x1024 60.02
   1360x768 60.02
   1152x864 59.97
   1280x720 59.81 60.00 50.00 59.94
   1024x768 60.00
   800x600 60.32*
   720x576 50.00
   720x576i 50.00
   720x480 60.00 59.94
   640x480 60.00 59.94
   720x400 70.08
DP-1-2 disconnected (normal left inverted right x axis y axis)
HDMI-1-3 disconnected (normal left inverted right x axis y axis)

我尝试了Nvidia的专有驱动程序和Nouveau的驱动程序,结果都一样。 在Ubuntu 18.04上使用LTS内核(是4.15吗?)完美运行。Windows 10也是一样。 从19.10开始就不工作了。
nvidia-drm modeset设置为0(nvidia-drm modeset=0)。
笔记本电脑:Asus Intel处理器:i5-6300 显卡:Nvidia GTX960m
附注:使用nomodeset可以正常工作。但是,使用专有驱动程序和nouveau仍然无法工作。
附注2:我尝试过只使用Nvidia和只使用Intel图形。没有结果。
附注3:我尝试了使用Live USB,第二个显示器也无法工作。它只能检测到第二个显示器,但在第二个显示器上我只能看到一个空白屏幕。我已经厌倦了尝试各种方法来解决这个问题,看了很多网页。如果有人遇到类似的问题或者有什么建议,请告诉我。我不想再用W10了。谢谢!

你尝试过 sudo dpkg-reconfigure gdm3 吗?:https://askubuntu.com/a/1229479/925971 - Gryu
是的,我做了。但还是不起作用。 - Noctis
当你运行nvidia-settings时,你是否在左上角看到prime设置?安装了哪个版本的驱动程序? - hsyn26
请确保您正在使用NVIDIA显卡,方法是检查设置->详细信息->图形。 - hsyn26
是的,我已经安装了nvidia-prime,并且它显示在那里。我正在使用440.64版本。是的,我确定在使用Nvidia。具体来说,是Nvidia的按需模式。 - Noctis
Fn + F8 是什么功能? - ExploitFate
不对,在设置-显示中,我启用了镜像屏幕、双显示器和仅使用一个显示器。但是第二个显示器都没有工作。 - Noctis
1Windows技术和所有工作在我升级19.10到20.04之后:第二个显示器被识别,鼠标工作但屏幕完全黑屏,只有任务栏可见,所有图标消失但在~/Desktop中可见,并且无法右键点击它,也无法更改背景。在一些不成功的尝试之后(例如检查驱动程序和重新启动电脑),我只关闭了显示器,任务栏移动到另一个显示器上,然后再次打开它。现在一切正常运行。 - Alex Poca
也发生在我身上,有些人说这是新的NVIDIA驱动程序的一个bug。不知为什么VGA电缆却可以正常工作。 - Mattia
相关链接:我在这里添加了一个答案,可能对遇到这个问题的人有所帮助:Nvidia驱动安装后又出现黑屏问题 - Gabriel Staples
5个回答

  1. 在文件/usr/share/X11/xorg.conf.d/10-nvidia.conf中,添加以下行:

    Option "PrimaryGPU" "Yes"
    
  2. 在文件/usr/share/X11/xorg.conf.d/10-amdgpu.conf中,将以下行进行修改:

    Driver "amdgpu"
    

    改为

    Driver "modesetting"
    

你好,Swaraj。很高兴你成功地更改了那些文件。我之前也尝试过这样做,但在我的情况下并没有起作用。 - Noctis
谢谢!这对我非常有效。带有 Ryzen 7 4700H 和 Nvidia GTX 1650 的笔记本电脑。 - Pedro Náñez


Noctis - 如果我们按照“你可以强制升级,但需要按照以下步骤进行操作:

如果更新管理器仍在运行,请关闭它 以与打开更新管理器相同的方式打开终端 输入update-manager -d并按回车键" -- 那我们还不如成为Windows的爱好者 -- 甚至对如何重新安排任何早期可能需要的非循环基本要素都有更粗糙的想法。??

c/f

“最终版本”是“开发版本”吗?

shalom


中间(6个月)发布用户:在接下来的几个月中,您确实需要使用-d进行升级。由于这是一个LTS版本,常规的(非-d)升级将要等到20.04.1才会提供。原因是:有一个机制,无法区分中间版本和LTS版本。这是LTS版本的正常行为,并且每两年发生一次。 - mcpherson robert
抱歉,不知道你的观点是什么。我的步骤是这样的: Ubuntu 18.04没有Nvidia的按需功能,所以我尝试了19.10版本。这个版本让我无法使用第二个显示器(我等到了20.04 LTS)。我升级到了20.04,期望这个问题得到解决(但事实并非如此),所以我们现在处于20.04 LTS版本中,等待看看我能做些什么。因为我甚至不知道发生了什么,谁该负责(是Nvidia吗?还是内核和Nvidia共同的问题?)。 - Noctis

评论空间不足

-我提出的是,19.10或20.04出现的任何困难都不足为奇,因为它们都不是最终版本。所以你提到的有趣的事情。

可能的对比:(i)“我运行Ubuntu 18.04。我自己也遇到了这个问题。对我来说,解决办法是:将所有显示器连接到我的笔记本电脑上,进入设置->显示,只打开一个显示器(笔记本电脑),然后连接两个显示器但是黑屏,通过点击它们的名称(在它们之间切换)并点击输入来打开所有显示器。”(回答于2019年4月8日8:21 red777)-尽管我认为这可能相当可疑-与:

(ii)

借助这个解决方案,我意识到这只是一些基本数学和xrandr命令的问题,我将在这里简单地概述:

运行xrandr以确定您的显示输出的名称。在我的情况下,我有:

eDP-1(内部显示器) DP-2-2(外部显示器,Dell 1920x1080) DP-2-1(外部显示器,Eizo 1280x1024,向右旋转) 计算你的帧缓冲区的完整尺寸--fb,在我的情况下,我只想使用我的外部显示器:
图表
首先清除/重置 xrandr 设置
xrandr -s 0 然后关闭笔记本电脑的显示器
xrandr --output eDP-1 --off 然后将主显示器定位到0x0,设置为--primary,并将平移设置为其自身的分辨率:
xrandr --output DP-2-1 --auto --scale 1x1 --pos 0x0 --primary --panning 1920x1080 然后将第二个屏幕定位到右侧的1920x0,设置帧缓冲区并相应地旋转它:
xrandr --output DP-2-2 --auto --scale 1x1 --pos 1920x0 --fb 2944x1280 --right-of DP-2-1 --rotate left 将这些命令放入一个脚本中,我在插入时运行它可以帮助设置一切,并且在移除时会恢复到内部LCD屏幕。18.04多显示器问题 ???

这是一项繁重的工作,因为我需要连接每个显示器(作为一台笔记本电脑,我需要连接不同的显示器)。但我理解你的意思。但是...如果xrandr无法检测到显示器,这种解决方法有效吗?但是我的笔记本电脑和xrandr都能检测到它。是的,在非LTS版本和LTS版本之间,19.10到20.04有时会出现一些问题,但在19.10上它并没有起作用,所以... - Noctis

我用以下方法解决了这个问题: 编辑 /lib/modprobe.d/nvidia-kms.conf 然后在 options nvidia-drm modeset=0 这一行前加上 # 注释掉
也许还有其他方法可以禁用这个选项,但是我尝试了很多种方法,只有这个有效。

在我的情况下,我尝试了那个方法,但是没有任何改变。 - Noctis
在我的情况下也没有运气 :( - Scalway
我唯一拥有的就是在Launchpad上报告的错误 https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-440/+bug/1871721 - Noctis
modeset变量是什么意思? - IntegrateThis