FreeBSD DRM and Graphics Support
/AMD /DRM /Debugging /Developer /Drivers /Intel /KnownIssues /Reporting /UDEV /xorg.conf |
Contents
Introduction
This page and all the linked articles presents the status and directions of all the low-level components making FreeBSD usable as a desktop.
This includes:
- Servers:
X.Org-related ports: xserver, libraries, tools
Wayland-related ports (support in progress)
- Libraries:
- Mesa ports: libGL, dri, libglesv2, libEGL, freeglut, libGLU, libGLw, mesa-demos, libosmesa
OpenCL low-level libraries
Userland drivers (ie. xf86-*)
- Input devices detection and configuration
- Kernel drivers:
Kernel-side GPU drivers (i.e. graphics/drm-* kernel modules)
It does not include:
Gnome, KDE or any other integrated desktop environments. Please reference their individual pages.
- Image processing or drawing software applications.
Developer info and TODOs
Developer information, including tasks in progress and similar, is available in the developer section.
Compatibility
The combinations of graphics hardware and software is bewildering. Because of this, it is completely infeasible to support every combination. The best that FreeBSD can do is to document configurations known to either work, or not work.
Our primary constraints are:
xorg upstream
- Unfortunately, from time to time, upstream discontinues support for existing chipsets, due to lack of developer time and interest.
FreeBSD is simply not in the position to keep multiple versions of xorg available in the Ports Collecction.
device driver upstreams
- Many manufacturers consider the description of their chipsets to be proprietary information, and thus provide only binary drivers.
- As newer versions of these binary drivers are issued, the manufacturer may discontinue support for older chips.
- There is nothing FreeBSD can do about these limitations. Although in some cases we try to support multiple versions of these drivers, it takes a lot of effort.
Hardware Support
Chipsets
Most physical hardware (especially x86-class machines) will have a graphics chipset (GPU) from one of the following manufacturers. Each one has its own set of configuration considerations.
If your GPU is not supported
If your GPU is not supported by FreeBSD, you can fallback to VESA (if your computer uses a BIOS) or SCFB (if your computer uses UEFI). For the latter case, you can find instructions to setup SCFB in a dedicated article.
The tables included are not an exhaustive list of supported hardware. Hardware is only listed if and when it has been explicitly tested/confirmed by developers and/or users. Graphics hardware missing from these tables may or may not work. If you have tested hardware that is not on the list, please report the results.
Virtual Machines
VMware
Experimental support for accelerated graphics in FreeBSD as guest OS in VMware was added to drm-devel-kmod.
Known bugs:
- There is a known race condition where the machine can lock up when loading the graphics driver or starting X. So far this has only been observed when the guest is configured with more than 1 CPU.
VirtualBox
A DRM driver for VirtualBox is going to be added to the Linux source tree in the next coming minor versions. Once it's there, a FreeBSD port is planned. Stay tuned here or check out the blog for updates.
Reporting
Please see the Reporting subpage.
Debugging Tips
Please see Debugging Tips.
Known Issues
Please see the Known Issues subpage.
Legacy Documentation
There is a copy of the previous iteration of this page available here. Hopefully no critical information was left out during this migration, but please notify the team if anything was missed!