使用 NVIDIA 或 Intel 驱动程序修复屏幕撕裂问题

屏幕撕裂会扰乱运行 NVIDIA 或 Intel 显卡的 Linux Mint 系统上的视频播放和游戏。此问题会导致出现水平线或视觉伪影,尤其是在快速运动期间。解决屏幕撕裂问题需要配置图形驱动程序和显示设置,以确保更流畅、不间断的视觉效果。以下是针对 NVIDIA 和 Intel 显卡的最有效方法,包括永久解决方案和故障排除技巧。

配置 Xorg 以实现无撕裂输出(永久解决方案)

步骤一:识别您的图形硬件。打开终端并运行lspci | grep VGA以确定您使用的是 NVIDIA 还是 Intel 显卡。这有助于在以下步骤中选择正确的配置文件。

步骤2:为您的 GPU 创建或编辑 Xorg 配置文件。对于英特尔,请使用/etc/X11/xorg.conf.d/20-intel.conf;对于 NVIDIA,使用/etc/X11/xorg.conf.d/20-nvidia.conf。您将需要 root 权限才能修改或创建这些文件。例如,运行sudo nano /etc/X11/xorg.conf.d/20-intel.conf适用于英特尔 GPU。

步骤3:将适当的配置添加到文件中。对于 Intel 显卡,请插入:


Section "Device"
    Identifier  "Intel Graphics"
    Driver      "intel"
    Option      "TearFree" "true"
EndSection
    

对于 NVIDIA 显卡,您可以添加以下选项:


Section "Device"
    Identifier  "Nvidia Card"
    Driver      "nvidia"
    Option      "ForceFullCompositionPipeline" "On"
EndSection
    

这些设置指示 X 服务器为您的图形硬件启用无撕裂渲染。

第4步:保存文件并重新启动系统以应用更改。这可确保在系统启动期间加载新配置。

警告:不正确的配置文件可能会导致图形界面无法加载。始终保留可启动的 Linux Mint USB 记忆棒。如果进行这些更改后无法访问桌面,请从 USB 引导,安装系统驱动器,然后删除或更正配置文件。


使用 Xrandr 启用无撕裂输出(快速用户级修复)

步骤一:列出您的视频输出xrandr在终端中。请记下活动显示输出的确切名称,例如HDMI-1或者eDP-1.

步骤2:创建一个名为.xprofile在您的主目录中(如果尚不存在)。使用您喜欢的文本编辑器打开它。

步骤3:添加以下行,替换HDMI-1与您的输出名称:


xrandr --output HDMI-1 --set TearFree on
    

此命令在登录时启用指定输出的无撕裂渲染。

第4步:保存文件并重新启动计算机。此方法在您每次登录时在用户级别应用修复,但可能不会在所有会话或显示管理器中持续存在。如需更永久的解决方案,请使用上面的 Xorg 配置方法。


配置 NVIDIA PRIME 和内核参数(混合显卡)

对于同时配备 Intel 和 NVIDIA 显卡(Optimus/PRIME 系统)的笔记本电脑或台式机,在 GPU 之间切换时可能会出现屏幕撕裂的情况。 PRIME 同步通过同步两个 GPU 之间的帧输出来解决这个问题。

步骤一:确保您运行兼容的内核(4.5 或更高版本)和 X 服务器(1.19 或更高版本)。这些版本是 PRIME 同步支持所必需的。

步骤2:以 root 身份编辑 GRUB 配置文件:sudo nano /etc/default/grub.

步骤3:找到以以下内容开头的行GRUB_CMDLINE_LINUX_DEFAULT=并添加nvidia-drm.modeset=1到现有参数。例如:


GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nvidia-drm.modeset=1"
    

第4步:保存并退出编辑器。更新 GRUBsudo update-grub,然后重新启动系统。

第5步:要验证 PRIME 同步是否处于活动状态,请运行cat /sys/module/nvidia_drm/parameters/modeset。如果输出是Y, PRIME 同步已启用。您还可以检查xrandr --verbose为了PRIME Synchronization: 1在你的显示输出上。

选择:如果 GRUB 方法不起作用,请创建 modprobe 配置文件,例如/etc/modprobe.d/zz-nvidia-modeset.conf并添加:


options nvidia_drm modeset=1
    

然后更新你的 initramfssudo update-initramfs -u并重新启动。


在 NVIDIA 设置中设置力合成管道(NVIDIA 专有驱动程序)

对于运行专有 NVIDIA 驱动程序的用户,NVIDIA X 服务器设置工具提供了强制组合管道的选项,这消除了大多数设置的撕裂。

步骤一:以 root 身份打开 NVIDIA X Server 设置。在 Mint 上,您可能需要运行sudo nvidia-settings从航站楼。

步骤2:转到“X 服务器显示配置”。选择您的显示器,然后选中“强制合成管道”和“强制完整合成管道”。

步骤3:单击“应用”,然后选择“保存到 X 配置文件”以使设置在重新启动后保持不变。

笔记:在使用 PRIME 的笔记本电脑上,您可能会遇到错误,指出“prime 显示无法由 nvidia 设置控制”。在这些情况下,请使用上面的 PRIME 同步方法。


更新内核和驱动程序

过时的内核或图形驱动程序可能会导致或加剧撕裂问题。升级可能会提供更好的硬件支持和错误修复。

步骤一:检查您当前的内核版本uname -r以及通过包管理器或驱动程序管理工具的图形驱动程序版本。

步骤2:更新到适合您的 Mint 版本的最新推荐内核和显卡驱动程序。对于 NVIDIA 用户,一些人报告了新驱动程序的改进(例如,Mint 21.3 上的版本 545 或更高版本)。使用驱动程序管理器应用程序或运行sudo apt update && sudo apt upgrade更新系统包。

步骤3:更新后,重新启动系统并测试撕裂。


故障排除和其他提示

  • 在进行重大配置更改之前,请务必创建系统备份或 Timeshift 快照。
  • 如果您无法访问图形界面,请从实时 USB 启动并恢复最近的配置更改。
  • 调整显示缩放或切换桌面环境(例如,从 Cinnamon 到 Xfce)有时可以解决持续的撕裂问题。
  • 对于英特尔显卡,卸载xserver-xorg-video-intel可能有帮助,但结果有所不同。
  • 一些用户报告,更改显示管理器或窗口管理器(例如,从 Muffin 更改为另一个)可能会影响撕裂,尤其是在英特尔硬件上。

应用这些方法可以显着减少或消除具有 NVIDIA 或 Intel 驱动程序的 Linux Mint 中的屏幕撕裂。每次更改后监控性能和视觉质量,并保持系统更新以获得持续稳定性。