unexpected behavior for backend parameter
Hi there!
First of all thank you for the amazing tool!
I'm running an Arch Linux OS with AwesomeWM and urxvt as terminal emulator into a VirtualBox virtual machine. Up to this morning I was using picom version 11.2 and everything was working fine.
This was my picom.conf:
# Shadow
shadow = true;
# opacity
inactive-opacity = 0.70;
active-opacity = 1.0; #0.92;
frame-opacity = 1.0; #0.7;
inactive-opacity-override = true;
# fading
fading = true;
fade-in-step = 0.03;
fade-out-step = 0.03;
# fade-delta = 10;
mark-wmwin-focused = true;
mark-ovredir-focused = true;
use-ewmh-active-win = false;
detect-rounded-corners = true;
detect-client-opacity = true;
Today I updated my system and picom won't start. I tried to start via CLI and obtained the following error:
> picom -b --config=$HOME/.config/picom.conf
picom: error while loading shared libraries: libconfig.so.11: cannot open shared object file: No such file or directory
I updated picom to the latest version and then I realized that the backend parameter is now mandatory.
I added backend = "xrender"; to my picom.conf file and suddenly I ended up into an unexpected behavior.
This was how my terminal was rendered:
This was the starting window:
Trying to understand what I was missing, I added some debug flags, and this was the output:
┌──(pierluigi@ArchLinux)-[~]
└─> picom -b --config=$HOME/.config/picom.conf --diagnostics --log-level debug
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Compiled script at line 0, total instructions: 53, slots: 8, stack size: 3, memory[4] = total duration, memory[3] = elapsed
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Output mapping:
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] opacity -> 0
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] shadow-opacity -> 1
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] blur-opacity -> 2
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Compiled script at line 0, total instructions: 32, slots: 6, stack size: 3, memory[3] = total duration, memory[2] = elapsed
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Output mapping:
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] opacity -> 0
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] shadow-opacity -> 1
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Compiled script at line 0, total instructions: 53, slots: 8, stack size: 3, memory[4] = total duration, memory[3] = elapsed
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Output mapping:
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] opacity -> 0
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] shadow-opacity -> 1
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] blur-opacity -> 2
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Compiled script at line 0, total instructions: 32, slots: 6, stack size: 3, memory[3] = total duration, memory[2] = elapsed
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] Output mapping:
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] opacity -> 0
[ 06/03/2025 12:52:04.464 script_compile DEBUG ] shadow-opacity -> 1
[ 06/03/2025 12:52:04.464 generate_fading_config DEBUG ] Generated 4 scripts for fading.
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom _NET_WM_WINDOW_OPACITY is 347
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom _NET_FRAME_EXTENTS is 300
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom WM_STATE is 346
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom _NET_WM_NAME is 301
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom _NET_WM_PID is 323
[ 06/03/2025 12:52:04.465 atom_getter DEBUG ] Atom WM_NAME is 39
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_CLASS is 67
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_ICON_NAME is 37
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_TRANSIENT_FOR is 68
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_WINDOW_ROLE is 350
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_CLIENT_LEADER is 351
[ 06/03/2025 12:52:04.466 atom_getter DEBUG ] Atom WM_CLIENT_MACHINE is 36
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_ACTIVE_WINDOW is 297
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _COMPTON_SHADOW is 523
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom COMPTON_VERSION is 524
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE is 307
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _XROOTPMAP_ID is 344
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom ESETROOT_PMAP_ID is 345
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _XSETROOT_ID is 525
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_DESKTOP is 308
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_DOCK is 309
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_TOOLBAR is 310
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_MENU is 311
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_UTILITY is 312
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_SPLASH is 313
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_DIALOG is 314
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_NORMAL is 321
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_DROPDOWN_MENU is 315
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_POPUP_MENU is 316
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_TOOLTIP is 317
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_NOTIFICATION is 318
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_COMBO is 319
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_WINDOW_TYPE_DND is 320
[ 06/03/2025 12:52:04.467 atom_getter DEBUG ] Atom _NET_WM_STATE is 324
[ 06/03/2025 12:52:04.468 atom_getter DEBUG ] Atom _NET_WM_STATE_FULLSCREEN is 327
[ 06/03/2025 12:52:04.468 atom_getter DEBUG ] Atom _NET_WM_BYPASS_COMPOSITOR is 483
[ 06/03/2025 12:52:04.468 atom_getter DEBUG ] Atom UTF8_STRING is 335
[ 06/03/2025 12:52:04.468 atom_getter DEBUG ] Atom C_STRING is 526
[ 06/03/2025 12:52:04.468 atom_getter DEBUG ] Atom _NET_WM_CM_S0 is 405
**Version:** v12.5 (/srcdest/picom revision a456d43)
### Extensions:
* Shape: Yes
* RandR: Yes
* Present: Present
### Misc:
* Use Overlay: No
* Config file specified: /home/pierluigi/.config/picom.conf
* Config file used: /home/pierluigi/.config/picom.conf
### Drivers (inaccurate):
modesetting
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_SGI_video_sync - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_SGI_swap_control - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_OML_sync_control - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_MESA_swap_control - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_EXT_swap_control - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_EXT_texture_from_pixmap - present
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_ARB_create_context - present
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_EXT_buffer_age - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_ARB_create_context_robustness - absent
[ 06/03/2025 12:52:04.488 glxext_init INFO ] Extension GLX_MESA_query_renderer - present
[ 06/03/2025 12:52:04.526 gl_init DEBUG ] GL_VENDOR = Mesa
### Backend: glx
* Driver vendors:
* GLX: Mesa Project and SGI
* GL: Mesa
* GL renderer: llvmpipe (LLVM 19.1.7, 256 bits)
* Accelerated: 0
(You are using a software renderer. Unless you are doing this
intentionally, this means you don't have a graphics driver
properly installed. Performance will suffer. Please fix this
before reporting your issue.)
[ 06/03/2025 12:52:04.553 egl_init WARN ] The egl backend is still experimental, use with care.
libEGL warning: DRI3 error: Could not get DRI3 device
libEGL warning: Activate DRI3 at Xorg or build mesa with DRI2
libEGL warning: DRI3 error: Could not get DRI3 device
libEGL warning: Activate DRI3 at Xorg or build mesa with DRI2
[ 06/03/2025 12:52:04.554 eglext_init INFO ] Extension EGL_EXT_buffer_age - present
[ 06/03/2025 12:52:04.554 eglext_init INFO ] Extension EGL_EXT_create_context_robustness - present
[ 06/03/2025 12:52:04.554 eglext_init INFO ] Extension EGL_KHR_image_pixmap - absent
[ 06/03/2025 12:52:04.554 eglext_init INFO ] Extension EGL_MESA_query_driver - present
[ 06/03/2025 12:52:04.554 egl_init ERROR ] EGL_KHR_image_pixmap not available.
Cannot initialize backend egl
It seems that somehow both glx and egl backends are used even if I configured xrender.
Can you help me to understand where I'm getting wrong?
I am currently having this issue as well, and it's been going on for a few days now. I hope we find a solution soon.
I was having the same issue. Downgrading package libconfig (1.8.1-1 => 1.8-1) worked for me. It is temp workaround until the issue gets sorted at libconfig. ( I used the "downgrade" tool in the AUR )
Ty so much for the temporary solution. Glad to have my Picom functioning as it should! :D
I believe since version 12 the preferred way of setting opacity is through the window rules.
The following properties from your config are now gone from the sample config in /etc/xdg/picom.conf in version 12.5:
inactive-opacity
active-opacity
inactive-opacity-override
mark-wmwin-focused
mark-ovredir-focused
### Backend: glx * Driver vendors: * GLX: Mesa Project and SGI * GL: Mesa * GL renderer: llvmpipe (LLVM 19.1.7, 256 bits) * Accelerated: 0 (You are using a software renderer. Unless you are doing this intentionally, this means you don't have a graphics driver properly installed. Performance will suffer. Please fix this before reporting your issue.)
This