Debian 下 Compton 多显示器配置与优化
快速要点
- Compton 在 X11 下对多显示器是“开箱即用”的,无需特殊开关;关键在于用 xrandr 正确连接与排布显示器,再按需调整合成器参数以减少撕裂、阴影开销与卡顿。
- 建议优先使用 OpenGL 渲染(如 backend 设为 glx),并在多屏下结合 vsync 与 glx-swap-method 获得更稳定的画面表现。
安装与准备
- 安装 Compton(Debian 仓库中的 compton 包):
- sudo apt update && sudo apt install compton
- 确认显示器名称与连接状态:
- xrandr --query
- 典型名称如:eDP-1、HDMI-1、DP-1。若未识别或位置不对,用 xrandr 进行连接与排布(见下一节)。
配置多显示器
- 使用 xrandr 正确排布多屏(示例将 HDMI-1 放在 eDP-1 右侧):
- xrandr --output HDMI-1 --auto --right-of eDP-1
- xrandr --output DP-1 --auto --right-of HDMI-1
- 创建或编辑配置文件:~/.config/compton.conf,使用 OpenGL 并开启损伤追踪与 vsync(示例):
- backend = “glx”
- vsync = true
- glx-swap-method = “swap”
- use-damage = true
- shadow = true
- shadow-exclude = [ “class_g = ‘Conky’” ]
- opacity-rule = [ “90:class_g = ‘Gnome-terminal’”, “0.9:class_g = ‘Firefox’” ]
- 启动 Compton(调试阶段建议前台运行观察输出):
- compton -c ~/.config/compton.conf
- 说明:Compton 默认支持多显示器,无需在配置中为每个显示器单独写项;重点是通过 xrandr 正确设置输出与相对位置,再按需微调合成参数。
自启动与系统集成
- 会话级自启动(推荐,随登录会话启动):
- Openbox:在 ~/.config/autostart/compton.desktop 中加入
- [Desktop Entry]
Type=Application
Exec=/usr/bin/compton -c ~/.config/compton.conf
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=Compton
Comment=Compton Window Composer
- 系统级自启动(可选,使用 systemd 用户服务):
- 创建:~/.config/systemd/user/compton.service
- [Unit]
Description=Compton Compositor
After=graphical-session.target
- [Service]
ExecStart=/usr/bin/compton -c %h/.config/compton.conf
Restart=on-failure
- [Install]
WantedBy=graphical-session.target
- 启用:
- systemctl --user daemon-reload
- systemctl --user enable --now compton.service
- 验证运行状态:
- 前台运行可直接看日志;使用 systemd 可用:systemctl --user status compton.service。
常见问题与优化
- 画面撕裂或卡顿:
- 启用 vsync(vsync = true),并将 glx-swap-method 设为 swap;如使用 NVIDIA 专有驱动,可尝试 glx-swap-method = “copy”(部分场景更稳)。
- 阴影与性能:
- 多屏下阴影开销显著,建议对常驻或装饰性窗口排除阴影:shadow-exclude = [ “class_g = ‘Conky’”, “_NET_WM_WINDOW_TYPE_DOCK” ]。
- 透明度与模糊:
- 需要透明/模糊效果时启用相关规则(如 opacity-rule);若性能吃紧,可关闭透明度或模糊相关特效。
- 多屏拖影或残影:
- 确保 use-damage = true,并优先使用 backend = “glx”;必要时降低刷新率或关闭某些特效做 A/B 测试。
- 多 DPI 与缩放:
- 缩放与 DPI 主要由显示服务器与桌面环境处理;Compton 侧重合成,通常无需针对每个显示器单独设置缩放参数。