backend = "glx" 是compton启用gpu硬件加速的前提,必须显式写入配置文件并加英文引号,否则默认使用xrender纯cpu渲染;若缺失或语法错误(如缺引号),即使其他参数正确,glxinfo仍显示llvmpipe,加速完全无效。

backend = "glx" 是硬件加速生效的前提
Compton 不会自动启用 GPU 渲染,backend = "glx" 必须显式写入配置文件,否则默认走 xrender(纯 CPU 渲染)。很多用户改了 use-gpu = true 却没加这行,结果日志里仍显示 Using XRender backend,加速根本没启动。
常见错误现象:compton --config ~/.config/compton.conf 启动后无报错,但 glxinfo | grep "OpenGL renderer" 显示 llvmpipe,说明 Compton 没走 OpenGL 路径。
-
backend值必须是字符串,写成backend = glx(缺引号)会导致解析失败,Compton 退回到 xrender - 若系统支持 Vulkan(如较新 Mesa + AMD/NVIDIA 驱动),可尝试
backend = "vulkan",但稳定性不如glx,尤其在多显示器或高刷新率下易 crash - Wayland 环境下
backend = "wayland"仅限部分构建版本支持,Ubuntu 默认 X11 会话中强行设置将直接启动失败
vsync 和 glx-swap-method 决定画面是否撕裂
即使 backend = "glx" 生效,窗口拖动/动画仍可能撕裂,根源常在于垂直同步未对齐。关键不是简单设 vsync = true,而是配合 glx-swap-method 选择真正生效的交换策略。
典型场景:Intel 核显 + i915 驱动下 vsync = true 却无效,实际需搭配 glx-swap-method = "undefined" 或 "copy" 才能触发驱动级 vsync。
Ubuntu 26.04 LTS(代号“Resolute Raccoon”)是Canonical于2026年4月23日发布的下一代长期支持版操作系统,提供长达10年的技术支持。它搭载Linux 7.0内核与GNOME 50桌面环境,全面转向Wayland协议,并引入Rust重写的核心工具以增强安全性。官方提供适用于AMD64和ARM64架构的桌面及服务器ISO镜像,是追求前沿技术与极致稳定的开发者
-
glx-swap-method = "undefined":交由驱动自主决定,兼容性最好,多数 Intel/AMD 场景首选 -
glx-swap-method = "copy":强制双缓冲拷贝,NVIDIA 专有驱动下更稳定,但轻微增加延迟 -
glx-swap-method = "blit":旧式翻页,现代驱动已弃用,可能导致黑屏或卡死 - 设置
vsync = false时,glx-swap-method会被忽略,帧率会飙升但必然撕裂
use-damage = true 影响 GPU 负载和响应延迟
该选项控制 Compton 是否只重绘窗口变化区域(damage region)。设为 true 可显著降低 GPU 带宽占用,尤其在频繁局部更新(如终端滚动、代码编辑器光标闪烁)时效果明显;但部分老旧驱动(如某些 NVIDIA 470.x 版本)会因 damage tracking bug 导致窗口残影或卡顿。
性能影响直观:关闭时 GPU 占用恒定偏高(全屏重绘),开启后负载随界面活动动态变化,且鼠标移动跟手度提升。
- Intel i915 和 AMD amdgpu 驱动普遍兼容
use-damage = true,建议开启 - NVIDIA 专有驱动建议先测试:启动时加
--log-level 3观察日志是否有damage tracking failed类警告 - 若遇到窗口内容不刷新(如最小化后恢复空白),临时设为
false排查是否 damage 逻辑异常
glx-no-stencil 和 glx-copy-from-front 是兼容性开关
这两个参数不直接影响加速能力,但在特定驱动组合下决定 Compton 能否启动成功。例如某些 Mesa 22.x + Panfrost(RK3588)环境下,glx-no-stencil = true 会导致初始化失败并退出,而设为 false 才能加载 GLX 上下文。
它们本质是绕过 OpenGL 实现中的非核心特性,属于“降级保运行”的手段,而非性能优化项。
-
glx-no-stencil = false:启用 stencil buffer,对阴影/圆角裁剪更准确,但部分开源驱动不完全支持 -
glx-copy-from-front = true:允许从前缓冲读取像素,对某些合成特效(如模糊)必要,但可能触发 Intel 驱动的已知 bug - 若 Compton 启动时报
Failed to create GLX context或glXCreateContextAttribsARB failed,优先尝试切换这两个值
backend = "glx" 必须存在且语法正确,其余所有加速相关配置才可能生效**;一旦这里出错,后面调再多次 vsync 或 use-damage 都只是在软件渲染路径上徒劳优化。










