I am trying to use wpaperd for desktop backgrounds but after an Nvidia update a few months ago, it no longer works properly. The images appear in the top left corner of the screen (if they do at all) and there’s other weird behaviour.
The program spits out this error:
ERROR [wpaperd::surface]
0: Failed to draw on display DP-1
1: Failed to draw the wallpaper
2: Failed to swap EGL buffers
3: Failed to draw the content of the GL buffer: 0x555556d9edb0
4: An Surface argument does not name a valid surface (window, pixel buffer or pixmap) configured for GL rendering.
I modified it to use the EGL debug interface and libEGL_nvidia
spits out this:
[EGL DEBUG] Error: 12301, Command: eglSwapBuffers, Type: 13242, Message: EGL_BAD_SURFACE error: In eglSwapBuffers: EGLSurface (0x56f6cb91) is not current draw surface
This is odd because the pointer there is the wrong size and never corresponds to the surface I provide. It also emits this immediately after I try and set it as the current surface, which doesn’t emit any debug message at all so you’d think it succeeded. Running strings on the binary, the format string is EGLSurface (%#x) is not current draw surface
which again seems like the wrong size type, but it’s used all throughout this library.
I suspect the people in this issue are suffering from the same bug but getting different symptoms. I also seem to get a slightly different error log the first time I run it.
nvidia-bug-report.log.gz (1.6 MB)