-
Notifications
You must be signed in to change notification settings - Fork 953
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use EGL surfaceless platform when windowing system is not found #2339
Conversation
Falling back to egl::DEFAULT_DISPLAY usually results in X11 EGL platform being picked and then rejected because of unavailability on a head/GPU-less system. EGL_PLATFORM_SURFACELESS_MESA works with both radeonsi and llvmpipe/swrast when Xorg/Wayland sockets are being hidden from application. Needs to be tested in a truly GPU-less environment such as CI it is required to run in. Addresses gfx-rs#1551 Signed-off-by: Dmitry Sharshakov <[email protected]>
Useful for testing surfaceless Signed-off-by: Dmitry Sharshakov <[email protected]>
…eless platform Signed-off-by: Dmitry Sharshakov <[email protected]>
Signed-off-by: Dmitry Sharshakov <[email protected]>
If CI tests pass even without this, something definitely needs to be enabled there. Could you please enable those tests (or instruct me to do so if it's in code) to see if they work fine in CI with surfaceless. |
Signed-off-by: Dmitry Sharshakov <[email protected]>
Signed-off-by: Dmitry Sharshakov <[email protected]>
https://github.com/gfx-rs/wgpu/blob/master/.github/workflows/ci.yml#L67 if you add gl back to that should being running all the basic tests on GL as well as vulkan. |
Thanks, that worked. Test failure is in |
You just need to bump the outlier count in that test: bump https://github.com/gfx-rs/wgpu/blob/master/wgpu/examples/skybox/main.rs#L502 to 110 or something, it's reporting 102 outliers. |
Okay, thank you! |
Couldn't find the exact failure 🤷 |
I can't either, idk why it is returing -1... |
There're some panics, but test logs just seem messy overall (some panics and backtraces) both on CI and my system (both radeonsi/RADV and llvmpipe). |
Failure is related to skybox and texture compression again for some reason. |
I have previously increased max outliers to 105. Weird. Why does it say 4 passed while tests themselves fail and suite fails? |
the observed outlier numbers are lower, that's why it reports "ok". |
How do I fix that test? What's the exact cause of pipeline failure? |
From what I see, the failure is:
So we need to find out why it fails to load the driver. Maybe some packages are missing? Or |
This driver-related message have been seen earlier (on my machine with llvmpipe), but everything worked. |
Is there a way to extract the failing test snapshot as a build artifact to inspect it? Probably the test can be skipped since it's not directly related to EGL surface creation? |
You can probably modify the CI in your fork of the repo and upload test results as artifacts to githubs.
|
Probably first option seems preferable. Precisely we should disable (return |
The weird thing is the test passes:
I'm not sure what is returning -1 from here. |
Any ideas on merging this? Some rules to blocklist those tests on llvmpipe/CI/headless? |
Let's merge it without enabling GL testing on CI, so that the important code isn't left hanging around. |
Maybe skip that test only? |
The issue is I can't see any test in the set that is failing, it passes all the tests, then dies. |
Hey, sorry for letting this languish, lets nix the CI change and merge this in. |
Upgrading to a new test framework in #2495 pinpointed what the issue was right away. Thank you for the contribution and sorry again for the delay! |
No need to say sorry! Thank you for reviews and collaboration! It's great to work with your project! |
Connections
Addresses #1551
Description
Falling back to
egl::DEFAULT_DISPLAY
usually results in X11 EGL platform being picked and then rejected because of unavailability on a head/GPU-less system.EGL_PLATFORM_SURFACELESS_MESA
works with both radeonsi and llvmpipe/swrast when Xorg/Wayland sockets are being hidden from application. Needs to be tested in a truly GPU-less environment such as CI it is required to run in.Testing
MESA_LOADER_DRIVER_OVERRIDE=llvmpipe RUST_BACKTRACE=1 RUST_LOG=info WAYLAND_DISPLAY= DISPLAY= WGPU_BACKEND=gl cargo run --example capture
MESA_LOADER_DRIVER_OVERRIDE=llvmpipe RUST_BACKTRACE=1 RUST_LOG=info WAYLAND_DISPLAY= DISPLAY= WGPU_BACKEND=vulkan cargo run --example capture
Tested on a desktop, but without X/Wayland accessible for test program (same conditions led to
eglInitialize
error).red.png
is being created and has proper content.@ maintainers please test in CI