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. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  2. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  3. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
  4. CS:GO & TF2 Extensively Tested On The Newest Open-Source Radeon Linux Driver
Latest Linux News
  1. HHVM 3.4 Adds New Features, Support
  2. More Radeon Driver Changes Queued For Linux 3.19
  3. Unigine 2.0 Alpha 2 Adds C# Support
  4. FFmpeg Is Returning To Ubuntu With 15.04 Release
  5. Linux Version Of Civilization: Beyond Earth Still Coming Along
  6. Yahoo To Become Default Search Provider For Firefox
  7. Better Fan Control Support Coming To The Open-Source Radeon Driver
  8. PTS 5.4 Milestone 6 Released - Official "Lipki" Release Is Near
  9. Ian Jackson Resigns From The Debian Technical Committee
  10. Valve's VOGL Is Finally Back To Having New Commits, OS X Support
Latest Forum Discussions
  1. Debian Init System Coupling Vote Results
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Ubuntu Developers Still Thinking What To Do About Adobe Flash Support
  4. Debian Developer Resigns From The Systemd Maintainership Team
  5. How to get rid of Linux
  6. how to configure module phoromatic ?
  7. Major Performance Breakthrough Discovered For Intel's Mesa Driver
  8. Script for Fan Speed Control