Tons of "Failed to query info of pixmap" errors in the log
Picom has a lot (dozens per second) of errors in the log:
Jun 11 00:58:04 wedens-pc picom[32282]: [ 06/11/2020 00:58:04.744 glx_bind_pixmap ERROR ] Failed to query info of pixmap 0x00c01378.
Jun 11 00:58:04 wedens-pc picom[32282]: [ 06/11/2020 00:58:04.744 paint_one ERROR ] Failed to bind texture for window 0x01800002.
Jun 11 00:58:04 wedens-pc picom[32282]: [ 06/11/2020 00:58:04.744 paint_one ERROR ] Window 0x01800002 is missing painting data.
I'm not sure what kind of observable problems it might cause, but I don't see any.
Platform
NixOS 20.03
GPU, drivers, and screen setup
GPU Nvidia GTX 660 driver version: 440.82 Single monitor
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 2048 MB
Total available memory: 2048 MB
Currently available dedicated video memory: 1616 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 660/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 440.82
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL version string: 4.6.0 NVIDIA 440.82
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)
OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 440.82
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Environment
No DE. WM: Xmonad 0.15
picom version
picom --diagnostics output:
**Version:** v8
### Extensions:
* Shape: Yes
* XRandR: Yes
* Present: Present
### Misc:
* Use Overlay: No (Another compositor is already running)
* Config file used: None
### Drivers (inaccurate):
NVIDIA
Configuration:
# fading
fading = true;
fade-delta = 4;
fade-in-step = 0.03;
fade-out-step = 0.03;
fade-exclude = [];
# shadows
shadow = true;
shadow-offset-x = -5;
shadow-offset-y = -5;
shadow-opacity = 0.75;
shadow-exclude = ["name = 'Notification'","_GTK_FRAME_EXTENTS@:c"];
# opacity
active-opacity = 1.0;
inactive-opacity = 1.0;
inactive-dim = 0.0;
opacity-rule = [];
wintypes:
{
dock = { shadow = false; };
dnd = { shadow = false; };
popup_menu = { opacity = 1.0; };
dropdown_menu = { opacity = 1.0; };
};
# other options
backend = "glx";
vsync = false;
refresh-rate = 0;
# The blur radius for shadows, in pixels.
shadow-radius = 7;
# Try to detect WM windows (a non-override-redirect window with no
# child that has 'WM_STATE') and mark them as active.
mark-wmwin-focused = true;
# Detect '_NET_WM_OPACITY' on client windows, useful for window managers
# not passing '_NET_WM_OPACITY' of client windows to frame windows.
detect-client-opacity = true;
# Use EWMH '_NET_ACTIVE_WINDOW' to determine currently focused window,
# rather than listening to 'FocusIn'/'FocusOut' event. Might have more accuracy,
# provided that the WM supports it.
use-ewmh-active-win = true;
# Unredirect all windows if a full-screen opaque window is detected,
# to maximize performance for full-screen windows. Known to cause flickering
# when redirecting/unredirecting windows.
unredir-if-possible = true;
# GLX backend: Avoid using stencil buffer, useful if you don't have a stencil buffer.
# Might cause incorrect opacity when rendering transparent content (but never
# practically happened) and may not work with blur-background.
# My tests show a 15% performance boost. Recommended.
glx-no-stencil = true;
# Use X Sync fence to sync clients' draw calls, to make sure all draw
# calls are finished before picom starts drawing. Needed on nvidia-drivers
# with GLX backend for some users.
xrender-sync-fence = true;
No errors with --experimental-backends with the same config, FWIW.
Without --experimental-backens I get a ton of these errors when moving mouse fast along tint2 taskbars.
With --experimental-backens moving mouse fast over multiple window icons in tint2 taskbars crashes picom with:
picom: ../src/win.c:318: win_release_images: Assertion `!win_check_flags_all(w, WIN_FLAGS_SHADOW_STALE)' failed.
My hypothesis is that picom can't handle a situation when lots of tooltips are being created and destroyed at once, which is happening when moving mouse over multiple window icons on tint2 taskbars fast enough.
For me it happes when just switching between windows, but not always and without pattern to reproduce. I did it with simpleterm (st) and urxvt - just create 2 windows and switch between them many times, some will lead to errors at the top of issue start.
Another pattern, probably more reliable (this sime simpel create of 2 windows after start was not enough):
- start picom
- create 2 windows
- switch to other desktop, do something at it and return back
- try two switch window, created before
I have a simmilar issue, no effect, just there filling up journal. here it is: glx_bind_pixmap ERROR ] Failed to query info of pixmap 0x008003a2
on Nixos 22.11 + xmonad latest
Same here when switching from one window to another. My X terminals are littered with:
glx_bind_pixmap ERROR ] Failed to query info of pixmap 0x0485768f.
paint_one ERROR ] Failed to bind texture for window 0x04ac19ba.
paint_one ERROR ] Window 0x04ac19ba is missing painting data.
This is picom 8.2 on Gentoo. GLX is from x11-drivers/nvidia-drivers-460.91.03 for my GeForce 980M.
I'll start experimenting with the various GLX settings in /etc/picom.conf and report here if anything helps.