CentOS 下 Compton 与显卡驱动的配合要点
Compton 是 X11 窗口合成器,本身不“设置”显卡驱动;要让它发挥 GPU 硬件加速,关键是先正确安装并加载 NVIDIA/AMD/Intel 驱动,再在 Compton 中选择合适的渲染后端(如 GLX)。若使用 Wayland 会话,Compton 不参与合成。下文按常见显卡给出驱动安装与 Compton 加速配置的最小可行步骤。
前置检查与驱动安装
- 确认显卡型号与当前驱动状态:
- 查看显卡与内核驱动绑定:lspci -k | grep -A 3 -i “vga|3d”
- 更新系统:sudo yum update -y(CentOS 8+/Stream 可用 sudo dnf update -y)
- NVIDIA 专有驱动(示例为 CentOS 7/Stream,使用 ELRepo)
- 禁用 nouveau:
- echo “blacklist nouveau” | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
- echo “options nouveau modeset=0” | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
- sudo dracut --force && sudo reboot
- 安装驱动:
- sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
- sudo yum install -y https://www.elrepo.org/elrepo-release-7.el7.elrepo.noarch.rpm
- sudo yum --enablerepo=elrepo install -y nvidia-driver
- 验证:nvidia-smi 应显示 GPU 型号、驱动版本、温度 等信息
- AMD 显卡
- 安装开源驱动:sudo yum install -y xorg-x11-drv-amdgpu
- 验证:lspci -k | grep -A 2 -i “VGA” 应显示 amdgpu
- Intel 显卡
- 通常内核自带 i915 驱动,确保系统更新即可;如需较新特性可启用官方图形仓库(视版本而定)。
Compton 启用 GPU 加速的配置
- 配置文件路径与创建
- 用户级:~/.config/compton.conf
- 系统级:/etc/xdg/compton.conf
- 建议优先使用用户级配置(不存在则创建):mkdir -p ~/.config && nano ~/.config/compton.conf
- 最小可用配置示例(X11 + NVIDIA/AMD/Intel 通用,优先 GLX)
- backend = “glx”
- vsync = true(或 false,按显示器与撕裂情况调整)
- shadow = false(提升性能,可按需开启)
- opacity = false(提升性能,可按需开启)
- refresh-rate = 60(与显示器刷新率一致)
- 可选性能项:glx-no-stencil = true、glx-copy-from-front = true、glx-fbo = true
- 启动与自启
- 手动前台调试:compton --config ~/.config/compton.conf --verbose
- 开机自启(systemd 用户服务示例):
- [Unit] Description=Compton; After=display-manager.service
- [Service] ExecStart=/usr/bin/compton -c /home/你的用户名/.config/compton.conf; Restart=on-failure; User=你的用户名
- [Install] WantedBy=multi-user.target
- 启用:systemctl --user daemon-reload && systemctl --user enable --now compton.service
- 验证要点
- 日志应包含:Using GLX backend、GPU acceleration enabled 等关键词
- 若使用 NVIDIA,确保 nvidia 内核模块已加载(lsmod | grep nvidia),且未使用 nouveau。
常见问题与排查
- 驱动未生效
- nouveau 未禁用:lsmod | grep nouveau 应无输出;必要时重做黑名单并重建 initramfs
- NVIDIA 未加载:lsmod | grep nvidia;无输出则重装驱动并重启
- Compton 启动失败或黑屏
- 查看日志:compton 前台运行或重定向日志(2> /tmp/compton.log),检查 GLX 扩展缺失、权限不足等
- 权限问题:确保可访问 /dev/nvidia*(常见于某些权限/服务配置场景)
- 性能低下或撕裂
- 关闭不必要特效:shadow = false、opacity = false
- 调整刷新率:refresh-rate = 60
- 尝试:glx-no-stencil = true
- 兼容性建议
- 若出现 GLX 兼容问题,可临时改用 backend = “xrender”(性能较低但更稳)
- CentOS 8 已停止官方支持,建议迁移 CentOS Stream/Rocky Linux/AlmaLinux;Wayland 会话下 Compton 不参与合成。