提升 Linux 桌面流畅度的 Compton 配置指南
一 核心思路
二 关键参数与推荐值
| 参数 | 推荐值 | 作用与说明 |
|---|---|---|
| backend | “glx”(X11) | 启用 OpenGL 加速,性能通常优于 xrender |
| vsync | true/false | 开可减撕裂,关可降输入延迟;按显示器与驱动实测取舍 |
| shadow | false | 关闭阴影以消除高频重绘成本 |
| opacity/blur | false 或按需 | 关闭透明/模糊,或仅对特定窗口启用 |
| frame-rate | 60(或显示器刷新率) | 限制合成帧率,减少无效绘制 |
| shadow-exclude | 如 [“_NET_WM_WINDOW_TYPE_DOCK”, “_NET_WM_WINDOW_TYPE_DESKTOP”] | 排除面板/桌面等不需阴影的窗口 |
| fade | false | 关闭淡入淡出动画,减少瞬时负载 |
| unredirect | false | 避免未重定向全屏窗口导致合成器空转(视驱动/应用而定) |
| glx-no-stencil | true | 禁用模板缓冲,部分硬件上可提升性能 |
| glx-use-dri3 | true | 启用 DRI3,改善 GPU 缓冲交换(需驱动支持) |
三 示例配置
# ~/.config/compton.conf
backend = "glx"
vsync = true
shadow = false
# opacity-rule = [ "90:class_g='Firefox'", "0.9:class_g='Alacritty'" ] # 按需开启
# blur-background = false
# blur-kern = "3x3box"
frame-rate = 60
# 排除不需要阴影的窗口
shadow-exclude = [
"_NET_WM_WINDOW_TYPE_DOCK",
"_NET_WM_WINDOW_TYPE_DESKTOP",
"class_g = 'Polybar'",
"class_g = 'Conky'"
]
# 降低重绘与开销
fade = false
unredirect = false
# GLX 调优(按硬件与驱动实测微调)
glx-no-stencil = true
glx-use-dri3 = true
# glx-use-glxteximage2d = false
# glx-fbconfig = null
说明:以上为“性能优先”的保守配置;若更看重观感,可逐项开启 opacity/blur 并观察帧率与延迟变化。
四 验证与故障排查
killall compton && compton -f,或用 compton --config ~/.config/compton.conf -f 测试;也可通过 systemd 服务管理。compton --log-file /tmp/compton.log --log-level 7 查看合成器日志与警告,定位异常窗口或选项。