FreeBSD The Power to Serve

DRM drivers

Contact: Jean-Sébastien Pédron <dumbbell@FreeBSD.org>

DRM drivers are kernel drivers for integrated and discrete GPUs. They are maintained in the Linux kernel and we port them to FreeBSD. As of this report, we take the AMD and Intel DRM drivers only (NVIDIA FreeBSD drivers are proprietary and provided by NVIDIA themselves).

We usually port them one Linux version at a time. This allows us to ship updates more often and it eases porting and debugging because we have a smaller delta compared to a bigger jump skipping several versions.

This quarter, we ported DRM drivers from Linux 6.7 and 6.8. This effort did not hit the Ports tree yet because several patches to the FreeBSD kernel (the linuxkpi compatibility layer specifically) are still being reviewed and improved.

So far, the feedback was good for GPUs that were already supported by previous versions of the drivers. For newer GPUs, especially Intel ones, panics and display corruptions were reported. At this point, it is difficult to say if we just miss fixes from Linux that were published in a later version, or if these issues are actual bugs on FreeBSD.

These updates target the FreeBSD 15-CURRENT development branch for now. Once kernel patches are accepted and the DRM drivers updates merged, we will evaluate if/how we can backport the kernel patches to earlier release branches (namely 14-STABLE).

If you want to try them, you will find instructions to build and install a kernel with the non-committed changes, the drivers and the firmwares, in the pull requests’ descriptions.

The next steps are:

  1. Finish the polishing of kernel patches and commit them

  2. Review and merge the DRM drivers updates

  3. Evaluate a backport of the kernel patches to release branches to allow to use these updates on older versions of FreeBSD.

This work is kindly sponsored by the FreeBSD Foundation as part of the Laptop and Desktop Project.

Sponsor: The FreeBSD Foundation


Last modified on: April 18, 2025 by Jean-Sébastien Pédron