在 Linux 下使用 Compton(或更常见的分支 Picom) 时出现闪屏(flickering),通常不是单一原因,而是和显卡驱动、合成方式、窗口管理器、配置参数有关。下面按常见原因 → 对应解决办法给你梳理。
Compton 默认可能用了 xrender,在部分驱动下会闪。
✅ 解决:改用 glx 或 egl
backend = "glx";
# 或
backend = "egl";
然后重启 compton:
killall compton
compton &
闪屏很多是 撕裂 + 重绘不同步 导致的。
✅ 推荐配置:
vsync = true;
如果你用的是 glx:
glx-swap-method = "exchange";
⚠️ 注意:
vsync=true 反而更闪vsync = false + 驱动层开启NVIDIA + Compton 是经典闪屏组合。
✅ 解决方式之一:
backend = "glx";
vsync = true;
unredir-if-possible = true;
或者:
nvidia-settings
→ OpenGL → Allow Flipping = ON
Compton 在全屏时还在合成,会冲突。
✅ 解决:
unredir-if-possible = true;
或游戏启动器里加:
compton --unredir-if-possible
如:
✅ 建议:
双显卡(Intel + NVIDIA)容易闪。
✅ 检查:
xrandr --listproviders
✅ 解决:
picom 替代 compton(维护更好)过于复杂的阴影和动画会闪。
✅ 最小化测试配置:
backend = "glx";
vsync = true;
shadow = false;
fade = false;
原版 compton 已停止维护。
✅ 强烈建议换:
picom
配置文件基本兼容:
picom --config ~/.config/picom.conf
picombackend = glxvsyncunredir-if-possible你可以贴出来:
我可以直接给你一份不闪屏的配置。