温馨提示×

如何调整Compton配置以适应不同场景

小樊
33
2025-12-27 20:07:44
栏目: 编程语言

Compton 配置按场景调整指南

一 基础与原则

  • 运行环境:Compton 是 X11 的窗口合成器,在 Wayland 会话下通常不生效;请先确认自己使用的是 Xorg 会话。常见渲染后端为 glx/xrender(部分构建支持 egl),驱动正常时优先 glx/egl 获取更好性能。配置文件默认路径为 ~/.config/compton.conf,不存在可手动创建。关键取舍维度包括:性能(FPS/延迟)、视觉(阴影/模糊/透明度)、兼容性(应用渲染异常时回退后端或关闭特效)。

二 快速场景化配置模板

  • 高性能优先(老旧电脑、游戏、高刷新率低延迟)

    • 建议:关闭阴影与模糊、关闭淡入淡出、降低帧率、选择轻量后端、必要时关闭 vsync 验证延迟
    • 示例片段:
      backend = "glx";
      vsync = false;         # 若撕裂明显再改为 true
      shadow = false;
      fade = false;
      frame-rate = 60;
      
    • 说明:关闭 shadow/fade 能显著降低开销;vsync 关闭可减少输入延迟但可能出现撕裂,按需取舍。
  • 电池续航优先(笔记本)

    • 建议:降低帧率、减少重绘与特效、必要时回退到 xrender 提升兼容性
    • 示例片段:
      backend = "xrender";   # 兼容性优先时可尝试
      frame-rate = 30;
      shadow = false;
      bg_blur = false;
      screen_edge_blur = false;
      
    • 说明:较低 frame-rate 与减少透明/模糊能减少 GPU/CPU 负载,有助于续航。
  • 高画质与透明(HiDPI、观感优先)

    • 建议:启用阴影与背景模糊、保留淡入淡出、使用 glx/egl、适度设置不透明度规则
    • 示例片段:
      backend = "glx";
      vsync = true;
      shadow = true;
      shadow-radius = 4;
      shadow-offset-x = 2;
      shadow-offset-y = 2;
      shadow-opacity = 0.4;
      fade = true;
      fade-delta = 8;
      bg_blur = true;
      opacity-rule = [
        "90:class_g = 'Firefox'",
        "92:class_g = 'Alacritty'"
      ];
      
    • 说明:通过 opacity-rule 为指定应用设置固定不透明度;模糊/阴影会带来一定开销,HiDPI 下注意性能与观感平衡。

三 关键参数与调优要点

  • 渲染与同步
    • backend:优先 glx/egl,兼容性需求可选 xrender
    • vsync:减少撕裂但可能增加输入延迟;游戏/低延迟场景可尝试关闭验证实际效果。
  • 阴影与淡入淡出
    • shadow / shadow-radius / shadow-offset / shadow-opacity:控制阴影观感;阴影对性能较敏感。
    • fade / fade-delta:窗口切换动画的顺滑度与开销权衡。
  • 不透明度与模糊
    • opacity-rule:按窗口类/实例设置固定不透明度(如 “90:class_g = ‘Firefox’”)。
    • bg_blur / screen_edge_blur:部分构建才提供,开启前确认版本与构建配置。
  • 排除规则
    • shadow-exclude / ignore_windows:排除菜单、通知、Dock/面板等不需要阴影或不需要合成的窗口,减少异常与开销。
  • 故障排查与 OpenGL 细项
    • 出现黑屏/崩溃/残影时,先用最小化配置逐项启用定位;必要时切换 backend,或调整 glx-damage / glx-fbo / glx-no-stencil / glx-copy-from-front / glx-vsync 等 OpenGL 选项以适配不同驱动与应用。

四 启动与热重载

  • 手动启动与重启
    • 启动:compton --config ~/.config/compton.conf
    • 热重载:pkill compton && compton --config ~/.config/compton.conf &
  • 会话自启动
    • 桌面会话(如 Openbox/i3/Xfce):在“自启动/启动脚本”中加入 compton 启动命令。
  • systemd 用户服务(推荐)
    • 创建:~/.config/systemd/user/compton.service
      [Unit]
      Description=Compton Compositor
      After=graphical-session.target
      
      [Service]
      ExecStart=/usr/bin/compton --config %h/.config/compton.conf
      Restart=always
      
      [Install]
      WantedBy=default.target
      
    • 启用:systemctl --user daemon-reload && systemctl --user enable --now compton.service
    • 说明:使用用户级服务可避免权限与图形会话问题;若在 Wayland 会话中,Compton 不会生效。

0