温馨提示×

Compton在Linux中的多显示器支持情况

小樊
39
2025-12-25 22:01:37
栏目: 智能运维

Compton在Linux中的多显示器支持

总体情况

  • X11 环境下,Compton 对多显示器提供良好支持,能够跨屏幕进行窗口合成、阴影、透明度等效果处理。它本身不负责显示器的连接与布局,显示模式(扩展、镜像、位置)应由 xrandr 等工具先行配置,Compton 直接读取并作用于当前的 X Screen 与输出(output)。在 Wayland 会话中,Compton 不适用(Wayland 的合成与混成由 compositor 内置,常见替代为 Mutter/KWin/Sway)。多显示器场景下建议优先使用硬件加速后端(如 glx)以获得更稳定的帧率与更低延迟。

快速配置步骤

  • 1)用 xrandr 查看与排布显示器:
    • 查看连接与名称:xrandr --query
    • 扩展排布示例:
      • xrandr --output HDMI-1 --auto --right-of eDP-1
      • xrandr --output DP-1 --auto --right-of HDMI-1
  • 2)创建或编辑配置文件:~/.config/compton.conf(若不存在则新建)。
  • 3)写入基础多屏友好配置:
    • backend = “glx”(或根据驱动与硬件尝试 “xrender”)
    • glx-no-stencil = false(部分驱动/应用更稳)
    • glx-copy-from-front = false(减少特定场景卡顿)
    • glx-vsync = false(避免与某些驱动/桌面组合产生卡顿)
  • 4)启动与热重载:
    • 启动:compton -c ~/.config/compton.conf
    • 已运行时重载:killall compton && compton -c ~/.config/compton.conf
  • 5)可选:按输出做差异化规则(示例)
    • shadow-exclude = [ “class_g ‘Firefox’” ](在外接屏上关闭 Firefox 阴影)
    • opacity-rule = [ “class_g ‘Gnome-terminal’ A” ](对终端统一透明度)

常见问题与排查

  • 显示器未被识别或位置不对:先用 xrandr 校正连接与相对位置(–right-of/–left-of/–above/–below),再重启 Compton;必要时完全退出后重进会话。
  • 性能或撕裂:优先选用 backend = “glx”;如仍有问题,尝试切换 glx-no-stencil、glx-copy-from-front、glx-vsync 的组合;确保显卡驱动与系统更新为较新版本。
  • 阴影/透明度异常:使用 shadow-excludeopacity-rule 按应用或按输出做排除/指定,避免跨屏不一致或特定程序渲染异常。
  • 多屏高分辨率与缩放:Compton 不直接处理 DPI/缩放,缩放与显示模式应由桌面环境或 xrandr 处理;若出现字体/UI 大小不一致,优先校正显示器的缩放与 DPI 设置,再重启 Compton。

进阶用法与配置示例

  • 按输出应用不同规则(示例:对外接屏禁用阴影)
    • shadow-exclude = [ “class_g ‘Firefox’”, “output HDMI-1” ]
    • opacity-rule = [ “class_g ‘Gnome-terminal’ A”, “output eDP-1” ]
  • 基础配置文件模板(多屏通用起点)
    • backend = “glx”
    • glx-no-stencil = false
    • glx-copy-from-front = false
    • glx-vsync = false
    • shadow-exclude = [ “class_g ‘Firefox’” ]
    • opacity-rule = [ “class_g ‘Gnome-terminal’ A” ]
      说明:以上为最小化可工作的多屏配置,可按需增删(如模糊、窗口规则、重绘优化等)。

0