X.Org Server GPU Hot-Plugging Moves Along

Posted by Michael Larabel on December 22, 2011

David Airlie has achieved a bit more success in his GPU "PRIME" work to provide graphics processor hot-plugging support under Linux with the X.Org Server.

One month ago I wrote about Airlie's PRIME work getting back under-way for GPU offloading support. This news came a month after a working X.Org GPU hot-plugging prototype by Airlie.

That early code showed a DisplayLink USB-based display adapter working automatically as soon as it was plugged in -- the DRM driver being dynamically loaded and then the display lighting up with an X.Org environment. At that point David talked about his ambitions of eventually getting to a point where one GPU could do the actual rendering and to then pass the memory objects onto another GPU so that they could then be scanned out to an attached display. What Airlie now has to report on before ending out the year is basically these advancements.

The use-cases he's been working with on this X.Org Server hot-plugging code is to support Intel rendering and to offload then to a NVIDIA graphics card using the Nouveau driver, Nouveau rendering with a DVI output and then an Intel LVDS output, and then a USB hot-plugged display with either the Intel or Nouveau driver doing the actual rendering work.

He's re-based his PRIME code atop his "dma-buf" upstream work, which is successfully working for sharing a buffer between two Linux DRM drivers. The kernel PRIME "magic" shares a DRI2 front pixmap between devices/drivers and also sharing a pixmap that the rendering GPU copies dirty updates to and the "GPU output slaves" use that as their scan-out pixmap. He's been focusing upon the Intel, Nouveau, and DisplayLink kernel drivers for this initial PRIME work, but sadly not Radeon at this time.

His short-term TODO list is to address issues with the Nouveau/EXA port rendering, issues with xcompmgr, and adding USB output slave support. Longer out on his TODO list is working on controlling the different options via the RandR protocol, and lastly is implementing GLX_ARB_robustness support.

Those wanting to learn more can read today's blog post by David Airlie or checkout his drm-prime-dmabuf Git repository. It will likely be a while before all of the pieces for GPU hot-plugging with X.Org and the Linux kernel are successfully merged to mainline.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. LLVM Clang 3.3 RC2 Is Ready For Testing
  2. AMD RadeonSI Gallium3D Begins Simple CL Demos
  3. Intel Shows Off GNOME3-Based Tizen Shell
  4. Linux Desktop Security Could Be A Whole Lot Better
  5. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  6. New NVIDIA Linux Driver Supports The GeForce GTX 780
  7. Chrome 28 To Offer More Speed Improvements
  8. Digia Announces "Boot To Qt" Project
  9. X.Org Libraries Hit By Round Of Security Issues
  10. Wayland's Weston Gets Output Scaling Support
  11. Raspberry Pi Gets New Wayland Weston Renderer
Latest Forum Talk
  1. KDE 4.11 Will Be The Last Major KDE4 Workspaces...
  2. Could the forum help improve the quality of...
  3. Linux Desktop Security Could Be A Whole Lot Better
  4. X.Org Libraries Hit By Round Of Security Issues
  5. Intel Shows Off GNOME3-Based Tizen Shell
  6. VIA KMS Driver Now Supports HDMI Output
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite