Adventure in DRMland  Or how to write a drm driver for an arm64 SoC @BsdcanOrg
Adventure in DRMland  Or how to write a drm driver for an arm64 SoC  @BsdcanOrg
Uploaded June 2019 | Updated September 2026, 1 hour ago
Adventure in DRMland Or how to write a drm driver for an #arm64 SoC
by Emmanuel Vadot

In this talk I will describe the needed steps to write a DRM (As in Direct Rendering Manager) driver on FreeBSD for an arm64 board.

DRM is the defacto standard to have graphics on a modern system using the standard software stack like Xorg or Wayland.

While FreeBSD amd64 have correct support for DRM drivers, arm and arm64 are way behind and except on some system like Raspberry Pi where a simple framebuffer is available or NVidia Tegra where a DRM driver is available, the only way to have graphics is to use EFIFB. Both EFIFB and the simple framebuffer on RPI have severe limitations. You cannot have 2D acceleration, have a multi screen setup or even change the resolution at runtime.

Writing a DRM driver can be hard and scary, especially when it is the first one that you are writing and don't know the DRM subsystem API.

During this talk I'll explain what a DRM driver is consisted of : framebuffer, planes, crtc and encoder won't have anymore secrets for you.

You will see why I've chosen to write my first DRM driver for the Allwinner A64 (An ARM64 System on Chip present on the Pine64 board or on the Pinebook, a cheap laptop), what problems I had and how I solved them. Of course a driver related talk will not be complete without a tips and tricks part that will help you having graphics shown on your screen quicker.

More Info:
bsdcan.org/2019/schedule/events/1056.en.html
Adventure in DRMland  Or how to write a drm driver for an arm64 SoCCalvin Hendryx-Parker: Replacing Traditional Backup Systems with ZFS   BSDCan 2018Porting Go to netbsd/arm64 by Maya RashishChristian Schwarz: zrepl: ZFS replication   BSDCan 2018Homebrew Security Alerts with Dtrace by Tim Elniski BSDCan 2023User Friendly bhyve   Michael DexterOpening SessionSmartixOS and FreeBSD: Extending the Bootloader with a theming system By: GhislainWhy fsync() on OpenZFS cant fail, and what happens when it does By: Rob NorrisAli Mashtizadeh: Why Did My Application Crash   BSDCan 2018Modern BSD Computing for Fun on a VAX! Trying to use a VAX in todays world by Jeff ArmstrongBSDCan Saturday 2025-06-14:1160
BSDCan |

Adventure in DRMland Or how to write a drm driver for an arm64 SoC

SHARE TO X SHARE TO REDDIT SHARE TO FACEBOOK WALLPAPER