**%%FreeBSD%% DRM and Graphics Support** * [[MarkLinimon/WorkAreaGraphics/AMD|AMD]] * [[MarkLinimon/WorkAreaGraphics/DRM|DRM]] * [[MarkLinimon/WorkAreaGraphics/Debugging|Debugging]] * [[MarkLinimon/WorkAreaGraphics/Developer|Developer]] * [[MarkLinimon/WorkAreaGraphics/Drivers|Drivers]] * [[MarkLinimon/WorkAreaGraphics/Intel|Intel]] * [[MarkLinimon/WorkAreaGraphics/KnownIssues|KnownIssues]] * [[MarkLinimon/WorkAreaGraphics/Reporting|Reporting]] * [[MarkLinimon/WorkAreaGraphics/UDEV|UDEV]] * [[MarkLinimon/WorkAreaGraphics/xorg.conf|xorg.conf]] ===== 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 * [[Graphics/Wayland|Wayland]]-related ports (support in progress) * Libraries: * Mesa ports: libGL, dri, libglesv2, libEGL, freeglut, libGLU, libGLw, mesa-demos, libosmesa * [[Graphics/OpenCL|OpenCL]] low-level libraries * Userland drivers (ie. ''%%xf86-*%%'') * Input devices detection and configuration * Kernel drivers: * [[MarkLinimon/WorkAreaGraphics/DRM|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 [[MarkLinimon/WorkAreaGraphics/Developer|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. * [[MarkLinimon/WorkAreaGraphics/Intel|Intel Integrated Graphics (aka HD Graphics)]] * [[MarkLinimon/WorkAreaGraphics/AMD|AMD Graphics]] * [[MarkLinimon/WorkAreaGraphics/NVidia|NVidia Graphics]] **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 [[GraphicsOld/SCFB|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 [[#Reporting|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|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 [[https://freebsddesktop.github.io/|blog]] for updates. ===== Reporting ===== Please see the [[MarkLinimon/WorkAreaGraphics/Reporting|Reporting]] subpage. ===== Debugging Tips ===== Please see [[MarkLinimon/WorkAreaGraphics/Debugging#debuggingtips|Debugging Tips]]. ===== Known Issues ===== Please see the [[MarkLinimon/WorkAreaGraphics/KnownIssues|Known Issues]] subpage. ===== Legacy Documentation ===== There is a copy of the previous iteration of this page available [[/GraphicsOld|here]]. Hopefully no critical information was left out during this migration, but please notify the team if anything was missed! ---- {{tag>Stale}}