Primus-VK: PRIME-Style GPU Offloading For Vulkan

Written by Michael Larabel in Vulkan on 23 March 2019 at 07:39 AM EDT. 19 Comments
VULKAN
For those with a PRIME style notebook or just making use of dual/multiple graphics processors in your system, Primus-VK allows for using a secondary/dedicated GPU for rendering while driving the display from the alternative (often integrated graphics) GPU. Primus-VK is implemented as a Vulkan layer as a clean approach for dealing with multiple GPUs in a Vulkan world.

Primus-VK pursues Vulkan GPU offloading by implementing this logic as a Vulkan layer for handling the rendering on one GPU and then when it comes to display-time it copies the image over to the integrated/primary GPU. This layer can be installed per-user or system-wide and has been tested on the likes of Debian. ENABLE_OPTIMUS_LAYER=1 is the environment variable used for activating the behavior. Primus-VK has also been tested with Windows games under Wine.

There is some performance overhead with this approach due to multiple memory copies involved, at least with the initial design of this Vulkan layer, but at least in nearly all instances should still be better off than being stuck with the compute power of integrated graphics.

Those wanting to experiment with Primus_VK can learn more about this Vulkan offload layer via GitHub.
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