温馨提示×

如何调试compton错误

小樊
43
2026-07-23 08:26:32
栏目: 编程语言

调试 compton(或它的继任者 picom) 的显示/合成错误,通常可以按下面步骤系统排查。


一、确认你用的是 compton 还是 picom

compton 已基本停止维护,多数发行版已替换为 picom

compton --version
picom --version

如果 compton 实际指向 picom,请统一使用 picom 来调试。


二、以“可见错误”方式启动

1️⃣ 前台运行 + 显示日志(最重要)

picom --no-daemon --backend glx

compton --no-daemon

观察终端输出,常见错误包括:

  • Failed to load backend
  • No GLX context
  • Another composite manager is running

三、常见错误与解决方法

1. 另一个合成器已在运行

Another composite manager is already running

✅ 解决:

killall picom
killall compton
killall xfwm4  # XFCE
killall mutter # GNOME
killall kwin   # KDE

2. GLX / OpenGL 错误

Failed to initialize the backend (GLX)

✅ 尝试:

picom --backend xrender

如果 xrender 正常,说明是显卡驱动或 OpenGL 问题。


3. NVIDIA 显卡问题(非常常见)

症状:

  • 黑屏
  • 屏幕闪烁
  • 透明窗口异常

✅ 推荐配置:

picom --backend glx --vsync none

或在配置文件中:

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

NVIDIA 用户常需:

nvidia-settings

关闭 Force Full Composition Pipeline 或反向尝试开启。


4. 多显示器 / 分辨率变化后崩溃

✅ 尝试:

picom --unredir-if-possible

或关闭:

unredir-if-possible = false;

5. 透明、阴影、模糊异常

关闭模糊测试:

blur-method = "none";

关闭阴影:

shadow = false;

四、使用调试参数

1️⃣ 提高日志等级

picom --log-level trace

2️⃣ 指定配置文件

picom --config ~/.config/picom/picom.conf

五、检查配置文件错误

常见错误:

  • 使用了 compton 旧语法
  • true/false 写成 1/0
  • 缺少分号 ;

✅ 验证配置:

picom --config ~/.config/picom/picom.conf --no-daemon

六、最小可用配置(排错用)

backend = "xrender";
vsync = false;
shadow = false;
fade = false;
blur = false;

如果这个配置能正常运行,再逐步开启功能。


七、环境检查清单

echo $XDG_SESSION_TYPE
glxinfo | grep "OpenGL renderer"
nvidia-smi   # NVIDIA

确保:

  • 使用 X11(不是 Wayland)
  • 驱动已正确加载

八、快速排错流程(推荐)

  1. 前台运行 picom --no-daemon
  2. xrender 后端
  3. 关闭阴影 / 模糊 / 渐变
  4. 确认无其他合成器
  5. 检查显卡驱动

如果你愿意,可以把 具体错误信息 + 显卡型号 + 发行版 发出来,我可以直接帮你定位到具体配置。

0