This VM integration test spawns Gnome, monado-service, stardust-xr-server, flatland and weston-cliptest and tests that the functionality works correctly. The result is a screenshot. If any program in the test produces an exit code above 0 it will fail the test, graphical rendering bugs should be visible in the resulting screenshot
Stardust XR Reference Server
This project is a usable Linux display server that reinvents human-computer interaction for all kinds of XR, from putting 2D/XR apps into various 3D shells for varying uses to SDF-based interaction.
Prerequisites
- Cargo
- CMake
- EGL+GLES 3.2
- GLX+Xlib
- fontconfig
- dlopen
- OpenXR Loader (required even if run in flatscreen mode)
Build
cargo build
Install
cargo install
Test
Gnome Graphical Integration Test
-
nix build .#gnome-graphical-testThis test uses Nix to reproducibly execute a QEMU virtual machine which spawns a full Gnome desktop. It runs
monado-service,stardust-xr-serverflatlandunderneath of Gnome and then attachesweston-cliptestto theflatlandprocess running underneath ofstardust-xr-server, the result is a screenshot in PNG format that should look like expected. If any process in this test produces an exit code above 0, the test will fail, graphical bugs should be visible in the screenshot. An example of the result is below.Result
Everything
nix flake check will build every test underneath of the checks attribute in the flake.nix