我有一台 ThinkPad W520,安装了 ubuntu 16.04 和 Nvidia 驱动程序,这些驱动程序是从 Ubuntu 存储库(或 PPA,我遇到的问题与 367.57 和 375.20 驱动程序相同)安装的。它是 Quadro 1000M 显示器。在 BIOS 设置为离散时,它可以正常工作。在离散模式下,脚本会删除 xorg.conf(好吧,移动它),配置可以正常工作。
当我将 BIOS 设置为 Optimus 并选择 nvidia 时,我无法访问笔记本电脑面板。在启动过程中,脚本会写入 xorg.conf。
xrandr 给出此输出
Screen 0: minimum 8 x 8, current 1920 x 2280, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1920x1080+0+1200 (normal left inverted right x axi#
1920x1080 60.00*+ 50.00••
DP-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518#
我无能为力,无法重新连接 LVDS-0。
笔记本电脑面板显示启动阶段留下的一些文本(驱动器清洁的报告)。进入虚拟控制台会使 DP1 屏幕变黑,控制台位于笔记本电脑面板中。恢复 X 会话会重新唤醒 DP1 屏幕,而笔记本电脑会恢复到启动文本屏幕。
我已经将 grub 设置为纯文本,但没什么变化。我猜我得到的 xorg.conf 有问题。
Section "ServerLayout"
Identifier "layout"
Screen 0 "nvidia"
Inactive "intel"
EndSection
Section "Device"
Identifier "intel"
Driver "modesetting"
BusID "PCI:0@0:2:0"
Option "AccelMethod" "None"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0:0:0"
Option "ConstrainCursor" "off"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
答案1
奇怪的是,对于如此老旧的硬件,升级到内核 4.8 会带来很大不同。无论是 16.10 还是 16.04 中提供的 4.8 内核(目前处于提议阶段)。
要使用 Optimus 或专用的 Nvidia 硬件进行启动,只需要一个内核启动参数:nox2pic nox2apic
我使用的是 16.04.1,但使用的是 16.04.2 的 4.8 内核
无需指定任何其他内容。也无需手动为 xorg.conf 文件提供亮度设置。事实上,我发现在 xorg.conf 中添加亮度处理的旧调整导致英特尔卡作为提供程序消失,我通过分块添加 /usr/share/X11/xorg.conf.d 的内容来解决问题。
因此,之后,使用 optimus 启动,在 Nvidia 中使用两个外接显示器,现在连接了两个 DP 显示器和内部屏幕(换句话说,英特尔卡和 Nvidia 卡现在都通过xrandr --listproviders
哪个显示是关键结果)。但是,虽然光标出现在笔记本电脑屏幕上,但背景是黑色的,无法拖动任何窗口。所以这是部分成功
更新:最后一个问题(黑色背景,没有可拖动的窗口)是 Unity。安装 XFCE 并使用 XFCE 会话有效:所有三个显示器都很好。我仍然使用 lightdm。Gnome 也可以,尽管我不使用它。
所以这对我来说已经足够了。所有三个显示器都从左到右水平排列。