解决方案更新
下面的答案已更新,包括我对屏幕撕裂的解决方案,即在具有双 GPU 设置(英特尔集成显卡和 nvidia GPU)的笔记本电脑中使用 PRIME 同步激活 vsync。
水平线问题在 Ubuntu 18.04 中不再出现,这可能是由于 Unity 的消亡和 GNOME 的回归。
我有一台配备集成英特尔显卡和 NVIDIA GeForce GTX 860M 的 MSI GS60 2PC Ghost Pro,并且双启动 Windows 10 和 Ubuntu 16.04。Windows 上的图形完全没有问题,但在 Ubuntu 上播放高清视频或游戏时,屏幕上出现了明显的水平线,并且屏幕撕裂非常烦人。
我使用的是 NVIDIA 驱动程序版本 381.09,使用版本 375.39 时也出现了同样的问题。NVIDIA X Server 似乎对我没什么帮助,因为无法在那里进行任何更改。我还安装了 Bumblebee,但我不知道如何使用它(我应该先卸载 X Server 吗?)。
我努力了这,这,这,这和这个一没有成功,但我相信最后一个链接是最接近我的答案的。
我的 /etc/X11/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"
Option "TearFree" "True"
EndSection
Section "Screen"
Identifier "intel"
Device "intel"
EndSection
Section "Device"
Identifier "nvidia"
Driver "nvidia"
BusID "PCI:1@0:0:0"
Option "ConstrainCursor" "off"
Option "TripleBuffer" "True"
EndSection
Section "Screen"
Identifier "nvidia"
Device "nvidia"
Option "AllowEmptyInitialConfiguration" "on"
Option "IgnoreDisplayDevices" "CRT"
EndSection
但之后什么都没有改变。这真的很烦人,真的让我的眼睛很疲劳,我觉得比我第一次在这台机器上安装 Ubuntu 时更糟糕了。我只是还没有尝试格式化我的整个系统,但我可能会这样做,因为我在操作系统之间的 wifi 和蓝牙驱动程序(或固件)方面也遇到了问题。
有什么建议吗?如果需要其他输出,请告诉我,我会编辑问题。
更新:我注意到,使用帖子中附带的 xorg.conf 切换到 NVIDIA X Server 上的 Intel GPU 解决了这个问题,但使用 NVIDIA GPU 时问题仍然存在。我还尝试增加 CompizConfig 设置管理器(在 Composite 下)的刷新率,但这并没有消除水平线的移动。当我将屏幕亮度调到最大时,我再也看不到线条了,尽管我很确定它们还在那里。
答案1
更新(2018 年 7 月):
现在使用 Ubuntu 18.04,我安装了驱动程序版本 390,并将内核参数nvidia-drm.modeset=1
添加到 GRUB 启动顺序中。
使用 nvidia GPU 时,没有出现屏幕撕裂现象,并且屏幕分辨率正确。
可以通过运行来检查 PRIME 同步是否已激活xrandr --verbose | grep "PRIME"
,输出将显示
PRIME Synchronization: 1
我还没有测试过,但显然 NVIDIA 已经通过新的“PRIME Sync”功能解决了这个问题,具体描述如下这里。
因此,需要有 v4.5 以上的 Linux 内核才能使用它,但所有要求均在上面链接中列出。
NVIDIA 开发人员还警告我出现了一些问题(可以在这里) 也许最好等一段时间,直到问题解决。
至于水平线,我仍然不确定。也许将 Ubuntu 更新到 17.04 并修复 GPU 问题会有所帮助。如果我发现任何问题,我会更新与此相关的答案。