优化 Compton(一个 X11 合成管理器)可以显著提升桌面环境的视觉效果和性能,尤其是在使用 i3、Openbox 等轻量级窗口管理器时。以下是详细的优化步骤和建议:
Compton 已停止维护,推荐使用其活跃分支:
# 安装 picom(以 Debian/Ubuntu 为例)
sudo apt install picom
# 或从源码编译最新版
git clone https://github.com/yshui/picom.git
cd picom
meson --buildtype=release . build
ninja -C build
sudo ninja -C build install
创建或编辑配置文件 ~/.config/picom/picom.conf(picom)或 ~/.config/compton.conf(旧版 Compton)。
# 禁用阴影(提升性能)
shadow = false;
# 禁用淡入淡出动画
fading = false;
# 禁用透明度(除非需要)
inactive-opacity = 1.0;
active-opacity = 1.0;
# 使用 GLX 后端(性能更好,需显卡驱动支持)
backend = "glx";
glx-no-stencil = true; # 减少 GPU 负载
glx-no-rebind-pixmap = true;
# 或使用 XRender 后端(兼容性更好,但性能较低)
# backend = "xrender";
# 垂直同步(防止撕裂)
vsync = true;
# 根据显卡选择 VSync 方法(可选)
# 常见值:opengl、opengl-oml、opengl-swc、opengl-mswc
vsync-method = "opengl-swc";
# 限制刷新率(如 60Hz 显示器)
refresh-rate = 60;
# 或让 picom 自动检测
# refresh-rate = 0;
# 仅重绘变化区域(提升性能)
detect-rounded-corners = true;
detect-client-opacity = true;
避免对视频、游戏等全屏应用合成,减少开销:
# 排除全屏窗口(如视频、游戏)
unredir-if-possible = true;
unredir-if-possible-delay = 0;
unredir-if-possible-exclude = [
"class_g = 'Firefox'",
"class_g = 'VLC'",
"class_g = 'Steam'"
];
# 阴影优化
shadow = true;
shadow-radius = 5; # 减小半径
shadow-offset-x = -5; # 偏移量
shadow-offset-y = -5;
shadow-opacity = 0.5; # 降低透明度
shadow-exclude = [
"class_g = 'Firefox'",
"name = 'Notification'"
];
# 透明度规则
opacity-rule = [
"90:class_g = 'URxvt'",
"95:class_g = 'Firefox'"
];
在启动命令中添加参数(如 ~/.xinitrc 或 i3 配置中):
# 使用 picom 示例
picom --backend glx --vsync opengl-swc --unredir-if-possible &
常用参数:
--config:指定配置文件路径。--daemon:以守护进程运行。--no-fading-openclose:禁用窗口开关动画。# 查看 GPU 使用率(需安装 mesa-utils)
glxinfo | grep "direct rendering" # 确认直接渲染已启用
picom --log-level trace # 输出详细日志
vsync-method。如果 picom 仍不满足需求,可尝试:
通过以上优化,Compton/picom 在轻量级桌面中可兼顾流畅性与美观。