WillPower3309 / swayfx

SwayFX: Sway, but with eye candy!
MIT License
1.29k stars 48 forks source link

GLES2 RENDERER: Error Initializing Shaders #133

Closed iamkarlson closed 1 year ago

iamkarlson commented 1 year ago

Please fill out the following:

WillPower3309 commented 1 year ago

Relevant lines:

00:00:00.095 [ERROR] [wlr] [EGL] command: eglQueryDmaBufModifiersEXT, error: EGL_BAD_PARAMETER (0x300c), message: "EGL_BAD_PARAMETER error: In eglQueryDmaBufModifiersEXT: Invalid format
"
00:00:00.095 [ERROR] [wlr] [render/egl.c:841] Failed to query dmabuf number of modifiers
00:00:00.168 [ERROR] [sway/desktop/fx_renderer.c:112] Failed to compile shader
00:00:00.168 [ERROR] [sway/desktop/fx_renderer.c:356] GLES2 RENDERER: Error Initializing Shaders
00:00:00.168 [ERROR] [sway/server.c:92] Failed to create fx_renderer
Inconn commented 1 year ago

For me with an NVIDIA gpu as well, I get those wlroots errors with normal sway as well, and it starts up fine, so it could be unrelated. Though i can only seem to get swayfx to do anything if i start it inside another wayland session (for me, hyprland). If i start it on a tty, it stops logging anything after it says "Starting sway version x.x-x" so i'm assuming on tty it just straight up doesn't work for some reason. While normal sway works started from a tty for me

ErikReider commented 1 year ago

I'm pretty sure that we don't support proprietary Nvidia drivers. What's your stance on this Will?

Inconn commented 1 year ago

I dunno if you guys are gonna look into this further, but I poked around and found out that on my device that the error occurs on the tex fragment shaders. It seems to probably be all of them, but I only tested by letting the first errored shader go through and the next one also errored. (the ones created with link_tex_program)

Inconn commented 1 year ago

found it, the shader was failing with the error 0(60) : error C7502: OpenGL does not allow type suffix 'f' on constant literals in versions below 120, so i removed the 'f' suffixes i found and it compiled and ran (i hope that didn't break anything, i assume it didn't?). haven't tested under tty yet tho so maybe that's still broken edit: yup, also works on tty now.

WillPower3309 commented 1 year ago

found it, the shader was failing with the error 0(60) : error C7502: OpenGL does not allow type suffix 'f' on constant literals in versions below 120, so i removed the 'f' suffixes i found and it compiled and ran (i hope that didn't break anything, i assume it didn't?). haven't tested under tty yet tho so maybe that's still broken edit: yup, also works on tty now.

Thanks a ton for this investigation!

iamkarlson commented 1 year ago

Thank you very much! I will check if it works