=== DRM drivers

Links: +
link:https://github.com/freebsd/drm-kmod/pull/361[Update to Linux 6.9 DRM drivers] URL: link:https://github.com/freebsd/drm-kmod/pull/361[]

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 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 finally merged the drivers from Linux 6.7 and 6.8 that were done during the first quarter into *drm-kmod*.
The **porting for DRM drivers from Linux 6.9 was finished** and is now ready for review and testing;
https://github.com/freebsd/drm-kmod/pull/361[see the pull request for instructions] if you want to try them.
The pull request also lists all the patches needed to `linuxkpi`, the Linux drivers compatibility layer in the FreeBSD kernel.
Several patches were already reviewed but there is still work.

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).

While waiting for review, we also started to work on two features which were unsupported on FreeBSD:

* https://github.com/freebsd/drm-kmod/pull/357[`DMA_BUF_IOCTL_EXPORT_SYNC_FILE` and `DMA_BUF_IOCTL_IMPORT_SYNC_FILE` ioctls]
* https://github.com/freebsd/drm-kmod/pull/358[`DRM_IOCTL_SYNCOBJ_EVENTFD` ioctl]

They are apparently required to allow the use of wlroots-based Wayland compositors with the Vulkan API (see link:https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286311[]).
wlroots will need a patch as well because it only expects these features on Linux for now.

Both pull requests as well as the patches to `linuxkpi` they rely on are ready for review and testing.
The `linuxkpi` patches are linked in the pull requests.

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

Sponsor: The FreeBSD Foundation
