温馨提示×

为何ubuntu compton闪屏

小樊
36
2026-10-10 01:12:49
栏目: 智能运维

在 Ubuntu 上使用 Compton(或其继任者 Picom) 时出现闪屏(flickering),通常是由以下几个原因导致的。下面按常见程度给你说明原因和解决办法。


一、最常见原因

1. 与桌面环境自带的合成器冲突

Ubuntu 默认使用:

  • GNOME(自带 Mutter 合成器)
  • 或 Xfce(xfwm4 合成器)
  • 或 KDE(KWin)

如果你同时开启了系统合成器 + Compton,就会闪屏。

✅ 解决方法:

# 关闭系统自带合成器
# GNOME
gsettings set org.gnome.mutter compositor-enabled false

# Xfce
xfconf-query -c xfwm4 -p /general/use_compositing -s false

然后再启动 Compton。


2. 后端(backend)选择不正确

Compton 默认可能使用 xrender,但某些显卡用 glx 更稳定。

✅ 修改 ~/.config/compton.conf:

backend = "glx";
glx-no-stencil = true;
glx-no-realloc = true;

或测试:

compton --backend glx

3. 刷新率 / 垂直同步问题(VSync)

闪屏很多时候是 VSync 没开或开错。

✅ 推荐配置:

vsync = true;

如果是 NVIDIA:

vsync = "opengl-swc";

AMD / Intel:

vsync = "opengl";

二、显卡驱动相关问题

4. NVIDIA 专有驱动 + Compton

NVIDIA 闭源驱动经常闪。

✅ 建议:

  • 使用 picom(Compton 已停止维护)
  • 启用:
unredir-if-possible = true;

或尝试:

picom --backend glx --vsync

5. 多显示器刷新率不同

例如:

  • 主屏 60Hz
  • 副屏 144Hz

这会导致严重闪屏。

✅ 临时解决:

  • 统一刷新率
  • 或只用单屏测试

三、Compton 已过时(重要)

⚠️ Compton 已经停止维护 现在应使用 Picom:

sudo apt remove compton
sudo apt install picom

Picom 对闪屏修复很多。


四、典型稳定配置(推荐)

~/.config/picom.conf:

backend = "glx";
vsync = true;
unredir-if-possible = true;
glx-no-stencil = true;

启动:

picom --config ~/.config/picom.conf &

五、快速排查顺序(建议你这样做)

  1. 关闭系统合成器
  2. 换成 picom
  3. 使用 glx 后端
  4. 开启 vsync
  5. 单屏测试

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

  • Ubuntu 版本
  • 桌面环境(GNOME / Xfce / KDE)
  • 显卡型号(NVIDIA / AMD / Intel)

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

0 踩