我换了一台新笔记本电脑,戴尔 Latitude E6520。这台笔记本电脑配有 NVidia/Intel 混合 GPU 设置。启用“NVidia Optimus”后,Linux(Ubuntu Oneiric)可以看到两个 GPU:
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation GF108 [Quadro NVS 4200M] (rev a1)
当我禁用“Nvidia Optimus”时,Linux 只会看到 NVidia GPU。使用商业 NVidia 驱动程序(仅当禁用 Optimus 时)一切正常,但我更愿意使用 Intel GPU。我可以通过启用 BIOS 中的“NVidia Optimus”设置并删除商业 NVidia 视频驱动程序来实现这一点。即使使用 3D 加速,Intel 驱动程序也能正常运行。但我的问题是:未检测到外部显示器。以下是 xrandr 的输出:
$ sudo xrandr -q
Screen 0: minimum 320 x 200, current 1600 x 900, maximum 8192 x 8192
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
1600x900 60.0*+ 40.0
1440x900 59.9
1360x768 59.8 60.0
1152x864 60.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
我尝试将显示器连接到 VGA、DVI 和 HDMI。输出始终相同。Gnome 显示设置对话框也只能看到笔记本电脑内部的显示屏。
那么我该如何将外接显示器与 Intel 驱动程序配合使用?或者 NVidia/Intel 混合设置中的外接显示器是否仅连接到 NVidia GPU,并且当连接外接显示器时,甚至 Windows 也必须切换到 NVidia GPU?
答案1
找到问题了。我应该提到我正在使用扩展坞。仔细查看后,我发现它上面还有一个 VGA 连接器。因此,当对接时,笔记本电脑的 VGA 端口似乎被停用了。但是使用英特尔 GPU 时,扩展坞上的 VGA 端口可以工作。我还必须从外接显示器上移除 DVI 电缆,因为否则它不会切换到 VGA 模式。
好吧,我本来希望使用 DVI 或 HDMI,但 VGA 也运行良好。所以我终于可以在双头模式下使用稳定的英特尔显卡了。Nouveau 和商用 NVidia 在 Gnome Shell 中漏洞太多,不符合我的口味。
答案2
您应该在 /etc/modprobe.d/blacklist.conf 中将 nvidia、nv 和 nouveau 模块列入黑名单 我不确定您的机器在运行英特尔 gpu 时是否支持外部显示器,我有一台联想 W520,在这台机器上运行时英特尔 gpu 不支持外部显示器。
答案3
最有可能的问题是 HDMI 输出连接到 NVidia,因此通常您无法使用外接显示器并且禁用 NVidia。