修复Nvidia显卡屏幕闪烁问题

我知道关于这个问题有很多疑问——我至少读了100个关于它的问题,但仍然找不到解决Nvidia屏幕闪烁问题的方法。我从11.10版本开始就遇到了这个问题。屏幕每3-5秒就会抖动和闪烁。我在Gateway GT5028上运行Ubuntu 12.04 LTS,并使用Nvidia 6100。希望能得到任何解决方案。我希望能解决这个问题。
9个回答

这对我有用:

  • 安装 Compiz Config,在终端中输入:

    sudo apt-get install compizconfig-settings-manager

  • 从启动器中执行CompizConfig Settings Manager

  • "Utility -> Workarounds -> Force full screen redraws (buffer swap) on repaint"中勾选复选框

我有一台戴尔XPS笔记本电脑,配备了Nvidia GT 525m显卡,使用的是Ubuntu 14.04操作系统。
我基于这个帖子上的回答提供了解决方案:升级到14.04后出现奇怪的部分屏幕闪烁问题

值得注意的是,这将显著增加您的GPU和CPU负载,并导致帧率下降。 - Edward
这里是Debian 8和KDE 4。对我有帮助的是在设置中禁用某些KDE效果。 - LatinSuD
即使不重新启动计算机,更改是否会生效?对我来说似乎什么都没用。 - embe
@embe 看起来需要重新启动。 - starbeamrainbowlabs

尝试使用nvidia-settings关闭抖动(禁用)。如果问题得到解决,请更新/etc/X11/xorg.conf,在Screen部分添加(Option "FlatPanelProperties" "Dithering=Disabled")的配置。祝好运。

如何访问设置?我现在没有激活任何NVIDIA驱动程序,因为每次激活一个驱动程序后,下次启动时会出现黑屏。当发生这种情况时,我可以访问TTY,只是看不到桌面。 - spazmatic1221
设置可以通过nvidia-settings进行调整。如果尚未安装nvidia驱动程序,您可以选择以下方式之一:1)通过系统设置->附加驱动程序进行安装,2)sudo apt-get update;sudo apt-get install nvidia-current nvidia-settings,或者3)直接从nvidia下载/安装驱动程序。每个人都有自己的偏好,但我倾向于后者。祝您好运并玩得开心。 - cogitoergosum
好的,我已经安装了最新的NVIDIA驱动程序。这次幸好没有黑屏的问题。但是在NVIDIA X服务器设置中我看不到任何关于抖动的选项。 - spazmatic1221
默认的nvidia-settings没有包含这个选项。如果你的屏幕闪烁问题仍然存在,考虑从nvidia官网下载驱动程序。你可以参考这个问答论坛上的说明。 - cogitoergosum
你能给我一个关于如何通过命令行编辑设置的简要说明吗? - spazmatic1221
你是指在安装了来自NVIDIA的专有驱动程序后运行nvidia-settings,还是编辑/etc/X11/xorg.conf文件? - cogitoergosum
编辑xorg.conf文件。我已经安装了驱动程序并激活了它。在仪表板中有一个Nvidia X Server设置应用程序。 - spazmatic1221
我在xorg.conf文件中添加了“FlatPanelProperties”选项,但是屏幕仍然闪烁。看来我只能忍受这个问题了。 - spazmatic1221
我假设您已经安装了适用于NVIDIA 6100 Linux 64位的v304.84版本(http://www.nvidia.com/object/linux-display-amd64-304.84-driver.html)。 - cogitoergosum
我安装了x86版本而不是64位版本,所以我得到了Linux-x86的v304.64版本。屏幕闪烁问题在x64和x86上仍然存在。 - spazmatic1221
IC - 真不幸。 - cogitoergosum
@cogitoergosum 这个为什么有效的解释? - Christian Rondeau

修复 Ubuntu 14.04 中闪烁的窗口 - NVIDIA 图形卡

我已经解决了在我的笔记本电脑上运行 Ubuntu 14.04 时窗口闪烁的问题,基本上是与 Nvidia 图形卡设置相关的问题,开始时输入:

sudo nvidia-xconfig

如果文件/etc/X11/xorg.conf不存在,这个命令将会创建它。
sudo nano /etc/X11/xorg.conf

滚动文件并按照以下方式编辑“设备”部分:
Section Device
  Identifier Device0
  Driver "nvidia"
  VendorName "NVIDIA Corporation"
  BoardName "GeForce GTX 650"
  Option "RegistryDwords" "PerfLevelSrc=0x2222"
  Option "TripleBuffer" "True"
EndSection

通常在“设备”部分会错过最后3个命令。 这些命令将设置卡片为性能模式并启用三倍缓冲。
在终端中键入:
nvidia-settings

并且X服务器将会出现 在nvidia-settings/OpenGL中设置参数值如下:

Sync to Vblank
Allow Flipping
Use Conformant Texture Clamping

保存配置然后重新启动计算机。

如何保存配置? - Aaron Esau
令人惊讶的是,安装了nvidia-settings居然解决了所有问题。 - Blairg23
1我在界面中找不到任何“OpenGL”选项:https://imgur.com/y4ueF6m.png此外,执行sudo nvidia-xconfig会导致黑屏。 - starbeamrainbowlabs

我遇到了同样的问题。你感到困惑是因为cogitoergosum假设你懂得如何使用命令行。你需要打开一个命令提示符,并学习如何使用几个命令。真正解决这个问题的唯一方法是在命令行界面(CLI)上工作。CLI技能非常有价值,尤其是在专业计算领域;所以我会帮助你入门。
首先,输入"man cd"并按回车键。要退出手册页面,在阅读完毕并想尝试使用"cd"命令时,输入"q"。在Linux上,与Windows不同,"man" + [command]将为你提供任何你想要的命令的手册页面(只需将+ [command]替换为你想要的命令即可。例如,输入"man vi"来学习如何使用vi编辑文件。

cd /etc/X11/会带你进入包含"xorg.conf"文件的目录。当以root用户身份编辑文件时,需要小心修复文件的所有权和权限更改。请参考chmodchown的手册页(输入man chmodman chown)。在更改文件之前,您始终要备份文件。备份文件有几种技术。您可以使用cat输出文件的内容,然后将输出重定向到新文件。例如:cat /etc/X11/xorg.conf > /etc/X11/xorg.conf.bkp1。您还可以使用cpmv,但我通常只使用重定向。要查看给定目录的内容,请尝试使用lsls -l。如果无法看到所有输出,请通过输入ls -l | less将输出导入到less中。

我在这里找到了解决Linux上Nvidia问题的方法,适用于64位系统:Nvidia & Linux x64 - 常见问题和解决方案自述文件 - 这是32位系统(x86)的相同自述文件:Nvidia & Linux x86 - 常见问题和解决方案自述文件 - 256.44 如果你在Linux上使用不同的Nvidia驱动程序,你可以在Nvidia网站上找到类似的自述文件:Linux显示驱动程序存档
如果你真的想提升你的技能,你应该在谷歌上搜索关于shell脚本的Linux文档。

3这似乎完全离题,并且与主题无关。这些信息很棒,每个人都需要知道它...但是你甚至没有试图把提问者当作一个新手来对待。假设了提问者的假设,然后立刻陷入了一场讲课。 - digitalextremist

只是为了所有遇到这个问题的人。在NVIDIA设置中关闭抖动似乎减少了效果,但并没有完全消失。
但是关闭翻转有所帮助。我不再遇到这种讨厌的闪烁了。耶!
如何在Linux Mint 18.3 Cinnamon上进行操作,已安装了NVIDIA驱动程序(nvidia-384版本384.111-0ubuntu0.16.04.1):
- 打开应用菜单 - 搜索“nvidia”:您会找到“NVIDIA X Server Settings” - 点击它 - 关闭抖动:我在GPU 0下找到了它 - (您的GeForce名称) -> DFP-0(您的显示器名称)(以及DFP-3和DFP-4,因为我有3个显示器) - 关闭翻转:X Screen 0 -> OpenGL Settings -> Allow Flipping(取消选中)

+1 关闭翻转真的有帮助! - Ben
这个方法有效,但是如何让我的更改保留下来呢?重新启动后,所有的更改设置都会消失... - Ben
1要保存,请转到NVIDIA设置中的X服务器显示配置。点击保存到X配置文件。@Thomas Praxl:非常感谢!你的解决方案实际上帮助我解决了颜色闪烁的问题。我知道这是一个抖动问题,只是不知道在菜单中的选项在哪里!给你的帖子点赞! - dsolaris

就我所知,多年来我在基于Ubuntu/Debian的MythTV盒子上一直遇到屏幕闪烁的问题。我在14.04版本上遇到过,并且最近将该盒子从Linux Mint 18升级到了16.04.2版本,问题仍然存在。尽管compizconfig-settings-manager中强制重绘的更改对我没有起作用,但它让我开始尝试其他设置。对我而言,解决问题的方法是取消选中“在初始损坏时强制完全重绘”的选项。
我不知道是否有硬件问题导致Compiz认为有位被翻转了,而它认为这是损坏,但我没有看到任何伪影或损坏,屏幕闪烁问题已经消失。我使用Pentium G870中的Intel嵌入式图形通过HDMI连接到1080p电视。

这是在我的Ubuntu 20.04系统上使用Nvidia Quadro K2000M显卡和推荐的390驱动程序所起作用的方法:
打开终端并输入以下命令: ``` cat /usr/share/X11/xorg.conf.d/10-nvidia.conf ```
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

添加选项 "TripleBuffer" "TRUE"
sudo nano /usr/share/X11/xorg.conf.d/10-nvidia.conf
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    Option "TripleBuffer" "TRUE"
    ModulePath "/usr/lib/x86_64-linux-gnu/nvidia/xorg"
EndSection

重新启动
背景
几天前,我的笔记本电脑屏幕开始闪烁。我之前一直在使用Ubuntu 18.04和20.04没有遇到问题。我花了大约两天的时间进行研究,但是没有找到解决方法。
我的系统没有/etc/X11/xorg.conf文件。许多在nvidia-settings程序中讨论的设置已经不存在了。nvidia-xconfig程序生成的xorg.conf文件似乎已经过时。甚至Nvidia的文档http://us.download.nvidia.com/XFree86/Linux-x86_64/319.32/README/xconfigoptions.html也没有提到新的Xorg配置部分。

我的天啊,看起来这对我来说在Kubuntu 20.04上绝对有效。我的Nvidia显卡是GeForce GTX 1050 Ti。 - cnobile
嗯,这种方法还算有效。闪烁现象大大减少了。 - cnobile

我正在使用Linux Mint 17,出现了一些困扰已有一段时间的问题。通过Linux软件管理器发现,你只需在搜索栏中键入nvidia(就像在我的情况下一样)与“图形”相关的内容,然后点击Nvidia-Current-Updates。安装完成后,问题得到解决,性能也提升了。根据Nvidia网站 - Linux软件管理器显示,有26M个驱动程序,程序管理器将分析并下载特定的驱动程序。我的问题已经解决。


Linux Mint的特殊工具所提供的答案与AskUbuntu不兼容,因为Ubuntu没有这些工具。 - Stephen Michael Kellat

闪烁的屏幕打开
  • Ubuntu 22.04
  • NVIDIA-SMI 450.203.03
  • 驱动版本:450.203.03
  • CUDA 版本:11.0

关闭翻转:X 屏幕 0 -> OpenGL 设置 -> 允许翻转(取消勾选) 完全解决了这个问题。

它将会在您的中写入"0/AllowFlipping=0"

~/.nvidia-settings-rc

不确定如何使这对全局配置持久。