在 Ubuntu 上优化 Compton(现在多指 picom) 的核心目标是:降低延迟、减少撕裂、降低 CPU/GPU 占用、提升动画流畅度。下面按「安装 → 配置 → 优化参数 → 排错」一步步来。
Compton 已停止维护,现在主流是 picom(fork 版):
picom --version
如果没有,安装:
sudo apt install picom
或最新版(推荐):
sudo apt install meson ninja-build libxext-dev \
libxcb1-dev libxcb-damage0-dev libxcb-xfixes0-dev \
libxcb-shape0-dev libxcb-render0-dev libxcb-randr0-dev \
libxcb-composite0-dev libxcb-image0-dev libxcb-present-dev \
libxcb-glx0-dev libpixman-1-dev libdbus-1-dev \
libconfig-dev libgl1-mesa-dev libpcre2-dev
git clone https://github.com/yshui/picom.git
cd picom
meson setup build
ninja -C build
sudo ninja -C build install
不要用 compton,用 picom:
picom --experimental-backends --backend glx
或写到 ~/.xprofile / ~/.xinitrc:
picom --experimental-backends --backend glx &
配置文件位置:
~/.config/picom/picom.conf
如果没有:
mkdir -p ~/.config/picom
cp /etc/xdg/picom.conf ~/.config/picom/picom.conf
# 使用 glx 后端(性能最好)
backend = "glx";
# 开启实验性后端
experimental-backends = true;
# 关闭不必要的特效
shadow = false;
fade = false;
transparent = false;
# 防止撕裂(非常重要)
vsync = true;
# 让窗口管理器自己处理刷新
unredir-if-possible = true;
# 减少 CPU 占用
refresh-rate = 0;
# 只在需要时重绘
mark-wmwin-focused = true;
mark-ovredir-focused = true;
# 降低延迟
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
# 不透明窗口直接跳过合成
opacity-rule = [
"95:class_g = 'Alacritty'",
"90:class_g = 'Firefox'"
];
backend = "glx";
vsync = true;
性能最好,几乎无问题。
重点:不要开 xrender
backend = "glx";
vsync = "opengl-swc";
并确保:
nvidia-settings
如果你是 i3 / bspwm / openbox 用户:
unredir-if-possible = true;
全屏程序(游戏、视频)会自动绕过 picom,延迟最低。
✅ 检查是否开了:
解决:
shadow = false;
fade = false;
blur = false;
✅ 优先方案:
vsync = true;
backend = "glx";
可能原因:
✅ 如果你用的是:
picom --experimental-backends --backend glx --log-level trace
查看是否有:
✅ 最流畅配置思路:
如果你愿意,可以把你的:
发给我,我可以给你一份 完全定制化的 picom.conf ✅