在电影中撕裂(没有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)并推送应用,撕裂就会消失,直到重新启动。 但是,没有任何设置可以一劳永逸地解决这个问题。 重新启动后,我必须再次改变一些东西。我想这足以归咎于一个错误,而不是我的错误,所以我会提交错误报告。

解决这个烦人问题的简单指南:)

  1. 创建文件:

     /etc/profile.d/Tearing.sh 
  2. 插入此代码:

     export __GL_YIELD="USLEEP" 
  3. 然后使其可执行:

     chmod +x /etc/profile.d/Tearing.sh 
  4. 完成后,重新启动或按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播放非常流畅。