因此,对于一些背景知识:我在使用双 GPU 设置的 HP 笔记本电脑上使用 Ubuntu 18.04。以前,我一直只使用 Nouveau 驱动程序,但最近我想添加第二台显示器,所以我切换到专有的 Nvidia 驱动程序 390.77(这本身就是一场冒险)。
现在的问题是,虽然辅助显示器(通过 HDMI 连接)工作正常,但主内置笔记本电脑屏幕却不能。在启动过程中,笔记本电脑屏幕上的一切都正常显示,包括 grub 菜单和启动日志。
但是,当日志到达“为 UID 120 启动用户管理器”(此时可能是图形驱动程序已启动)时,笔记本电脑屏幕冻结在那里,并且所有进一步的输出都显示在辅助监视器上。Ubuntu 显示设置仅识别单个显示器(外接显示器)nvidia-settings
,.
可能值得注意的是,我将这个系统与 Windows 10 一起双启动,并且在 Windows 下这个问题不会发生,两个显示器都工作得很好,就像你在那里所期望的那样。
现在,我个人怀疑这可能与双 GPU 有关,因为英特尔通常输出到笔记本电脑屏幕,而 Nvidia 通常输出到 HDMI 端口,但我不确定。
我曾尝试使用 Intel GPU sudo prime-select intel
,但在这种情况下,Nvidia 驱动程序根本没有加载,我只能使用笔记本电脑的主屏幕,而无法识别外接显示器(即类似于下面的行为新派)。此外,这会导致分辨率非常低,只能通过手动添加新模式来规避xrandr
。
至于一些可能相关的数据,这里是输出lswh -C video
:
*-display
description: VGA compatible controller
product: GP107M [GeForce GTX 1050 Ti Mobile]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:142 memory:b3000000-b3ffffff memory:a0000000-afffffff memory:b0000000-b1ffffff ioport:4000(size=128) memory:b4000000-b407ffff
*-display
description: VGA compatible controller
product: Intel Corporation
vendor: Intel Corporation
physical id: 2
bus info: pci@0000:00:02.0
version: 04
width: 64 bits
clock: 33MHz
capabilities: pciexpress msi pm vga_controller bus_master cap_list rom
configuration: driver=i915 latency=0
resources: irq:141 memory:b2000000-b2ffffff memory:c0000000-cfffffff ioport:5000(size=64) memory:c0000-dffff
这是xrandr
. 值得注意的是,笔记本电脑显示屏的常用名称 ,eDP-1
甚至没有在此处列出:
Screen 0: minimum 8 x 8, current 1920 x 1080, maximum 32767 x 32767
HDMI-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 598mm x 336mm
1920x1080 60.00*+ 59.94 50.00 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94
最后,这里是xorg.conf
:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 390.77 (buildmeister@swio-display-x64-rhel04-14) Tue Jul 10 23:19:22 PDT 2018
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
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"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection
一些类似的事情发生在我身上。原来是
/etc/X11/xorg.conf
文件里的东西引起的。幸运的是,我可以使用一个默认的 nvidia 配置文件。这解决了我的问题:
重置 X11 配置文件(仅由
nvidia-config
for 1 监视器默认生成)也为我解决了同样的问题:注意:这与之前评论中的解决方案相同,只是因为/etc/X11/xorg.conf.nvidia-xconfig-original实际上是空(零)文件。
我只是删除了 /etc/X11/xorg.conf 和 /etc/X11/xorg.conf.nvidia-xconfig-original 并重新启动。它对我有用!
我有同样的问题,删除
xorg.conf
文件并没有解决我的问题。在我的情况下,原因是我的英特尔设备没有被我的 Nvidia 服务器识别xorg
,因此我的 Nvidia 服务器。在您进一步移动之前,我应该注意此解决方案仅适用于
lightdm
(而不是gdm
)显示管理器。我不知道为什么。但是,尽管如此,我将其发布在这里,因为它可能对其他人有所帮助。请确保lightdm
在尝试此解决方案之前切换到。(见文末)。修改
xorg.conf
以使其识别解决了我的问题。所以如果这个文件已经被删除了,首先重新xorg.conf
创建/etc/X11/xorg.conf
然后在文件末尾添加以下行然后重新启动计算机。
请注意,您可以通过
sudo dpkg-reconfigure gdm
(或lightdm
)切换显示管理器,然后在对话框中选择您要使用的显示管理器。如果遇到问题,可以在恢复模式下启动 Ubuntu 并再次切换回来。在我的修复尝试中,我最终通过“try Ubuntu”从 U 盘启动了 Ubuntu。事实证明,在那种环境中,两台显示器都可以完美运行,无需任何进一步的配置。所以我得出结论,这个问题不一定与任何硬件配置有关,而是与我的 Ubuntu 配置中的一些错误有关。为此,解决方案最终归结为简单地重新安装 Ubuntu。
我采取的特定步骤,以防有人以某种方式发现自己处于类似情况:
我仍然不知道是什么导致了这个问题,但它再次表明,如果有疑问,您可能只想尝试扁平化系统并重新安装。
只是想根据这篇文章分享为 NVIDIA 安装新驱动程序后发生的事情https://9to5linux.com/nvidia-440-100-linux-graphics-driver-released-with-support-for-new-gpus
该驱动运行良好,(但因为它曾经失败,我在重新安装时没有使用 DKMS 选项),安装成功但 NVIDIA 只检测到我的外接显示器,我记得驱动安装还重新配置了我的旧
xorg.conf
文件/etc/X11
。因此,修复只是删除该文件或备份到某个地方,然后在您的外接显示器仍与笔记本电脑连接时重新启动。这将在首次启动期间检测您的显示器。