BSDs Struggle With Open-Source Graphics Drivers

Posted by Michael Larabel on February 08, 2013

While there's plenty of code pouring into the Linux world for bettering open-source graphics drivers from desktop graphics cards to ARM SoCs, in the *BSD world they are struggling with their graphics driver support. Matthieu Herrb gave a presentation on the (rather poor) state of graphics on Unix-like platforms outside of Linux.

Matthieu Herrb, a long-time BSD developer and X.Org Foundation member, presented last weekend at FOSDEM 2013 about the BSD graphics support.

As talked about in many Phoronix articles in recent years, and should be no surprise to any graphics/X.Org enthusiasts, changes in how Linux graphics drivers (and X.Org itself) are developed have led to the downfall on non-Linux systems. Traditionally with the X11/X.Org Server being multi-platform and the DDX drivers controlling the hardware while running in user-space, it hasn't been hard to maintain graphics card support between Linux, *BSD, and Solaris. However, with kernel mode-setting and DRM being the standard expectation now, non-Linux platforms lose out.

The KMS/DRM drivers living within the Linux kernel are often permissively licensed compared to the GPL, which isn't the problem but that these kernel drivers are designed around Linux interfaces. Even porting the TTM memory manager to non-Linux kernels has proved to be difficult for BSD developers.

With open-source graphics driver developers working around Linux as their primary platform (and often not caring about other platforms), it's difficult for other developers to maintain pace in porting over the driver support. It took years for FreeBSD to support Intel KMS, which only happened in mainline a few months back with the FreeBSD 9.1 release. There's still no mainline Nouveau and Radeon kernel drivers for FreeBSD due to the major work involved. The other BSDs are in similar standing or even worse off without a port of any Linux KMS driver.

Oracle Solaris has modern Intel kernel mode-setting support with Solaris 11 and Solaris 12 might have a Radeon KMS driver, but that's really it in the Solaris world. Illumos/OpenIndiana as the independent/community Solaris spins have no mainline KMS support.

For providing support for modern Intel graphics cores, OpenBSD developers ended up porting the Ironlake and Sandy Bridge chipset support to an old xf86-video-intel DDX driver with user-space mode-setting. Intel dropped their UMS support years ago while OpenBSD is maintaining an old pre-UMS-dropping X.Org driver where they have been meticulously back-porting new Intel hardware support. The OpenBSD 5.3 release in a few months will have Intel Ivy Bridge support, one year after the hardware debuted. There is on-going work for supporting Intel KMS on OpenBSD. Another shortcoming of OpenBSD is no multi-touch support.

The NetBSD operating system does have a GEM implementation, but it's currently living in GitHub and not in mainline. The operating system is making slow progress on KMS.

DragonFlyBSD did get some work done as part of Google Summer of Code for GEM/DRM/KMS, but nothing that's in real good standing.

Matthieu Herrb summarizes the current situation for non-Linux systems as "lagging behind" with the biggest issues being new X.Org Servers requiring newer drivers, newer drivers requiring newer DRM (kernel support), and the kernel drivers being harder to port to BSD/Solaris. The push for moving more of the graphics drivers into the kernel is good for Linux, but real bad for the *BSDs.

Multi-touch support for the BSD operating systems is also quite bad overall with input drivers frequently being in the kernel rather than xf86-input drivers.

Wayland will also be a mess for BSD and Solaris operating systems due to its dependence on kernel mode-setting, kernel input drivers, and Weston being designed with solely Linux in mind.

Matthieu concluded his FOSDEM talk by saying there's tough times for non-Linux systems, there is progress and little hope, and help is needed for overcoming major hurdles. Herrb has posted his slides on the X.Org Wiki.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Openbenchmarking.org main page is damaged
  2. Xserver 1.14 support will arrive with Catalyst...
  3. Microsoft Releases Skype For Linux 4.2, Has...
  4. X.Org Libraries Hit By Round Of Security Issues
  5. New NVIDIA Linux Driver Supports The GeForce GTX...
  6. Wayland's Weston Gets Output Scaling Support
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite