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
46 lines
1.3 KiB
Markdown
46 lines
1.3 KiB
Markdown
# 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
|
|
1. Cargo
|
|
2. CMake
|
|
3. EGL+GLES 3.2
|
|
4. GLX+Xlib
|
|
5. fontconfig
|
|
6. dlopen
|
|
7. OpenXR Loader (required even if run in flatscreen mode)
|
|
|
|
## Build
|
|
```bash
|
|
cargo build
|
|
```
|
|
|
|
## Install
|
|
```bash
|
|
cargo install
|
|
```
|
|
|
|
## Test
|
|
|
|
##### Gnome Graphical Integration Test
|
|
|
|
- `nix build .#gnome-graphical-test`
|
|
|
|
This test uses Nix to reproducibly execute a QEMU virtual machine which
|
|
spawns a full Gnome desktop. It runs `monado-service`, `stardust-xr-server`
|
|
`flatland` underneath of Gnome and then attaches `weston-cliptest` to the
|
|
`flatland` process running underneath of `stardust-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`
|
|
|