SX
Stardust XR•15mo ago
ila

GL_INVALID_FRAMEBUFFER_OPERATION

just have built stardust and it shows the error right after run:
ERROR main smithay::backend::renderer::gles: 486: [GL] GL_INVALID_FRAMEBUFFER_OPERATION in glDrawElementsInstanced
ERROR main smithay::backend::renderer::gles: 486: [GL] GL_INVALID_FRAMEBUFFER_OPERATION in glClear(incomplete framebuffer)
ERROR main smithay::backend::renderer::gles: 486: [GL] GL_INVALID_FRAMEBUFFER_OPERATION in glDrawElementsInstanced
ERROR main smithay::backend::renderer::gles: 486: [GL] GL_INVALID_FRAMEBUFFER_OPERATION in glClear(incomplete framebuffer)
what do i wrong?
22 Replies
Nova
Nova•15mo ago
you didn't does this appear to actually affect anything or is it just an annoyance?
ila
ilaOP•15mo ago
i just see monado's black empty window
Nova
Nova•15mo ago
monado's empty is generally gray try running a stardust client
ila
ilaOP•15mo ago
the black window probably is not what should i see, so i guess it affected so, seeing black window is ok until i run something more? Right?
Nova
Nova•15mo ago
no you would see a black window yea
ila
ilaOP•15mo ago
ah, ok. sorry, i thought empty screen is a bug 😄
Nova
Nova•15mo ago
no problem haha
ila
ilaOP•15mo ago
I've tried to launch some wayland clients like nautilus by passing the env var WAYLAND_DISPLAY=wayland-1. Also, I've tried to launch Flatland. None of these shows anything. Just a black Monado's window and huge amount of errors in the log of stardust. Looks like errors generated on every frame. In the same time, I can stop stardust and run xrgears. It works.
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.12s
Running `target/debug/stardust-xr-server`
before init
libEGL warning: MESA-LOADER: failed to open nouveau: /usr/lib64/dri/nouveau_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)

LOG in xrCreateInstance: Instance created
createInfo->applicationInfo.applicationName: Stardust XR
createInfo->applicationInfo.applicationVersion: 1
createInfo->applicationInfo.engineName: StereoKit
createInfo->applicationInfo.engineVersion: 12295
appinfo.detected.engine.name: (null)
appinfo.detected.engine.version: 0.0.0
quirks.disable_vulkan_format_depth_stencil: false
LOG in xrCreateInstance: Selected devices
Head: 'Nreal Air Glasses'
Left: '<none>'
Right: '<none>'
Eyes: '<none>'
Hand-Tracking Left: '<none>'
Hand-Tracking Right: '<none>'
after init
$ cargo run
Finished dev [unoptimized + debuginfo] target(s) in 0.12s
Running `target/debug/stardust-xr-server`
before init
libEGL warning: MESA-LOADER: failed to open nouveau: /usr/lib64/dri/nouveau_dri.so: cannot open shared object file: No such file or directory (search paths /usr/lib64/dri, suffix _dri)

LOG in xrCreateInstance: Instance created
createInfo->applicationInfo.applicationName: Stardust XR
createInfo->applicationInfo.applicationVersion: 1
createInfo->applicationInfo.engineName: StereoKit
createInfo->applicationInfo.engineVersion: 12295
appinfo.detected.engine.name: (null)
appinfo.detected.engine.version: 0.0.0
quirks.disable_vulkan_format_depth_stencil: false
LOG in xrCreateInstance: Selected devices
Head: 'Nreal Air Glasses'
Left: '<none>'
Right: '<none>'
Eyes: '<none>'
Hand-Tracking Left: '<none>'
Hand-Tracking Right: '<none>'
after init
startup log messages Could libEGL warning be related?
Nova
Nova•15mo ago
you need to launch flatland and the wayland app at the same time though yes, libegl warning is probably the issue :p
ila
ilaOP•15mo ago
Just have tried. Nothing.
Nova
Nova•15mo ago
yep that's libegl this is a graphics driver issue not stardust
ila
ilaOP•15mo ago
I've found the magical commands that help to run something. I can run flatland with these env vars:
__GLX_VENDOR_LIBRARY_NAME=mesa MESA_LOADER_DRIVER_OVERRIDE=zink
__GLX_VENDOR_LIBRARY_NAME=mesa MESA_LOADER_DRIVER_OVERRIDE=zink
I guess, as a result, smithay changes its rendering backeng from gles to egl. Though it still spits another bunch of errors, at least it allows showing a window.
ERROR main smithay::backend::egl::ffi: 64: [EGL] 0x300c (BAD_PARAMETER) eglDupNativeFenceFDANDROID: eglDupNativeFenceFDANDROID
ERROR [client_egl_insert_fence] Failed to get FD from fence!
ERROR [handle_fencing_or_finish] Failed to insert a fence
MESA: error: ZINK: vkGetSemaphoreFdKHR failed (VK_ERROR_FEATURE_NOT_PRESENT)
ERROR main smithay::backend::egl::ffi: 64: [EGL] 0x300c (BAD_PARAMETER) eglDupNativeFenceFDANDROID: eglDupNativeFenceFDANDROID
ERROR [client_egl_insert_fence] Failed to get FD from fence!
ERROR [handle_fencing_or_finish] Failed to insert a fence
MESA: error: ZINK: vkGetSemaphoreFdKHR failed (VK_ERROR_FEATURE_NOT_PRESENT)
Then I can run Flatland with cargo run that doesn't show anything. Next any wayland client renders its window inside stardust if run with WAYLAND_DISPLAY=wayland-1 I'm glad to see that small step, but where is mouse input? Is it implemented? The mouse input only works in flatscreen mode.
Nova
Nova•15mo ago
yes you need to use the non-spatial-input repo read its README
ila
ilaOP•15mo ago
ok, thanks, i'll look into it @Skull This thread
Skull
Skull•15mo ago
As always, nvidia being fun
ila
ilaOP•15mo ago
With the zink driver, the bug probably is Monado related. This code is executed, however it strongly looks like it is android related. https://gitlab.freedesktop.org/monado/monado/-/blob/main/src/xrt/compositor/client/comp_egl_client.c#L394-408
ila
ilaOP•15mo ago
Yep. I've it fixed. It is Monado's bug. Stardust works without errors and without flickering now.
Nova
Nova•15mo ago
:yippee:
Skull
Skull•15mo ago
Pull request in?
ila
ilaOP•15mo ago
No. I patched my own build. 😄 Actually, it needs to do a discussion. Those lines of code have the runtime check that GL extension exists or doesn't. I checked glxinfo and the extension doesn't exist. However, the code still executing. So the problem could be deeper than just try to exclude it at compile time.
ila
ilaOP•15mo ago
I created the issue with the detailed description: https://gitlab.freedesktop.org/monado/monado/-/issues/292
GitLab
VK_ERROR_FEATURE_NOT_PRESENT on Linux with Zink driver (#292) · Iss...
I run an application that use Monado runtime. Since I've an issue with native Nvidia driver, I use Zink by setting Mesa's parameters:
ila
ilaOP•15mo ago
No, it is not a Monado's bug. Something actually reports that EGL_ANDROID_native_fence_sync extension is available, but it doesn't work.
Want results from more Discord servers?
Add your server