We're hiring!
*

Service process and out of process compositing in Monado

Lubosz Sarnecki avatar

Lubosz Sarnecki
April 30, 2020

Share this post:

A new monado-service binary and out of process compositor has landed in Monado, the fully Open Source OpenXR runtime for Linux!

Moving all drivers and the compositor to the service process brings many advantages to the previous in-process model. For this input and rendering needed to be sent over our new IPC infrastructure. With a separate render loop, now independent of the OpenXR client, the compositor can provide a constant frame rate, even when the application doesn't deliver frames on time. This is required and the foundation of future reprojection work, where old frames can be transformed with new tracking data for a smoother experience if the client lags behind. In addition, the obvious advantage of an out of process compositor is that the compositor can be started asynchronously to the application and run on its own without any application. This is also required for running multiple clients in the future and for implementing OpenXR extensions like XR_EXTX_overlay.

Amongst other small improvements to the compositor we improved support for direct mode on NVIDIA by recognizing more display identifiers like the Valve Index and the Oculus Rift series of HMDs.

Furthermore we improved the compositor's performance, which has a boost of up to 2x the received frame rate in certain conditions under GPU load. A small benchmark using Blender's OpenXR functionality can be seen here.

You can see the compositor's new abilities in the demo below, running the new Blender OpenXR VR Scene Inspection and using Blender's EEVEE renderer.

We would very much like to thank Pluto VR for sponsoring this work.

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Kernel 5.8: Collabora's biggest & most significant contributions yet!

05/08/2020

The ability for a relatively small software consultancy to contribute at this level demonstrates a fantastic improvement in vendors' mindset…

Lighthouse positional tracking in Monado with libsurvive

17/07/2020

HTC Vive (Pro) and Valve Index hardware users can now experiment with positional tracking in Monado, thanks to the implementation of a libsurvive…

WirePlumber 0.3 released, now ready for the desktop

16/07/2020

It is with great pleasure that we announce the availability of WirePlumber (the PipeWire session manager) version 0.3.0. This release brings…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2020. All rights reserved. Privacy Notice. Sitemap.