温馨提示×

centos下compton怎样优化

小樊
48
2026-09-21 13:10:54
栏目: 智能运维

在 CentOS 下使用 compton(或现在更常见的 fork:picom)做窗口合成器时,优化目标通常是:更流畅、更低延迟、更低 CPU/GPU 占用、避免闪屏/撕裂。下面从安装、配置、参数、常见坑几个方面说明。


一、先确认环境

1. 显卡驱动

先确认你用的是哪种:

lspci | grep -i vga
  • Intel / AMD:开源驱动一般足够
  • NVIDIA:
    • 倾向用 NVIDIA 专有驱动
    • 避免 compton + nouveau 组合(问题多)

2. 桌面环境

  • GNOME / KDE:不建议用 compton(自带合成器)
  • XFCE / LXDE / i3 / Openbox / Awesome:适合用 compton

二、安装 compton / picom

CentOS 7

yum install epel-release
yum install compton

CentOS 8 / Stream

dnf install compton
# 或
dnf install picom

建议优先用 picom(compton 已停更)


三、基础优化配置(重点)

1. 关闭不必要的特效

~/.config/compton.conf

backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;

shadow = false;
fade = false;
menu-opacity = 1.0;
inactive-opacity = 1.0;

vsync = "opengl-swc";

unredir-if-possible = true;

✅ 说明:

  • shadow=false:大幅降低 CPU
  • fade=false:减少延迟
  • unredir-if-possible:全屏视频/游戏时直出,不合成

四、避免撕裂 & 卡顿

方案 A:OpenGL + 软件 vsync(最稳)

vsync = "opengl-swc";

方案 B:NVIDIA 用户

vsync = "none";

并在 nvidia-settings 中开启:

  • ✅ Force Full Composition Pipeline

五、提高性能的关键参数

paint-on-overlay = true;
sw-opti = true;
use-damage = true;

这些能显著减少重绘区域。


六、CPU 占用过高怎么办?

1. 禁用透明窗口

opacity-rule = [
  "100:class_g = '.*'"
];

2. 限制刷新率

refresh-rate = 60;

3. 不用 XRender

❌ 不推荐:

backend = "xrender";

✅ 用 glx 或 egl


七、开机自启(XFCE / i3 示例)

i3

exec --no-startup-id compton --config ~/.config/compton.conf

XFCE

设置 → 会话和启动 → 自启程序 → 添加:

compton --config ~/.config/compton.conf

八、调试 & 排错

查看日志

compton --config ~/.config/compton.conf -b --log-level trace

常见现象解决

问题 解决
闪屏 关 shadow / 换 backend
视频卡 开 unredir-if-possible
登录黑屏 先 --no-startup-id 测试
高 CPU 关 fade/shadow

九、推荐“性能优先”完整配置示例

backend = "glx";
vsync = "opengl-swc";
shadow = false;
fade = false;
unredir-if-possible = true;
use-damage = true;
glx-no-stencil = true;
paint-on-overlay = true;
sw-opti = true;

如果你愿意,可以告诉我:

  • CentOS 版本
  • 桌面环境
  • 显卡型号

我可以给你一份完全针对性的 compton 配置。

0 踩