Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • monado/webpage
  • haagch/webpage
  • rpavlik/webpage
  • slitcch/webpage
  • L-P/webpage
  • BabbleBones/webpage
  • mateosss/webpage
  • msub2/webpage
  • Vincentv4/monado-website
  • sdegrande/monado-webpage
  • gabmus/webpage
  • fredinfinite23/monado-web-page
  • Pandapip1/webpage
  • bl4ckb0ne/webpage
14 results
Show changes
Commits on Source (14)
# SPDX-FileCopyrightText: 2024, Collabora, Ltd. and the Monado contributors
# SPDX-License-Identifier: CC0-1.0
BabbleBones <BabbleBones@protonmail.com>
Christoph Haag <christoph.haag@collabora.com>
Christoph Haag <christoph.haag@collabora.com> <haagch+gitlab@frickel.club>
Frederic Plourde <frederic.plourde@collabora.com>
Jakob Bornecrantz <wallbraker@gmail.com>
Jakob Bornecrantz <wallbraker@gmail.com> <jakob@collabora.com>
Jan Schmidt <thaytan@noraisin.net>
Mateo de Mayo <mateo.demayo@collabora.com>
Moshi Turner <mosesturner@protonmail.com>
Moshi Turner <mosesturner@protonmail.com> <moses@collabora.com>
Rylie Pavlik <rylie.pavlik@collabora.com>
Rylie Pavlik <rylie.pavlik@collabora.com> <ryan.pavlik@collabora.com>
Rylie Pavlik <rylie.pavlik@collabora.com> <ryan.pavlik@gmail.com>
......@@ -82,11 +82,9 @@ Lastly, when the VR software quits, the display is released with `VK_EXT_direct_
# Wayland
On vanilla wayland compositors HMD displays are not hidden, they appear in monitor configuration tools as conventional monitors.
Some Wayland compositors recognize HMDs based on the same `non-desktop` kernel quirk mentioned above and make them available for direct access via the `drm-lease-v1` Wayland protocol. Monado's "wayland direct" target uses this protocol to acquire the HMD for direct mode.
It is also not possible to acquire a display for direct mode.
[Patches for a WIP mesa and a wayland protocol implementation can be found on Drew DeVault's blog](https://drewdevault.com/2019/08/09/DRM-leasing-and-VR-for-Wayland.html).
If the compositor does not support the protocol or does not detect the HMD as a "non-desktop" output for any reason, the HMD will appear as a regular monitor. In this case, Monado should be run with its "wayland" target, forced via the `XRT_COMPOSITOR_FORCE_WAYLAND=1` environment variable if necessary. Alternatively, the compositor might provide some way to override its default detection and treat the HMD as a non-desktop output.
# Vulkan on KMS/DRM
......
......@@ -232,6 +232,7 @@ Available for monado-service:
* `XRT_COMPOSITOR_FORCE_NVIDIA_DISPLAY=PNP`: Allows using direct mode on nvidia GPUs with a GPU not listed in [`NV_DIRECT_WHITELIST` in comp_settings.h](https://gitlab.freedesktop.org/monado/monado/-/blob/master/src/xrt/compositor/main/comp_settings.h). See `XRT_COMPOSITOR_LOG=debug` for finding viable display strings.
* `XRT_COMPOSITOR_SCALE_PERCENTAGE=100`: Scale the render target size recommended to applications to render at. Affects all applications connecting to this service. Defaults to 140% supersampling.
* `XRT_MESH_SIZE=64`: Control the resolution of the meshes generated by distortion mesh computation (vive, psvr, openhmd, northstar).
* `XRT_COMPOSITOR_WAYLAND_CONNECTOR=DP-1`: Requests a specific connector for the Wayland direct mode. If the connector is not available it will fallback on the first usable connector found.
Available for OpenXR applications
......
......@@ -12,7 +12,7 @@ layout: main
# Contact and possible mentors
For all projects possible mentors are Jakob Bornecrantz (en/sv), Mateo de Mayo (en/es), Moses Turner (en), Christoph Haag (en/de) & Ryan Pavlik (en/es).
For all projects possible mentors are Jakob Bornecrantz (en/sv), Mateo de Mayo (en/es), Moses Turner (en), Christoph Haag (en/de) & Rylie Pavlik (en/es).
* [Discord](https://discord.gg/8RkJgRJ)
* [#monado](https://webchat.oftc.net/?channels=monado) on [OFTC](https://www.oftc.net/)
......
......@@ -14,14 +14,19 @@ layout: main
Monado is an open source XR runtime delivering immersive experiences such as VR
and AR on mobile, PC/desktop, and other devices. Monado aims to be a complete
and conformant implementation of the OpenXR API made by Khronos. The project
is currently being developed for GNU/Linux and aims to support other operating
systems such as Windows in the near future.
is currently being developed for GNU/Linux, Android and Windows.
Most of the included VR hardware drivers are limited to Linux at this time.
On Android Monado comes with support for the built in IMU of most smartphones to
enable 3DoF experiences, similar to Google Cardboard.
On Windows, mostly simulated HMD and controller drivers are usable. Direct Mode
access for existing HMDs when not using NDA APIs remains a major blocker.
## Important links
* Source code: <https://gitlab.freedesktop.org/monado/monado>
* GSoC 2023: [Proposal guide](https://monado.freedesktop.org/gsoc-proposal-guide.html)
and [project ideas](https://monado.freedesktop.org/gsoc-2023.html).
* Matrix space: <https://matrix.to/#/#monado:matrix.org>
* Discord server: <https://discord.gg/8RkJgRJ>
* IRC channel: [#monado](https://webchat.oftc.net/?channels=monado) on
......@@ -30,8 +35,8 @@ systems such as Windows in the near future.
## Highlights
* [Officially an OpenXR conformant implementation](https://www.collabora.com/news-and-blog/news-and-events/monado-2100-officially-conformant-openxr-implementation.html) of the [OpenXR API](https://www.khronos.org/openxr)
* Supports Vulkan, OpenGL and Headless applications
* Full support for Local, Stage and Action space relations
* Supports Vulkan, OpenGL & ES, D3D11 (Windows only), D3D12 (Windows only), and Headless applications
* Full support for Local, Stage, Local Floor, and Action space relations
* Action based input
* OpenXR Extensions:
* XR_KHR_convert_timespec_time
......@@ -43,15 +48,17 @@ systems such as Windows in the near future.
* XR_KHR_swapchain_usage_input_attachment_bit / XR_MND_swapchain_usage_input_attachment_bit
* XR_MNDX_egl_enable - Alternative to XR_KHR_opengl_enable and XR_KHR_opengl_es_enable on Desktop
* XR_KHR_android_create_instance, XR_KHR_loader_init and XR_KHR_loader_init_android - android specific
* 6DoF tracking, initial implementation for PSVR and PS Move controllers
* Outside-in tracking framework with stereo cameras such as PS4 camera
* Work in progress on outside-in tracking with mono cameras such as consumer webcams
* And many more. See the EXTENSIONS list in [this script](https://gitlab.freedesktop.org/monado/monado/-/blob/main/scripts/generate_oxr_ext_support.py) for the full list of extensions Monado can currently support
* 6DoF tracking
* PSVR and PS Move controllers: Outside-in tracking framework with stereo cameras such as PS4 camera
* Work in progress on outside-in tracking with mono cameras such as consumer webcams
* Inside-out (VIO/SLAM) tracking using [an improved basalt fork](https://gitlab.freedesktop.org/mateosss/basalt/) with all supported stereo or more cameras such as Windows Mixed Reality, Oculus Rift S, Valve Index
* Video stream and filter framework for tracking components
* [Initial Android support](https://www.collabora.com/news-and-blog/news-and-events/monado-update-passing-conformance-android-support-and-more.html)
* Cardboard viewer
* XR Compositor
* [Direct mode on AMD, NVidia and Intel GPUs]({% link direct-mode.md %})
* Mesh based distortion with generators for Panotools and Vive/Index parameters
* Mesh based distortion with generators for various supported HMDs such as Vive/Index parameters, Windows Mixed Reality, OpenHMD's Panotools
* Supports multiple simultaneous projection layers and quad layers
* Driver framework allowing easy integration of existing drivers
* Out of the box support for multiple XR devices with open source drivers
......@@ -60,48 +67,50 @@ systems such as Windows in the near future.
These are the XR devices that are natively supported with open source drivers in Monado
| Device | Rotation | Position | Distortion Correction | Additional Notes |
|:------:|:--------:|:--------:|:---------------------:|:----------------:|
| OSVR HDK 1.x, 2.x | Yes | No | No | Requires workaround on AMD GPUs[^yuv_edid]. Firmware fix available[^hdk_edid_fix] |
| HTC Vive | Yes | LH 1.0: No | Yes | Supported by OpenHMD, Monado "vive", or Monado "survive" |
| HTC Vive Pro | Yes | LH 1.0: No, LH 2.0: Early WIP| Yes | Supported by OpenHMD, Monado "vive", or Monado "survive" |
| Valve Index | Yes | LH 1.0: No, LH 2.0: Early WIP | Yes | Supported by Monado "vive", or Monado "survive" |
| North Star | Yes, with Intel Realsense T265* | Yes, with Intel Realsense T265* | Yes, 3D and 2D/Polynomial | |
| Oculus Rift S | Yes | Experimental*, for headset | Imperfect | Controllers are rotationally tracked only |
| PSVR | Yes | [Yes, with PS4 camera or generic stereo camera]({% link positional-tracking-psmove.md %}) | Yes | distortion correction is WIP. Requires workaround on AMD GPUs[^yuv_edid]. |
| Playstation Move | Yes | [Yes, with PS4 or generic stereo camera]({% link positional-tracking-psmove.md %}) | - | rotational drift correction is WIP |
| Hydra Controller | Yes | Yes | - | |
| Daydream Controller | Yes | - | - | |
| DIY arduino controller | Yes | - | - | |
| Windows MR | Yes | Experimental* | Yes | HMD only, no controllers. Tested: HP Reverb, HP Reverb G2, Samsung Odyssey, Lenovo Explorer, others: *maybe*. |
| Xreal Air | Yes | - | - | |
| Xreal Air 2 | Yes | - | - | |
| Xreal Air 2 Pro | Yes | - | - | |
\* _Experimental 6DoF tracking support with external SLAM/VIO systems is upstreamed but still being worked on. Tested with RealSense D455 and Samsung Odyssey+, Reverb G2, Oculus Rift S._
| Device | Tracking | OS | Notes |
|:------:|:--------:|:---:|:-----:|
| OSVR HDK 1.x, 2.x | 3DoF | Linux | Requires workaround on AMD GPUs[^yuv_edid]. Firmware fix available[^hdk_edid_fix]. No distortion correction, [distortion correction WIP available](https://gitlab.freedesktop.org/monado/monado/-/merge_requests/2198]) |
| HTC Vive, HTC Vive Pro, Valve Index ("vive driver)| 3DoF, or 6DoF with Monado Basalt (Valve Index only) | Linux | |
| North Star | 6DoF with Intel Realsense T265 on-device tracking, 6DoF with Monado Basalt | Linux | Both 3D and 2D/Polynomial distortion correction supported. |
| Oculus Rift S | 6Dof with Monado Basalt | Linux | Controllers are 3DoF only [WIP 6DoF controller tracking branch available](https://gitlab.freedesktop.org/thaytan/monado/-/commits/dev-constellation-controller-tracking/). Imperfect distortion correction. |
| PSVR | 3DoF, or [6DoF with PS4 camera or generic stereo camera]({% link positional-tracking-psmove.md %}) | Linux | distortion correction is WIP. Requires workaround on AMD GPUs[^yuv_edid]. |
| Playstation Move | 3DoF, or [6DoF with PS4 or generic stereo camera]({% link positional-tracking-psmove.md %}) | Linux | rotational drift correction is WIP |
| Hydra Controller | 6DoF | Linux | 6DoF tracking on device in firmware |
| Daydream Controller | 3DoF | Linux | |
| DIY arduino controller | 3DoF | Linux | |
| Windows MR | 3DoF, or 6DoF with Monado Basalt | Linux, [Windows WIP, no direct mode](https://gitlab.freedesktop.org/monado/monado/-/issues/466#note_2733388) | Tested: HP Reverb, HP Reverb G2, Samsung Odyssey, Lenovo Explorer, others: *maybe*. Controllers are 3DoF only [WIP 6DoF controller tracking branch available](https://gitlab.freedesktop.org/thaytan/monado/-/commits/dev-constellation-controller-tracking/) |
| Xreal Air | 3DoF | Linux | |
| Xreal Air 2 | 3DoF | Linux | |
| Xreal Air 2 Pro | 3DoF | Linux | |
\* [Monado Basalt](https://gitlab.freedesktop.org/mateosss/basalt/): _Experimental 6DoF tracking support with external SLAM/VIO systems._
Monado also leverages the open source drivers developed by the OpenHMD community
for further HMD support.
See the [OpenHMD support matrix](http://www.openhmd.net/index.php/devices/)
for a list of devices supported through OpenHMD.
for a list of devices supported through OpenHMD. Most notably, OpenHMD supports
the Oculus Rift CV1 and Nolo CV1.
The Direct-Tek WVR2 / VR-Tek Windows VR Glasses with the 2560x1440 resolution
supported through OpenHMD requires a workaround on AMD GPUs[^yuv_edid].
Other 3rd party open source drivers Monado currently wraps are
XR devices that are supported by wrapping 3rd party open source drivers
| 3rd party driver | Device | Rotation | Position | Distortion Correction | Additional Notes |
|:----------------:|:------:|:--------:|:--------:|:---------------------:|:----------------:|
| [libsurvive](https://github.com/cntools/libsurvive) | HTC Vive | Yes | Yes | Yes | [survive]({% link libsurvive.md %}) driver must be enabled at build time |
| [libsurvive](https://github.com/cntools/libsurvive) | HTC Vive Pro | Yes | Yes | Yes | [survive]({% link libsurvive.md %}) driver must be enabled at build time |
| [libsurvive](https://github.com/cntools/libsurvive) | Valve Index | Yes | Yes | Yes | [survive]({% link libsurvive.md %}) driver must be enabled at build time |
| [librealsense](https://github.com/IntelRealSense/librealsense) | T265 realsense | Yes | Yes | - | proprietary on-device SLAM tracking |
| Device | 3rd party driver | Tracking | Additional Notes |
|:------:|:----------------:|:--------:|:--------:|:-----:|
| HTC Vive, HTC Vive Pro, Valve Index | [libsurvive](https://github.com/collabora/libsurvive) | 6DoF with Lighthouse 1.0 and 2.0 | [survive]({% link libsurvive.md %}) driver must be enabled at build time |
| T265 realsense | [librealsense](https://github.com/IntelRealSense/librealsense) | 6Dof with proprietary on-device SLAM tracking |
Proprietary 3rd party drivers can also be integrated. Monado currently wraps these
| proprietary 3rd party driver | Device | Rotation | Position | Distortion Correction | Additional Notes |
|:----------------------------:|:------:|:--------:|:--------:|:---------------------:|:----------------:|
| Ultraleap v2 | Leap Motion Controller | Yes | Yes | - | |
| Device | proprietary 3rd party driver | Tracking | Additional Notes |
|:------:|:----------------------------:|:--------:|:----------------:|
| Leap Motion Controller | Ultraleap v2 | 6DoF Hand Tracking | |
| HTC Vive, HTC Vive Pro, Valve Index | steamvr_lh | 6DoF with Lighthouse 1.0 and 2.0 | Wraps SteamVR's proprietary lighthouse tracking |
See also the XR Devices table in the [LVRA Wiki](https://lvra.gitlab.io/docs/hardware/#xr-devices) that also includes WIP and out of tree drivers.
### So what does that mean?
......@@ -138,9 +147,7 @@ We follow the standard freedesktop.org code of conduct, available at
Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting:
* First-line project contacts:
* Jakob Bornecrantz <jakob@collabora.com>
* Ryan Pavlik <ryan.pavlik@collabora.com>
* First-line project contacts: see main repo README <https://gitlab.freedesktop.org/monado/monado#contributing-code-of-conduct>
* freedesktop.org contacts: see most recent list at
<https://www.freedesktop.org/wiki/CodeOfConduct/>
......