温馨提示×

linux compton闪屏怎么解决

小樊
49
2026-10-09 16:42:31
栏目: 智能运维

在 Linux 下使用 compton(或已fork的 picom)时出现闪屏/闪烁,通常不是单一原因,下面按常见情况和对应解决办法说明。


一、最常见原因与解决

1️⃣ 开启 vsync 相关问题

compton 的 vsync 设置不当会导致闪屏。

解决:

vsync = true;

或尝试不同 vsync 后端:

vsync = "opengl-swc";
# 或
vsync = "opengl";

如果闪屏更严重,可临时关闭测试:

vsync = false;

2️⃣ 使用了不兼容的后端(backend)

默认 xrender 容易闪。

推荐改为:

backend = "glx";

或(picom):

backend = "xrender";  # 某些老显卡反而更稳

3️⃣ 双显卡 / NVIDIA 驱动问题(非常常见)

NVIDIA 闭源驱动 + compton 经常闪。

解决思路:

  • 使用 picom 而非旧 compton
  • 加参数:
picom --backend glx --vsync
  • 或禁用 compositor 测试是否还闪

NVIDIA 用户可尝试:

unredir-if-possible = true;

4️⃣ 全屏应用闪烁(游戏 / 视频)

compton 在全屏时仍在合成。

解决:

unredir-if-possible = true;

或排除应用:

opacity-rule = [
  "0:class_g = 'Firefox' && fullscreen"
];

二、配置文件示例(稳定版)

~/.config/compton.conf:

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

三、其他可能原因

5️⃣ 刷新率不匹配

xrandr

确认刷新率正确,例如:

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

6️⃣ 多个 compositor 冲突

确保只运行一个:

  • compton
  • picom
  • kwin / mutter / xfwm 自带合成

7️⃣ 老版本 compton bug

强烈建议换 picom:

sudo apt install picom
picom &

四、快速排查顺序(推荐)

  1. 关掉 compton,看是否还闪 → 确认是 compositor 问题
  2. 换 backend = glx
  3. 开 vsync
  4. 开 unredir-if-possible
  5. 换 picom

如果你愿意,可以告诉我:

  • 发行版(Arch / Ubuntu?)
  • 显卡(NVIDIA / AMD / Intel?)
  • 窗口管理器(i3 / bspwm / openbox?)

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

0 踩