CentOS 下 Compton 高级配置与性能调优
一 安装与配置文件路径
- 在 CentOS 7 使用 YUM 安装,在 CentOS 8/Stream 使用 DNF 安装;配置文件通常位于 ~/.config/compton.conf,不存在可手动创建。示例:
- 安装:sudo yum install -y compton 或 sudo dnf install -y compton
- 配置:mkdir -p ~/.config && nano ~/.config/compton.conf
- 启动与热重载:compton --config ~/.config/compton.conf;修改后可用 killall compton && compton & 使配置生效。
二 核心参数与推荐值
- 后端与同步
- backend:优先 glx(OpenGL 加速),兼容性差时回退 xrender。
- vsync:多数桌面建议 true(减少撕裂);若出现卡顿或输入延迟,可尝试 false 并结合限帧策略。
- 阴影与模糊
- shadow:追求性能可设为 false;需要氛围可设为 true 并配合 shadow-exclude 精细化控制。
- 背景模糊:启用 bg_blur true;屏幕边缘模糊 screen_edge_blur true(对性能有影响,谨慎开启)。
- 透明度与渲染
- opacity/alpha:全局透明会触发额外合成,建议默认关闭,改为按应用/窗口规则设置。
- glx-no-stencil:设为 true 可降低开销(极少数驱动/应用可能受影响)。
- 示例片段(仅展示关键项):
- backend = “glx”
- vsync = true
- shadow = false
- bg_blur = true
- screen_edge_blur = false
- glx-no-stencil = true
三 场景化配置与精细控制
- 多显示器
- 先用 xrandr 校验输出名与布局(如 HDMI-1、DP-1、eDP-1),确保显示正常后再启动 Compton,避免合成器初始化异常。
- 阴影排除与窗口规则
- 通过 shadow-exclude 精确排除不需要阴影的窗口或区域,减少无效合成与视觉干扰。
- 示例(按类/标题排除,可按需扩展):
- shadow-exclude = [ “.*”, “[class=‘.*Firefox’]”, “[title=‘.*Firefox’]” ]
- 透明度与忽略列表
- 使用 opacity-rule 为特定应用设置固定不透明度;用 ignore-windows 忽略桌面组件自身窗口,避免异常透明或重绘。
四 性能调优与稳定性
- 精简特效
- 关闭不必要的 shadow/opacity/blur,优先保证交互流畅度;需要时再按应用粒度开启。
- GPU 加速与驱动
- 确保已安装并启用 OpenGL 驱动;使用 backend glx 获取 GPU 加速,驱动异常时回退 xrender。
- 资源限制
- 使用 cpulimit 限制 Compton 的 CPU 占用(如:cpulimit -l 50 -p $(pidof compton)),避免个别场景下的抖动与卡顿。
- 故障排查
- 对比开启/关闭 vsync、切换 backend、逐项禁用模糊/阴影,定位问题源;必要时更换配置或升级驱动。
五 开机自启动与系统集成
- Systemd 用户服务(推荐)
- 创建文件 /etc/systemd/system/compton.service,内容示例:
- [Unit]
- Description=Compton Window Composer
- After=display-manager.service
- [Service]
- Type=simple
- ExecStart=/usr/bin/compton --config /home/你的用户名/.config/compton.conf
- Restart=on-failure
- [Install]
- WantedBy=multi-user.target
- 启用与启动:sudo systemctl daemon-reload && sudo systemctl enable --now compton.service
- 会话级自动启动
- 在 Openbox/i3 等 WM 的会话启动脚本中追加:compton --config ~/.config/compton.conf &。