It's Becoming Easier To Write Linux DRM Drivers

Written by Michael Larabel in Linux Kernel on 11 April 2017 at 09:33 AM EDT. 5 Comments
LINUX KERNEL
While writing DRM (Direct Rendering Manager) drivers were once a rather daunting task and not really considered much by ARM/embedded developers, over the past few years DRM has evolved a lot as it's picked up new drivers -- especially for today's many ARM SoCs -- and its core infrastructure has improved with picking up many new helpers and other improvements that lower the barrier of entry for DRM development.

Collabora's Daniel Stone pointed out how new pl111 driver patches are "the most satisfying driver submission." The pl111 DRM driver is for a CLCD display controller found on some ARM platforms like the Versatile Express. But it's not the hardware support that excites Daniel and other DRM developers, rather, the simplified approach to today's DRM drivers.

With Eric Anholt's rewrite of this pl111 driver code-base, he was able to eliminate about two-thirds of the code thanks to DRM core's new helpers. Besides dropping a lot of code, the DRM driver is now more slim and readable by other DRM driver developers.

Eric's driver rewrite is down to just 909 lines of new code. Those wishing to look at this simple DRM/KMS driver can find it here for review. In comparison, this original DRM/KMS driver written by ARM Holdings back in 2013 but never merged came in at 3,268 lines of new code.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week