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

Proposals To Split KMS & GPU Drivers, 2D Kernel API

Free Software

Published on 21 February 2012 08:09 AM EST
Written by Michael Larabel in Free Software
21 Comments

Following a "Kernel Display and Video API Consolidation" mini-summit held at the Emebedded Linux Conference (ELC 2012) last week, Linaro and other mobile/embedded Linux stakeholders have come up with several graphics-related action items for the Linux kernel. One of the proposals is to split KMS and GPU drivers in the kernel.

The notes in full from last week's kernel display and video API consolidation meet-up from the Linux Foundation's embedded event in Redwood Shores can be found on the dri-devel mailing list. There's a few items worth mentioning that are likely of interest to Phoronix readers.

Split KMS and GPU Drivers: One of the goals coming out of this mini-summit is to "Split KMS and GPU drivers with in kernel API inbetween." The reasoning for allowing KMS/GPU drivers to be split is that with SoCs the graphics processor and display controller tend to be separate devices. If there was a split between the GPU/KMS (display) portions with a defined interface to tie them together, it would be possible to re-use GPU drivers on different devices. The example given by the developers is that there could be a single common PowerVR kernel driver for the many devices out there using this Imagination Technologies graphics core. The different devices could then have different display (KMS) drivers where needed. Basically it's allowing for a more modular kernel graphics stack, but would end up being optional whether or not the vendors/developers comply.

While this is with a mobile focus, there are also possible desktop benefits. "The same approach can be used on the desktop for the multi-GPU case and the USB display case." Basically it would be a different way of doing the GPU hot-plugging and display with DispalyLink devices on Linux, etc.

Those coming up with this splitting idea acknowledge that one of the biggest challenges would be getting the GPU vendors to use this new split model. Rob Clark of Texas Instruments is beginning work on a reference implementation for this new design while Jesse Barker of Linaro is going to try to convince ARM to split their Mali kernel driver.

DMA-BUF V4L2: There's work being done to implement the DMA-BUF API inside V4L2. For those not familiar with the DMA-BUF buffer sharing mechanism, read and watch DMA-BUF Is Ready To Push Forward Linux Drivers.

2D Kernel Acceleration API: The embedded developers talked briefly about exposing a 2D acceleration API to user-space for devices with kernel drivers supporting hardware-accelerated 2D rendering. However, for any modern graphics processor relying upon a command stream, a user-space library is necessitated in order to assemble the stream, which would eliminate in large-part the usefulness of a unified 2D acceleration kernel API. This item is likely dead in the water.

HDMI CEC: There's interest in supporting HDMI CEC within the kernel and then providing a user-space API for applications. There's already some developers working on this code which would span multiple sub-systems or lead to the creation of a CEC sub-system. There's plans to push CEC mainline support this calendar year. HDMI CEC (Consumer Electronics Control) allows users to command and control CEC-enabled devices via HDMI through one remote. The CEC specification also allows one CEC device to command/control another CEC device automatically all over HDMI.

Common Video Mode Data Structure / EDID Parser: A call to share a common EDID parser between DRM/KMS, fbdev, and V4L2. The Linaro-backed developers plan to use the DRM EDID parser as it's the most advanced and then work it into the other sub-systems while coming up with a new common video mode/timing data structure. The desire to have a common EDID parser in the kernel has been expressed in the past by developers.

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 Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Gngr: A New Web Browser Focused On Privacy
  2. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  3. More File-System Tests Of The Linux 3.18 Kernel
  4. Using NVIDIA's NVENC On Linux With FFmpeg
  5. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  6. PowerVR SGX Driver Code Gets Leaked
  7. V2 Of KDBUS Published For Linux Kernel Review
  8. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
  9. Scientific Linux 6.6 vs. Scientific Linux 7.0 Benchmarks
  10. Qualcomm Looks To Get Into The ARM Server Business
Latest Forum Discussions
  1. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  2. Debian Developer Resigns From The Systemd Maintainership Team
  3. Roadmap to Catalyst 14.10 ?
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Cant get working Kaveri APU - A10-7850k
  6. Script for Fan Speed Control
  7. Debian Init System Coupling Vote Results
  8. The Slides Announcing The New "AMDGPU" Kernel Driver