Mesa DRI PRIME Support Comes To Wayland

Written by Michael Larabel in Wayland on 7 November 2013 at 07:49 PM EST. 13 Comments
WAYLAND
DRI PRIME that allows for secondary GPUs to provide rendering support to primary GPUs -- i.e. NVIDIA Optimus systems -- can now work under Wayland for allowing secondary GPUs to render games/applications even if they aren't the GPU used by the compositor.

The DRI PRIME Wayland support isn't via changes to the Wayland protocol or even to the Weston compositor, but namely come down to Mesa changes. The Mesa Wayland EGL back-end doesn't support DRM render-nodes but that is changing soon through the use of __DRIimage. These Mesa patches for the DRI_PRIME support for Wayland allow an id_path_tag to a specific GPU to be set via an environment variable or the traditional method of setting DRI_PRIME=1 for falling back to secondary GPUs.

The DRI PRIME Wayland rendering on secondary GPUs will allocate buffers without tiling to render to compared to the X.Org Server PRIME where it renders to a tiled buffer and a copy mechanism to pass the buffer to the primary GPU. The Wayland PRIME implementation is slower than if no PRIME is utilized, but a new solution is still being devised.

A more ideal and performant situation is using an embedded Wayland compositor on the secondary GPU and then run the game/application inside there, which in turn is shared with the main compositor. Axel Davy, the developer that published these DRI_PRIME Wayland patches today, is planning to write a Weston shell designed for embedded full-screen games to make Weston resize to the game and close the embedded compositor when the game closes.

This embedded compositor implementation designed for gaming would be more flexible and avoid a buffer copy for full-screen games, but the user would have to use a script for launching the game. Over DRI2 PRIME with an X.Org Server, v-sync will always be supported and the PRIME design is much simpler.

These Mesa DRI PRIME Wayland back-end patches can be found on the Mesa-dev mailing list. This work is going to be out of the question for Mesa 10.0 due to the imminent branching but it should be on the table for the next Mesa release in three months.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week