1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Primus: Client-Side GPU Offloading In 500 Lines Of Code

Mesa

Published on 03 September 2012 10:04 AM EDT
Written by Michael Larabel in Mesa
8 Comments

While PRIME offloading has finally materialized and will be set when X.Org Server 1.13 is released, a new client-side GPU offloading implementation has now surfaced. Primus is a small lightweight GPU offloading implementation written in about 500 lines of code.

The PRIME / DRI2 offloading work was invasive to the xorg-server and DDX drivers with various changes being required in order to ultimately support technologies like NVIDIA Optimus. Meanwhile an independent developer has come along and wrote his own lightweight, client-side offloading implementation inspired by PRIME. Alexander Monakov introduced "Primus" to the world on Sunday.

Primus is more like VirtualGL rather than the full PRIME solution as it just deals with GLX forking for handling OpenGL offloading. Primus comes down to a ~500 lines of code pre-loadable library. This library tracks contexts and drawables and creates shadow contexts and pbuffers on a secondary X.Org Server to where OpenGL commands are redirected. Upon calling glXSwapBuffers, the contents from the secondary X.Org Server are ready and displayed. This basic implementation has been tested on a system with Intel and NVIDIA graphics while reportedly seeing "decent performance" out of the Primus library.

As far as the motive on working out this solution late in the game, "Even though this project may seem a little late given that PRIME has gained traction, I hope that it may serve as a benchmark for PRIME offloading, and maybe even as a real offloading solution in the meantime given enough bugfixing effort."

More details can be found in this mailing list message.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. Intel Pentium G3258 On Linux
  2. SilverStone Precision PS10
  3. ASRock Z97 Extreme6
  4. Nouveau Re-Clocking Is Way Faster, Shows Much Progress For Open-Source NVIDIA
Latest Linux Articles
  1. KVM Benchmarks On Ubuntu 14.10
  2. X.Org Server 1.16 Officially Released With Terrific Features
  3. Ubuntu With Linux 3.16 Smashes OS X 10.9.4 On The MacBook Air
  4. Preview: Benchmarking CentOS 7.0 & Scientific Linux 7.0
Latest Linux News
  1. The Linux Kernel Bang-Bang Thermal Governor Is Banging
  2. NVIDIA Releases K1-Powered Shield Tablet & Controller
  3. Xen Project Announces Mirage OS 2.0
  4. Canonical Community Team Changes Announced For Ubuntu
  5. Raspberry Pi B+ ARM Debian Benchmarks
  6. Mozilla Unleashes Firefox 31 Web Browser
  7. GCC 5.0 Is Expected Next Year
  8. PHP5's Successor Might Be PHP7
  9. AMD "Hawaii" Open-Source GPU Acceleration Still Not Working Right
  10. AMDKFD Driver Still Evolving For Open-Source HSA On Linux
Latest Forum Discussions
  1. AMD "Hawaii" Open-Source GPU Acceleration Still Not Working Right
  2. Next-Gen OpenGL To Be Announced Next Month
  3. Ubuntu With Linux 3.16 Smashes OS X 10.9.4 On The MacBook Air
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. AMD Publishes Open-Source Linux HSA Kernel Driver
  6. KDE Plasma 5 Officially Released
  7. Vote For GOG To Make Galaxy Open Source
  8. TSC Problem on Gigabyte GA-X79-UP4 (rev 1.1)