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 Benchmarking Platform
Phoromatic Test Orchestration

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 News
  1. Fedora 22 Risks Being Delayed Beyond Next Week
  2. Systemd 220 Has Finally Been Released
  3. LibreOffice 5.0 Beta 1 Released
  4. Allwinner Publishes New CedarX Open-Source Code
  5. ACPI 6 Non-Volatile Memory Device Support / NFIT / LIBND For Linux
  6. Fedora 22 Marches Closer To Release
  7. The Linux 4.0 EXT4 RAID Corruption Bug Has Been Uncovered
  8. Ubuntu 15.10 Release Schedule Firmed Up
  9. Will Ubuntu Linux Hit 200 Million Users This Year?
  10. Microsoft Open-Sources The Windows Communication Foundation
  11. Intel Skylake Adds ASTC Texture Compression, Open-Source Support Coming
  12. Qt Turns 20 Years Old, KDE Celebrates
Latest Articles & Reviews
  1. Btrfs RAID 0/1 Benchmarks On The Linux 4.1 Kernel
  2. The State Of Various Firefox Features
  3. Intel Iris Graphics Performance With Mesa 10.6
  4. Fedora Workstation 22 Is Looking Great, Running Fantastic
Most Viewed News This Week
  1. The Linux 4.0 Kernel Currently Has An EXT4 Corruption Issue
  2. Rust 1.0 Language Officially Released
  3. AMDGPU Open-Source Driver Code Continues Maturing
  4. Oculus Rift Suspends Linux Development To Focus On Windows
  5. Wine 1.7.43 Works On Desktop Shell Window Support
  6. Spec Ops: The Line Is The Latest Linux Shooter
  7. RadeonSI Gallium3D Driver To Be Enabled For Android
  8. KDE Applications 15.08 Planned For Release On 19 August