温馨提示×

ubuntu compton怎么优化

小樊
46
2026-07-27 04:39:58
栏目: 智能运维

在 Ubuntu 上优化 Compton(现在多指 picom) 的核心目标是:降低延迟、减少撕裂、降低 CPU/GPU 占用、提升动画流畅度。下面按「安装 → 配置 → 优化参数 → 排错」一步步来。


一、先确认你用的是不是 picom

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

✅ 推荐优化配置(适合 Ubuntu + Intel/AMD/NVIDIA)

# 使用 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'"
];

四、不同显卡的优化建议

✅ Intel / AMD(开源驱动)

backend = "glx";
vsync = true;

性能最好,几乎无问题。


✅ NVIDIA(专有驱动)

重点:不要开 xrender

backend = "glx";
vsync = "opengl-swc";

并确保:

nvidia-settings
  • ✅ 关闭 Force Full Composition Pipeline(有时反而更卡)
  • ✅ 开启 Allow Flipping

五、降低延迟(游戏 / 输入敏感场景)

如果你是 i3 / bspwm / openbox 用户:

unredir-if-possible = true;

全屏程序(游戏、视频)会自动绕过 picom,延迟最低。


六、常见性能问题排查

1️⃣ CPU 占用高

✅ 检查是否开了:

  • shadow = true
  • fade = true
  • blur = true ❌(非常吃性能)

解决:

shadow = false;
fade = false;
blur = false;

2️⃣ 屏幕撕裂

✅ 优先方案:

vsync = true;
backend = "glx";

3️⃣ 启动慢 / 黑屏

可能原因:

  • 多个 compositor 冲突(GNOME / KWin / Mutter)

✅ 如果你用的是:

  • GNOME → 不要用 picom
  • KDE → 不要用 picom
  • i3 / bspwm / openbox → ✅ 适合 picom

七、调试命令(非常有用)

picom --experimental-backends --backend glx --log-level trace

查看是否有:

  • 渲染失败
  • backend 不支持
  • vsync 问题

八、总结(直接照抄版)

最流畅配置思路

  • ✅ 用 picom
  • ✅ glx 后端
  • ✅ 关阴影 / 淡入淡出 / 模糊
  • ✅ 开 vsync
  • ✅ 全屏绕过合成

如果你愿意,可以把你的:

  • 显卡型号
  • Ubuntu 版本
  • 窗口管理器(i3 / GNOME / KDE / 其他)

发给我,我可以给你一份 完全定制化的 picom.conf

0