Eri*_*ris 4 nvidia laptop tearing 18.04
我最近切换到 Ubuntu 18.04,遇到了很多问题,但设法解决了大部分问题。我正在使用带有 i5-7200U 和 NVidia GTX950M 的笔记本电脑。我已经安装了最新的驱动程序,wine 游戏运行得很好。
问题是:我不知道系统中使用的是哪种图形卡,是集成的还是专用的,并且在浏览器上滚动时移动东西时有很多屏幕撕裂等。
有没有办法强制启用 vsync 或以其他方式修复撕裂?
编辑:根据大卫的要求,这是第一个命令的结果:https : //paste.ubuntu.com/p/JXZXcBn56T/
小智 7
尝试此处的说明。快速修复效果很好。这是白天和黑夜。我所要做的就是将命令复制并粘贴到终端中,但永久不起作用。我无法制作 xorg.conf 文件。
https://www.cmscritic.com/how-to-fix-nvidia-screen-tearing-in-xfce-mate-kde-lxde-and-others/#/
如果您正在运行 Xrce、LXDE、MATE 或其他未运行合成器(如 Compton)的桌面环境,并且您有一个相当新的 NVIDIA 卡,您可能会竭尽全力摆脱正在经历的可怕的屏幕撕裂. 当您在 Linux 下运行专有 NVIDIA 驱动程序并拥有上述(或任何非复合)桌面环境之一时,通常会发生这种屏幕撕裂。对我们所有人来说幸运的是,有一个修复程序,我将向您介绍如何消除令人讨厌的 NVIDIA 屏幕撕裂。
我不打算详细说明为什么会发生这种情况,因为坦率地说,我不知道,而且我对如何让它消失更感兴趣。
对我来说,在 Firefox 中来回移动窗口或滚动时,撕裂是非常明显的。那为什么还要受苦呢?让我们摆脱它,好吗?
要测试并查看修复程序是否适合您,请打开终端并执行以下命令(只需从此处复制并粘贴):
Run Code Online (Sandbox Code Playgroud)nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceCompositionPipeline = On }"
您的屏幕可能会闪烁一秒钟,然后您应该会看到显着的改善。测试 Firefox 和移动窗口。修复对你有用吗?如果是这样,我们需要让它永久化,因为这只是暂时的修复,但别担心,我会告诉你如何做。如果它不适合您,您可以尝试将行稍微更改为:
Run Code Online (Sandbox Code Playgroud)nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"
请注意,在上面的行中,我们只是
ForceCompositionPipeline
将ForeFullCompositionPipeline
.一旦您确定这确实解决了您的问题,我们需要确保它是永久性的。如果它不起作用或引起问题,只需重新启动即可返回正常桌面。
现在我们已经确定我们的修复有效,可以一劳永逸地解决屏幕撕裂问题,现在是时候坚持更改了。首先,我们需要确保
/etc/X11
目录中存在 xorg.conf 。要找出答案,请在终端中键入以下命令并按Enter:Run Code Online (Sandbox Code Playgroud)ls /etc/X11
如果您看到如下所列的 xorg.conf 文件,请继续。
$ ls /etc/X11 app-defaults xinit Xreset Xsession.d 默认显示管理器 xkb Xreset.d Xsession.options 字体 xorg.conf Xresources xsm rgb.txt xorg.conf.backup Xsession如果没有,请跳过下一部分,继续阅读;如果你找不到 /etc/X11/xorg.conf ,我已经在下面进一步介绍了你该怎么做。
对于列出了 xorg.conf 的用户,在同一个终端窗口中,通过键入以下命令并按 来备份文件 Enter:
Run Code Online (Sandbox Code Playgroud)cp /etc/X11/xorg.conf /etc/X11/xorg.conf.backup
现在使用您最喜欢的文本编辑器(我自己是 nano 文本编辑器的粉丝)以 root 身份打开文件并输入以下命令:
Run Code Online (Sandbox Code Playgroud)sudo nano /etc/X11/xorg.conf
这将打开您的编辑器,然后您需要根据屏幕部分下的哪一行在下面添加一行,因此它最终看起来与此类似:
Run Code Online (Sandbox Code Playgroud)Section "Screen" Identifier "Screen1" Device "Device1" Monitor "Monitor1" DefaultDepth 24 Option "Stereo" "0" Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }" SubSection "Display" Depth 24 EndSubSection EndSection
因此,如果我们测试了上面的两个 nvidia-settings 行中,带有 ForceFullCompositionPipeline 的那一行有效,请使用上面的示例,如果 ForceCompositionPipeline 有效,只需在上面的示例中使用它即可。
你们中的一些人可能已经有一个选项“元模式”
/etc/X11/xorg.conf
,就像下面的双显示器设置示例一样:Run Code Online (Sandbox Code Playgroud)Option "metamodes" "VGA-0: 1152x864_60 +0+0, DVI-D-0: 1680x1050_60 +0+864"
如果是这种情况,只需更改该行,使其看起来像这样:
Run Code Online (Sandbox Code Playgroud)Option "metamodes" "VGA-0: 1152x864_60 +0+0, DVI-D-0: 1680x1050_60 +0+864 { ForceCompositionPipeline = On }"
重新启动,你的撕裂应该消失了!
如果找不到怎么办
/etc/X11/xorg.conf
现在,对于像我一样没有安装
/etc/X11/xorg.conf
(例如,大多数人运行 Ubuntu)的人,您可能会惊慌地认为您将无法应用此修复程序。不用担心,我遇到了同样的问题,我不会让你悬着的。在我的主机上,我运行的是 Linux Mint 18,但我怀疑这应该适用于任何发行版。我没有 xorg.conf,所以我所做的是启动 nvidia-settings 工具并通过转到 X 服务器显示配置部分并在文件名下输入 /etc/X11/xorg.conf(取消选中合并with existing 如果它被选中,因为这仅在您拥有一个的情况下有用),然后单击Save to X Configuration File。
这应该为您生成一个,然后您可以使用上述步骤进行修改。
对于 NVIDIA Optimus,您需要使用主要同步。
在终端中创建/etc/modprobe.d/zz-nvidia-modeset.conf
文件:
sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf
Run Code Online (Sandbox Code Playgroud)
插入这一行:
options nvidia_drm modeset=1
Run Code Online (Sandbox Code Playgroud)
按Ctrl+ O, Enter, Ctrl+X保存文件并退出。
运行此命令:
sudo update-initramfs -u
Run Code Online (Sandbox Code Playgroud)
重启。
要检查重启后是否一切正常,请运行以下命令:
xrandr --verbose
Run Code Online (Sandbox Code Playgroud)
向上滚动并查看顶部结果区域。你应该看到:
PRIME Synchronization: 1
supported: 0, 1
Run Code Online (Sandbox Code Playgroud)
看这个例子:
归档时间: |
|
查看次数: |
19063 次 |
最近记录: |