插件窝 干货文章 Linux Compton配置指南:如何提升桌面性能

Linux Compton配置指南:如何提升桌面性能

Compton true glx class 421    来源:    2025-05-05

Linux Compton 配置指南:提升桌面性能

Compton 是一个轻量级的 X11 合成窗口管理器,可以显著改善 Linux 桌面的视觉效果和性能。以下是一份详细的配置指南,帮助您优化 Compton 设置以提升桌面性能。

1. 安装 Compton

Ubuntu/Debian:

sudo apt install compton

Arch Linux:

sudo pacman -S compton

Fedora:

sudo dnf install compton

2. 基本配置

创建或编辑配置文件 ~/.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;

# 窗口阴影
shadow = true;
shadow-radius = 12;
shadow-offset-x = -15;
shadow-offset-y = -15;
shadow-opacity = 0.3;
shadow-exclude = [
    "name = 'Notification'",
    "class_g = 'Conky'",
    "class_g ?= 'Notify-osd'",
    "class_g = 'Cairo-clock'",
    "_GTK_FRAME_EXTENTS@:c"
];

# 透明度设置
inactive-opacity = 0.9;
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 = [];

3. 高级性能优化

针对 Intel 集成显卡的优化

backend = "glx";
glx-no-stencil = true;
glx-copy-from-front = false;
glx-swap-method = "exchange";

针对 NVIDIA 显卡的优化

backend = "glx";
glx-no-stencil = true;
glx-no-rebind-pixmap = true;
glx-swap-method = "buffer-age";

针对 AMD 显卡的优化

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

4. 排除特定应用程序

有些应用程序可能与 Compton 不兼容,可以将其排除:

shadow-exclude = [
    "name = 'Notification'",
    "class_g = 'Conky'",
    "class_g ?= 'Notify-osd'",
    "class_g = 'Cairo-clock'",
    "_GTK_FRAME_EXTENTS@:c",
    "class_g = 'Firefox' && argb"
];

# 禁用某些窗口的透明度
opacity-rule = [
    "0:_NET_WM_STATE@:32a *= '_NET_WM_STATE_HIDDEN'",
    "100:class_g = 'XTerm'"
];

5. 启动 Compton

手动启动

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

自动启动(添加到桌面环境的启动项)

对于大多数桌面环境,可以将上述命令添加到启动应用程序中。

作为 systemd 服务(适用于高级用户)

创建 ~/.config/systemd/user/compton.service

[Unit]
Description=Compton compositor
After=display-manager.service

[Service]
ExecStart=/usr/bin/compton --config ~/.config/compton.conf -b
Restart=always
RestartSec=3

[Install]
WantedBy=default.target

然后启用服务:

systemctl --user enable compton.service
systemctl --user start compton.service

6. 故障排除

屏幕撕裂问题

尝试不同的 vsync 设置:

vsync = "opengl";  # 或 "opengl-swc", "opengl-oml", "none"

性能问题

尝试禁用某些效果:

shadow = false;
fading = false;

特定应用程序显示问题

将问题应用程序添加到排除列表中。

7. 性能监控

使用以下命令监控 Compton 的性能影响:

watch -n 1 cat /proc/$(pidof compton)/status | grep -E 'VmRSS|Threads'

通过以上配置,您应该能够获得一个既美观又高性能的桌面环境。根据您的硬件和需求调整这些设置,找到最适合您的配置。