温馨提示×

怎么解决linux compton闪屏

小樊
51
2026-09-06 21:07:10
栏目: 智能运维

Linux 下 compton / picom 闪屏(flicker / screen tearing / 闪动)通常是合成器配置、显卡驱动或刷新率不匹配导致的。下面按「最常见 → 进阶」给你一套排查和解决方法。


一、最常用解决方法(先试这些)

1️⃣ 开启 vsync

闪屏 90% 是垂直同步没开。

compton 配置(~/.config/compton.conf)

vsync = true;

如果是 picom(新版 compton):

vsync = true;

然后重启:

killall compton
compton &

2️⃣ 使用正确的 backend

不同显卡适合不同 backend。

backend = "glx";

或

backend = "xrender";

建议顺序:

  • NVIDIA → glx
  • Intel / AMD → glx 或 xrender
  • 老机器 → xrender

3️⃣ 关闭可能导致闪屏的选项

unredir-if-possible = false;

有些窗口(全屏游戏)会触发闪屏。


二、NVIDIA 显卡专用(非常重要)

1️⃣ 开启 Force Full Composition Pipeline

nvidia-settings

→ X Server Display Configuration → 勾选:

  • ✅ Force Full Composition Pipeline
  • ✅ Force Composition Pipeline

或者在 xorg.conf:

Option "metamodes" "nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }"

重启 X / 电脑。


2️⃣ 禁用 compton 的 unredirect

unredir-if-possible = false;

三、双显卡 / 笔记本常见闪屏

1️⃣ 用 prime 切换显卡

prime-select nvidia
# 或
prime-select intel

2️⃣ 避免 Intel + compton 冲突

Intel 显卡有时需要:

backend = "xrender";
vsync = true;

四、刷新率 / 多显示器问题

查看刷新率

xrandr

强制统一刷新率

xrandr --output HDMI-1 --mode 1920x1080 --rate 60

多屏刷新率不一致会严重闪屏。


五、换成 picom(推荐)

compton 已停止维护,picom 更稳定:

sudo apt install picom

配置示例:

backend = "glx";
vsync = true;
unredir-if-possible = false;

六、终极方案(还闪?)

  1. 换窗口管理器测试(i3 / openbox)
  2. 禁用合成器看是否还闪(确认是 compton 问题)
  3. 更新内核 + 显卡驱动
  4. Wayland(如 sway / GNOME Wayland)彻底避免 X11 闪屏

七、你可以告诉我这些信息,我可以精准帮你

  • 发行版(Ubuntu / Arch / Debian?)
  • 显卡型号(NVIDIA / Intel / AMD?)
  • 窗口管理器(i3 / bspwm / openbox?)
  • compton 还是 picom?
  • 闪屏场景(全屏?桌面?浏览器?)

我可以给你一份可直接用的配置文件。

0 踩