Improving Linux DRM For Embedded Systems

Posted by Michael Larabel on April 13, 2012

A set of Direct Rendering Manager patches have appeared to ease the development of targeting DRM drivers for embedded systems. There's also two new DRM drivers using this SDRM layer.

These patches for DRM on embedded systems provide "helpers" to take care of the DRM device and introduce an "SDRM" layer. The helpers can setup the CRTCs, encoders, connectors, and other components as separate devices rather than having the current monolithic design to a DRM driver. This work is based upon some of the Exynos driver patches by Samsung but was written by Sascha Hauer of the German-based Pengutronix.

Sascha was writing a new DRM driver when realizing it shared much common code with the Exynos driver, so he's generalized it into this DRM helper set. Last month I wrote that Sascha Hauer was working on a new DRM driver and it turns out with this DRM helpers work he's written i.MX LCDC and Intel (Marvell) PXA2xx drivers, both of which are described as "very simple last-decade-embedded-lcd-controllers." These new drivers have been tested against the xf86-video-modesetting driver for X.Org usage along with a custom KMS testing tool and libdrm tests.

As said in Hauer's mailing list message, "The drivers posted here are mostly created for demonstration purpose and to give a template for other drivers, but the motivation for creating this layer was the i.MX5/6 IPU (Image Processing Unit) which has two crts (four
on i.MX6), several on-SoC encoders and overlay possibilities. So this layer should not be limited to the real 'simple' cases...The sdrm patches currently have some limitations, but they should be enough for being useful and to present it to a wider audience."

The DRM helpers support is spread into seven patches with adding an SDRM layer for general embedded systems support (the layer allows for creating simple DRM devices), the i.MX KMS driver, and the PXA KMS driver. As far as how this eases development, the i.MX KMS driver is a mere 525 lines of code while the PXA LCDC KMS driver is 863 lines of code.

While there's been good embedded/mobile DRM news this week with this news here, the open-source ARM Mali driver milestone, and a NVIDIA TEGRA DRM/KMS driver, there still is an exciting GPU driver code drop that Phoronix will get to break the news on today or tomorrow.

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. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. NVIDIA Driver Soon Likely To Support EGL, Mir
  2. OpenMandriva Goes Into Alpha Form, Russian-Based
  3. NVIDIA Brings Their Linux Driver To ARM
  4. D Language Still Showing Promise, Advancements
  5. Planetary Annihilation Released For Linux Gamers
  6. Gentoo Starts Work On KDE-Wayland Support
  7. NVIDIA To License Its Kepler GPU Technology
  8. KDE's KWin Made Lots Of Progress In 4.11
  9. Ubuntu Announces Carrier Advisory Group
  10. Qt 5.1 Release Candidate 1 Has Arrived
  11. In-Fighting Continues Over Mir On Non-Unity Ubuntu
Latest Forum Talk
  1. D Language Still Showing Promise, Advancements
  2. NVIDIA Brings Their Linux Driver To ARM
  3. NVIDIA Driver Soon Likely To Support EGL, Mir
  4. Gentoo Starts Work On KDE-Wayland Support
  5. OpenMandriva Goes Into Alpha Form, Russian-Based
  6. Planetary Annihilation Released For Linux Gamers
  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