Compton 是 Linux 下轻量级的合成窗口管理器(compositor),主要用于改善窗口渲染、减少屏幕撕裂、提供透明效果等。以下是一些实用技巧和配置建议,帮助你充分发挥其功能:
bash
sudo apt install compton
bash
sudo pacman -S compton
bash
sudo dnf install compton
bash
compton --backend glx --vsync opengl-swc
~/.xinitrc
或桌面环境启动脚本):bash
compton -b
编辑配置文件(通常为 ~/.config/compton.conf
),以下是一些关键参数:
backend = "glx"; # 使用 OpenGL 后端(或 "xrender" 兼容旧硬件)
vsync = "opengl-swc"; # 垂直同步(可选 opengl/opengl-swc/drm)
glx-no-stencil = true; # 禁用模板缓冲提升性能
glx-swap-method = "buffer-age"; # 减少延迟
inactive-opacity = 0.8; # 非活动窗口透明度
active-opacity = 1.0; # 活动窗口透明度
opacity-rule = [ # 自定义透明度规则
"90:class_g = 'Alacritty'",
"80:class_g = 'Thunar'"
];
blur-background = true; # 背景模糊(需内核支持)
blur-method = "kawase"; # 模糊算法(可选 "kernel" / "gaussian")
shadow = true; # 启用窗口阴影
shadow-radius = 12; # 阴影半径
shadow-offset-x = -5; # 阴影偏移
shadow-offset-y = -5;
shadow-exclude = [ # 排除特定窗口阴影
"class_g = 'Firefox'",
"name = 'Notification'"
];
unredir-if-possible = true; # 全屏窗口时禁用合成(提升游戏性能)
unredir-if-possible-exclude = [ "class_g = 'mpv'" ]; # 排除例外
通过快捷键动态修改窗口透明度(需 xdotool
):
# 绑定快捷键(如 i3wm 配置)
bindsym $mod+plus exec "xdotool getactivewindow set_window_opacity 0.8"
vsync
无效,尝试 DRM 后端(需硬件支持):
ini
backend = "glx";
vsync = "drm";
查看 Compton 的 GPU 占用:
watch -n 1 cat /sys/kernel/debug/dri/0/amdgpu_pm_info
(路径根据显卡驱动调整)
ini
backend = "xrender"; # 兼容模式
ini
blur-background = false;
fade-delta = 0;
ini
shadow-exclude = [ "class_g = 'Steam'" ];
unredir-if-possible-exclude = [ "class_g = 'mpv'" ];
指定同步显示器(避免撕裂):
vsync = "opengl-swc";
xrender-sync-fence = true;
完整示例可参考 官方 Wiki 或以下精简版:
# ~/.config/compton.conf
backend = "glx";
vsync = "opengl-swc";
glx-no-stencil = true;
inactive-opacity = 0.9;
blur-background = true;
shadow = true;
shadow-radius = 10;
如果 Compton 表现不佳,可以尝试:
- Picom: Compton 的活跃分支(推荐)
bash
sudo apt install picom
- Wayland 合成器:如 sway
(Wayland 原生环境)
通过合理配置,Compton 能显著提升 Linux 桌面体验。建议根据硬件性能逐步调整参数,平衡效果与资源占用。