在 CentOS 上用 compton(现已常称为 picom)来做窗口合成加速,核心目的是:
下面按 CentOS 7 / 8 / Stream 通用思路说明。
必须使用 X11(不是 Wayland)
echo $XDG_SESSION_TYPE
若为 wayland,请注销后选择 GNOME on Xorg 或改用轻量 WM。
已安装显卡驱动
nouveau有 EPEL 源(推荐)
sudo yum install epel-release
# 或
sudo dnf install epel-release
sudo yum install compton
sudo dnf install compton
若没有:
sudo dnf install picom
新版本更推荐 picom(compton 已停止维护)
创建配置文件:
mkdir -p ~/.config/compton
vim ~/.config/compton/compton.conf
backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
vsync = "opengl-swc";
paint-on-overlay = true;
shadow = false;
fade = false;
unredir-if-possible = true;
detect-rounded-corners = true;
use-damage = true;
opacity-rule = [
"90:class_g = 'URxvt'",
"95:class_g = 'Firefox'"
];
说明:
backend = "glx":使用 OpenGL 加速(关键)vsync:防止撕裂unredir-if-possible:全屏游戏时绕过合成,提升性能compton --config ~/.config/compton/compton.conf -b
在 ~/.xinitrc 或 WM 自启里加:
compton --config ~/.config/compton/compton.conf -b &
mkdir -p ~/.config/autostart
cp /usr/share/applications/compton.desktop ~/.config/autostart/
或自建:
[Desktop Entry]
Type=Application
Exec=compton --config ~/.config/compton/compton.conf
Hidden=false
X-GNOME-Autostart-enabled=true
Name=Compton
gsettings set org.gnome.mutter composite false
mate-tweak → Windows → 关闭“启用合成”
设置 → 窗口管理器微调 → 合成器 → 关闭
compton --version
glxinfo | grep "direct rendering"
应看到:
direct rendering: Yes
backend = "xrender"paint-on-overlayvsync = "none";
并在驱动中开启 ForceCompositionPipeline
直接用:
sudo dnf install picom
✅ 用 X11
✅ 用 glx 后端
✅ 关掉系统合成器
✅ 关阴影 / 动画
✅ 全屏时 unredirect
如果你告诉我 CentOS 版本 + 桌面环境(GNOME/i3/XFCE),我可以给你一份精确配置。