This is an old revision of the document!
Direct Rendering on FreeBSD
Hardware Support
FreeBSD currently supports the following DRM/DRI devices in its base system with the x11/xorg meta-port:
- Intel i915 (i830 through G45) (i915drm)
- ATI Mach 64 (mach64drm)
- Matrox G200-G550 AGP (mgadrm)
- ATI Rage 128 (r128drm)
- ATI Radeon through X1950 and pre-HD IGP parts (radeondrm)
- ATi Radeon HD2350 through HD4890 - see the notes for details (radeondrm)
- S3 Savage through Pro Savage (savagedrm)
- SiS 300-series (300/305, 315, 540, 630, 661, 730) (sisdrm)
- 3dfx Voodoo Banshee through Voodoo5 (tdfxdrm)
- Via Openchrome (viadrm) on 9-CURRENT only at present
Notes
The latest Intel driver available in ports is 2.7.1, patched to work with the current Xorg metaport. Users with Ironlake chipsets will note that there is a port of the 2.9.1 driver, but is awaiting GEM support before this will work properly, so the port is flagged IGNORE.
The Openchrome driver exists in ports as x11-drivers/xf86-video-openchrome and is installed by default with the xorg-drivers metaport due to the retirement of the via(4x) driver. 9-CURRENT has Openchrome kernel DRM. There are blocking issues with nouveau and openchrome which preclude MFC at present.
From 7.2-RELEASE, the radeondrm kernel module supports R600 and R700 cards but it only enables EXA and Xv acceleration on 7.x and 8.0-RELEASE. There is support for almost complete R6/700 3D hardware acceleration in 8.1-RELEASE, 8-STABLE (as of writing, 2010-10-20) and 9-CURRENT which requires setting WITHOUT_NOUVEAU as a global macro when installing GL-related ports which will use mesa 7.6.1 instead of 7.4. Note that with this macro set, you cannot use the xf86-video-nouveau driver for nVidia cards on the same machine. There is currently no DRI support for Evergreen based cards (HD5xxx) although 2D only support exists in xf86-video-ati.
There are also ongoing efforts to port Nouveau, an attempt to reverse engineer the binary nVidia drivers and create a free, open nVidia driver, based on the obfuscated nv(4x) driver. There is no hardware 3D support at present, but software rendering works as normal. Note also that glxinfo will report direct rendering as active regardless of the renderer in use. Nouveau may need patches to be usable as the development process continues. Please check this page for links before contacting x11@ with queries.
Xorg's drivers and DRI/DRM are currently in a state of flux with new technology (KMS, DRI2, GEM, TTM, Gallium3D etc.) being introduced upstream. The cutting edge development often happens with Linux primarily in mind and porting to FreeBSD is no small task. Unfortunately, this could lead to some instability for people who update their ports/packages regularly as the X server and drivers start implementing these, especially with Intel devices whose drivers are becoming more and more dependent on GEM. Work is being done to keep these devices operating as well as possible but there may still be breakage.