FreeBSD 10, KMS and Intel 4500MHD

I recently borrowed a Dell machine at work, model E4300, a nice little laptop whose graphical display is done by a much common Intel 4500MHD. While the card worked out of the box for a classical 2D display with a fresh FreeBSD 10.0 install, I noticed that DRM/DRI (in short, 3D) wasn’t available; I knew it was somewhat related to the new KMS/GEM infrastructure, so I began a few searches and found those useful resources:

Those pages gave bits and pieces of information, but stack a lot of useless complex information for the newcomer. Actually, setting up KMS on FreeBSD 10 is pretty simple. Olivier and farfa gave me the right link: a post on the FreeBSD announce mailing list which explains that there’s an alternative repository for what they call “NEW_XORG”, aka Xorg 1.12.4 with KMS. Simply create a new pkg configuration file in /usr/local/etc/pkg/repos/FreeBSD_new_xorg.conf (create the directory if it does not exist), it must contain the following:

Then run:

You should be asked whether or not you want to upgrade a couple of packages, and among them, some Xorg-related packages.

There was one glitch on this process, xf86-input-keyboard and xf86-input-mouse actually have the same version in the standard pkg repository and the WITH_NEW_XORG repository, so it is mandatory to delete them using:

Then add:

to /etc/make.conf, ensure your ports tree is up to date by running:

and rebuild xf86-input-keyboard and xf86-input-mouse with portmaster:

If you don’t do this, Xorg will start but its log will explain the mouse and keyboard driver ABI mistmatches Xorg current version.

Restart Xorg, and enjoy your GLX-enabled environment :)