我的 Nvidia Geforce GTX 850m 问题是:
- 撕裂一切(窗口移动、Smplayer 中的视频、Firefox 和 Chromium 中的在线视频、Firefox 和 Chromium 中的滚动)
- Nvidia Xserver 设置窗口上没有 vsync 设置。
我的驱动程序和系统信息是:
- 系统:Ubuntu 15.04
- 处理器:Intel Core i7-4700HQ CPU @ 2.40Ghz x 4
- 内存:7.7 GiB
- 硬盘:1 TB
显卡:
- 英特尔公司第四代酷睿处理器集成图形控制器。
- Nvidia GeForce GTX 850m。
- 驱动程序版本:346.59,来自 nvidia-346-update
它与 Windows 10 处于双重启动状态。
我尝试过的:
- xorg.conf 配置(三重缓冲区、usleep、powermizer 最大性能)
- X 服务器设置(OpenGL:最高性能、所有抗锯齿选项、所有 powermizer 选项)
ccsm
(同步至 Vblank、无定向、120hz 刷新率)- 我基本上尝试了有关“nvidia”“ubuntu”和“tearing”的所有发现。
我使用 Linux Mint,也遇到了同样的撕裂问题,以及其他严重的图形问题(随机冻结等)。到目前为止,我的 nvidia 卡在 Windows 10 上没有出现任何问题。
有人有解决办法吗?
答案1
我的笔记本电脑上有 K2000M 并使用 Linux Mint Cinnamon 17.2,也遇到了类似的问题。
特别是使用第二台显示器时,主显示器上会出现视频撕裂。
解决方案是ForceFullCompositionPipeline
与TripleBuffer
sudo nvidia-xconfig
如果 X11 配置文件 xorg.conf 不存在,则首先执行
sudo nano /etc/X11/xorg.conf
Option "TripleBuffer" "On"
并在下方添加以下行Section "Screen"
:
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "TripleBuffer" "On"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "LVDS-0: 1920x1080_60 +0+840, DP-4: 1920x1080_60 +1920+0 {rotation=left}"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
为了能够使用 ForceFullCompositionPipeline = On,可以修改Option "metamodes"
xorg.conf 中的行,但问题是,当使用辅助监视器时,~/.config 中的 monitors.xml 文件(用于显示管理器)将覆盖 X11 在登录时读取 xorg.conf 时发出的任何修改(看这里)。
对我来说,解决方案是在登录时运行脚本(使用系统 -> 偏好设置 -> 启动应用程序),命令如下:
nvidia-settings --assign="CurrentMetaMode=LVDS-0: 1920x1080_60 +0+840 { ForceFullCompositionPipeline = On }, DP-4: 1920x1080_60 +1920+0 { ForceFullCompositionPipeline = On, rotation=left }"
其中 LVDS-0 是我的主显示器,DP-4 是我的辅助显示器(用于xrandr -q
显示名称)
/var/log/Xorg.0.log 的最后几行现在显示:
...
[ 136.640] (II) NVIDIA(0): Setting mode "LVDS-0:1920x1080_60+0+840{ForceFullCompositionPipeline=On},DP-4:1920x1080_60+1920+0{ForceFullCompositionPipeline=On,rotation=left}"
...
视频撕裂现象也消失了……
希望这对 Ubuntu 有帮助