Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Register
  • Sign in
  • X xrdesktop
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 31
    • Issues 31
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 1
    • Merge requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • xrdesktopxrdesktop
  • xrdesktop
  • Wiki
  • openxr

openxr · Changes

Page history
Update openxr authored May 11, 2020 by Christoph Haag's avatar Christoph Haag
Hide whitespace changes
Inline Side-by-side
openxr.md
View page @ 97561a64
......@@ -5,6 +5,33 @@ Depending on your gxr build settings, openvr might be the default backend and ne
gsettings set org.xrdesktop default-api openxr
gsettings set org.xrdesktop default-mode scene
## Running xrdesktop on Monado
First start the monado service,
```
/usr/bin/monado-service
```
or if you compiled monado from source without installing:
```
/path/to/monado/build/src/xrt/targets/service/monado-service
```
If Monado was set as active runtime (by default monado does so on installation by creating `/etc/xdg/openxr/1/active_runtime.json`), xrdesktop is now ready to run.
If Monado is not set as active runtime, the environment variable `XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json` has to be set for the window manager
```
XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json kwin_x11 --replace
```
or
```
XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json gnome-shell --replace
```
---
---
# Status
xrdesktop 0.14 supports the scene mode on OpenXR, but not the overlay mode.
......@@ -19,16 +46,31 @@ With xrdesktop 0.14, adding additional default bindings requires adding a json f
At this time the only viable OpenXR runtime for Linux is Collabora's "Monado" runtime.
The best way to try out xrdesktop on Monado is by using a Valve Index and the `experimental/libsurvive-controllers-wip` branch from Monado (Future plans include mainlining this branch to master, and creating a native lighthouse driver for Monado).
## OpenXR Loader
For xrdesktop to run with OpenXR, the OpenXR loader always has to be installed.
* Archlinux: https://aur.archlinux.org/packages/openxr-loader-git/
* Debian: [apt install libopenxr-loader1](https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=libopenxr-loader1)
* Ubuntu: [Monado PPA](https://launchpad.net/~monado-xr/+archive/ubuntu/monado)
If the openxr loader is not available for your distribution yet, you need to build it from source, for example
```
git clone https://github.com/KhronosGroup/OpenXR-SDK.git
cd OpenXR-SDK
cmake -DCMAKE_INSTALL_PREFIX=/usr -G Ninja -Bbuild
ninja -C build install
```
## Monado with Valve Index support via libsurvive
If you want special monado build options, for example libsurvive support you will have to compile monado from source.
Make sure your `gxr` build has been compiled with support. Use `xrd-settings` to ensure sure that `openxr` is the default API , or run `gsettings set org.xrdesktop default-api openxr`. Alternatively the environment variable `GXR_API=openxr` forces `gxr` to use openxr instead of xrdesktops default API setting.
## Compiling monado from source
Make sure to read the [notes about the libsurvive branch in the readme](https://gitlab.freedesktop.org/monado/monado/-/tree/experimental/libsurvive-controllers-wip/#about-the-libsurvive-branch) about the basics of using libsurvive.
Make sure your `gxr` build has been compiled with openxr support. Use `xrd-settings` to ensure sure that `openxr` is the default API , or run `gsettings set org.xrdesktop default-api openxr`. Alternatively the environment variable `GXR_API=openxr` forces `gxr` to use openxr instead of xrdesktops default API setting.
```
git clone --recursive https://gitlab.freedesktop.org/monado/monado.git -b experimental/libsurvive-controllers-wip
git clone https://gitlab.freedesktop.org/monado/monado.git
cd monado
mkdir build
cd build
......@@ -36,16 +78,6 @@ cmake ..
make -j$(nproc)
```
xrdesktop can now be used on OpenXR with the environment variable `XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json`, for example
XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json /path/to/xrdesktop/build/examples/client
or
XR_RUNTIME_JSON=/path/to/monado/build/openxr_monado-dev.json kwin_x11 --replace
Note that at this time Monado does not have an out-of-process compositor that runs independently of OpenXR applications. The compositor (and entire runtime) is only startet once xrdesktop is enabled, and quits once xrdesktop is disabled.
# OpenXR bindings json format
At this time the OpenXR specification requires actions and bindings to be created and communicated to runtimes programmatically. This means there is no established file format to store bindings in.
......
Clone repository
  • CI Repository
  • CI
  • Contact
  • Default controller bindings
  • GSettings Schema Troubleshooting
  • Google Summer of Code 2020 Ideas
  • Google Summer of Code 2021 Ideas
  • Google Summer of Code 2022 Ideas
  • Google Summer of Code 2023 Ideas
  • Installation from source
  • Home
  • howto
  • known issues
  • openxr
  • xrdesktop 0.13.0 release notes
View All Pages