Compton 是一个轻量级的 X11 合成窗口管理器,可以显著改善 Linux 桌面环境的图形性能、减少屏幕撕裂并提供视觉效果。以下是如何配置 Compton 以优化图形性能的详细指南。
首先确保已安装 Compton:
# Debian/Ubuntu
sudo apt install compton
# Arch Linux
sudo pacman -S compton
# Fedora
sudo dnf install compton
创建或编辑 ~/.config/compton.conf
文件:
# 基本设置
backend = "glx";
paint-on-overlay = true;
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
# 性能优化
vsync = "opengl-swc";
sw-opti = true;
unredir-if-possible = true;
# 使用更高效的渲染后端
backend = "glx";
# 启用垂直同步以防止屏幕撕裂
vsync = "opengl-swc";
# 优化选项
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
glx-copy-from-front = false;
glx-swap-method = "undefined";
# 减少重绘
paint-on-overlay = true;
unredir-if-possible = true;
# 窗口阴影优化
shadow = true;
shadow-radius = 7;
shadow-offset-x = -7;
shadow-offset-y = -7;
shadow-opacity = 0.7;
shadow-exclude = [
"name = 'Notification'",
"class_g = 'Conky'",
"class_g ?= 'Notify-osd'",
"class_g = 'Cairo-clock'",
"_GTK_FRAME_EXTENTS@:c"
];
# 透明度设置
inactive-opacity = 0.8;
active-opacity = 1.0;
frame-opacity = 1.0;
inactive-opacity-override = false;
opacity-rule = [
"90:class_g = 'Alacritty' && focused",
"80:class_g = 'Alacritty' && !focused"
];
# 淡入淡出效果
fading = true;
fade-delta = 5;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [];
# 排除某些窗口的合成
no-ewmh-fullscreen = false;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
detect-rounded-corners = true;
detect-client-opacity = true;
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl-swc";
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl";
glx-swap-method = "exchange";
backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
vsync = "opengl";
compton --config ~/.config/compton.conf -b
将以下内容添加到你的桌面环境或窗口管理器的启动脚本中(如 ~/.xinitrc
或 ~/.config/autostart/compton.desktop
):
compton --config ~/.config/compton.conf -b &
pgrep compton
compton --config ~/.config/compton.conf --log-level INFO
vsync
选项backend = "xrender";
或禁用阴影效果paint-on-overlay = true;
如果 Compton 不能满足你的需求,可以考虑以下替代品: - Picom (Compton 的分支,更活跃的开发) - xcompmgr (更基础的合成管理器) - 桌面环境自带的合成器 (如 KWin, Mutter)
通过以上配置,你应该能够显著改善 Linux 桌面环境的图形性能,同时获得平滑的窗口过渡和视觉效果。根据你的具体硬件和需求调整这些设置以获得最佳效果。