Phoronix summarizes a mailing list letter from Scott Long of Netflix, regarding his and several other developers’ plans to implement a compatibility layer in FreeBSD to run Linux DRM drivers.
While for years developers working on FreeBSD have been porting DRM/KMS driver changes from the Linux kernel over to their kernel, they have trailed greatly behind the mainline Linux kernel driver state due to the amount of changes they have been making to the driver when re-basing it against a new Linux kernel release. Now they are pursuing a new approach of using a compatibility layer where they hope to be able to more closely follow the upstream Linux DRM/KMS drivers.
The porting of Linux KMS/DRM drivers to Linux has traditionally evolved a lot of work and even changing the coding style to match the FreeBSD kernel. But this has been no easy task and right now they are carrying around a 17,000 lines of code difference against the matching Intel Linux driver.
The diffs against the upstream linux code have roughly halfed with each porting effort. The focus is on creating a linux KPI compatiblity layer for FreeBSD that will allow the DRM and KMS drivers to work with minimal changes. The goal is to get it under 1KLOC and to the point where its feasible to follow the upstream development on a change-by-change basis. Our ultimate goal is to align closely with the Linux graphics development community and collaborate with Intel, ATI, and others on keeping FreeBSD up to date in their product development efforts. The Linux KPI module code and DRM modules will be put into the FreeBSD ports tree to make them more modular and sharable between different branches and forks of FreeBSD. We're hoping to get a BETA level release into the ports tree in time for the FreeBSD 11.0 launch this summer. However, the effort is still very much ALPHA quality right now and will stay in github as it matures.
Scott Long: [Intel-gfx] FreeBSD i915 driver update