在电影中撕裂(没有Vsync)(Nvidia专有驱动程序)
这比KDE更多的是Ubuntu问题,但……
我在屏幕上有可见的撕裂。 KDE组合,Firefox中的Flashvideo以及像kpat这样的简单游戏都是神秘的,但在蒸汽游戏和电影中,有一种明显的不断撕裂。 如果我在任何地方都关闭了vsync,那么撕裂就会明显加倍,所以不只是GPU忽略了设置。
最让我感到困惑的是,我在许多不同的设置上遇到了同样的问题。 每个人都有这个问题而且没人关心吗?
我的设置
- Kubuntu(最后几个版本)或OpenSuse或Gentoo。
- KDE 4.12 – 4.13
- Nvidia GTX 260,570,TITAN,不同的驱动程序版本。
- 我在使用mplayer2后端的SMplayer中观看电影。 VLC也有同样的问题。
我尝试了什么 (并没有帮助)
- 在不同的配置中打开和关闭nvidia-settings和KDE桌面效果中的Vsync设置。
- 切换Mplayer输出和
direct rendering
设置。 - 在nvidia-settings中关闭自适应电源模式。
- 关闭合成
- 更改监视器Hz
- 从CLI运行mplayer
- 进行仪式和牺牲
什么工作 (但不是和可接受的解决方案)
- 禁用KDE,并在纯X会话中运行Mplayer
- 切换到nouveau并关闭合成并打开全屏video – 没有任何部分它仍在撕裂。
请指教。
更新1我发现如果我去桌面效果 – 高级并更改任何有价值的东西(OpenGL版本,缩放algorythm)并推送应用,撕裂就会消失,直到重新启动。 但是,没有任何设置可以一劳永逸地解决这个问题。 重新启动后,我必须再次改变一些东西。我想这足以归咎于一个错误,而不是我的错误,所以我会提交错误报告。
解决这个烦人问题的简单指南:)
-
创建文件:
/etc/profile.d/Tearing.sh
-
插入此代码:
export __GL_YIELD="USLEEP"
-
然后使其可执行:
chmod +x /etc/profile.d/Tearing.sh
-
完成后,重新启动或按ctrl + alt + F2,登录并运行
sudo service lightdm restart
或重启你的显示管理器。
GL_YIELD为我工作,现在垂直同步似乎正常工作。
( https://www.kubuntuforums.net/showthread.php?63946-No-vertical-sync-with-NVIDIA&highlight=tearing )
问题的根源(当然)是错误的nvidia驱动程序。 解决方案很简单。 添加环境变量:
export __GL_YIELD="USLEEP" export __GL_THREADED_OPTIMIZATIONS=1
在X开始之前的某个地方。 系统范围的/etc/profile/
工作正常。
我把它钉了……
所以 – 首先确保在关闭桌面效果后(Alt + Shift + F10)检查问题是否仍然存在。 我可以保证问题可能已经消失。
转到系统设置并打开桌面效果:
- 缩放方法除了设置当前< - 实际修复之外的其他内容
我知道这些选项可能没有完全如上所述。 对此感到抱歉,但我使用的是波兰版的Kubuntu。
上面的步骤为我解决了问题。 但只有在全新安装之后。 🙂
编辑:在目前的14.04 Kubuntu版本中,问题与缩放方法有关。 将其更改为当前所选的任何其他内容,有助于解决问题TEMPORARILY。
我已经尝试了所有的技巧,并且在Ubuntu 15.04(以及xorg-edgers和nvidia-355)上没有解决任何问题,直到我进入nvidia archlinux页面 。
测试:
nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
为了使更改成为永久更改,您需要将以下行添加到Xorg配置文件的“屏幕”部分,例如在/etc/X11/xorg.conf.d/20-nvidia.conf中
Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
删除NVIDIA驱动程序为我解决了。 对于XFCE,唯一有帮助的是替换窗口管理器。
我尝试了在两台计算机上观看Unity,Gnome和Gnome Classic中的video时尝试修复屏幕撕裂的一切建议(一个使用Nvidia Titan X,另一个使用旧的Radeon卡)。 没有任何效果。
然后我注意到当我将VLC设置中的video输出从OpenGL切换到X11时,撕裂消失但我开始得到很多随机的黑/白方块或“噪音”。
为了让video播放工作,我安装了使用OpenBox而不是OpenGL的Lubuntu Desktop。 Lubuntu是一个默认安装了LXDE的Ubuntu衍生产品。 它非常轻巧,非常适合在使用Kodi和Steam时在后台运行,或者只是观看video。
在快速拖动窗口时可能会发生窗口撕裂,但在这种情况下这对我来说并不重要,因为我在这台计算机上只使用Kodi和Steam全屏模式。
运行以下命令在Ubuntu上安装Lubuntu的自定义LXDE和vanilla LXDE:
sudo apt-get install lubuntu-desktop
请改用此命令仅安装vanilla LXDE:
sudo apt-get install lxde
您还可以通过下载Lubuntu live CD来激活 LXDE。
每个环境仅在默认设置上有所不同。 它们有不同的主题,壁纸和面板布局。 例如,Chromium浏览器是Lubuntu的默认浏览器,而Mozilla Firefox是vanilla LXDE的默认浏览器。 当然,您也可以使用任何您喜欢的浏览器。 它们都使用PCManFM文件管理器,它是GNOME中Nautilus文件管理器的轻量级替代品。
安装任一软件包后,注销并从登录屏幕中选择Lubuntu或LXDE会话。
我的video从未像Lubuntu那样出色。 我能够将频率提高到120Hz以匹配我的电视。 1920x1080p播放非常流畅。