温馨提示×

linux compton为什么闪屏

小樊
58
2026-09-03 16:42:14
栏目: 智能运维

在 Linux 下使用 compton(或它的继任者 picom)时出现闪屏(flickering),通常是合成器、显卡驱动、窗口管理器或配置冲突导致的。下面按常见原因 → 解决办法说明。


一、最常见原因

1. 显卡驱动问题(尤其是 Intel / NVIDIA)

  • Intel 核显 + 老内核 / 老驱动容易闪
  • NVIDIA 闭源驱动未正确配置

解决:

# 查看驱动
lspci -k | grep -A3 VGA
  • Intel:确保使用 modesetting 或 i915
  • NVIDIA:确认用了 nvidia 而非 nouveau

2. 未关闭默认合成器

如果你用的是:

  • XFCE(自带 compositor)
  • KDE
  • MATE

但又开了 compton,就会互相打架 → 闪屏

解决:

  • 关闭系统自带合成器
    • XFCE:设置 → 窗口管理器微调 → 关闭合成
  • 或只用 picom,不用系统合成器

3. vsync / 刷新率配置错误(非常常见)

compton 默认 vsync 可能不适合你的屏幕

解决(推荐配置):

vsync = true;

或尝试:

vsync = "opengl-swc";

老显卡可试:

vsync = "none";

4. 双显卡 / 多显示器

  • 不同刷新率显示器(如 60Hz + 144Hz)
  • PRIME / Optimus 环境

解决:

  • 尽量统一刷新率
  • 使用 picom 而不是 compton(compton 已停止维护)

二、compton 配置导致闪屏

5. 阴影 / 动画冲突

shadow = true;
fade = true;

某些窗口(全屏、视频)会闪

解决:

shadow-exclude = [ "fullscreen" ];

或临时关闭:

shadow = false;
fade = false;

6. backend 选择错误

compton 支持:

  • xrender(老)
  • glx(常见)
  • xr_glx_hybrid

解决:

compton --backend glx

或配置:

backend = "glx";

三、窗口管理器问题

7. 使用 i3 / bspwm / openbox 时

  • i3 全屏应用闪屏很常见

解决:

unredir-if-possible = true;

这样全屏时暂时关闭合成,避免闪屏


四、软件本身问题(重要)

8. compton 已停止维护

compton 最后更新大约在 2019 年

✅ 强烈建议换成 picom

sudo apt install picom
# 或
yay -S picom

picom 修复了大量闪屏问题


五、快速排查步骤(推荐)

  1. 先彻底退出 compton
  2. 关闭系统合成器
  3. 安装 picom
  4. 最小配置启动:
picom --backend glx --vsync
  1. 再逐步加配置

六、如果你愿意

你可以告诉我:

  • 发行版(Arch / Ubuntu / Debian?)
  • 显卡型号
  • 窗口管理器(i3 / bspwm / openbox?)
  • compton 配置内容

我可以帮你直接改一份不闪屏的配置。

0 踩