Recently, I was searching the web for websites discussing the differences between Linux and BSD. As a BSD fan, I wanted to make a case with a fair and balanced (not in the fox way) site. I found a website at http://www.over-yonder.net/~fullermd/rants/bsd4linux/09 that has a critical fail in it's discussion. It claims that all video card support is handled by X in UNIX-like operating systems. This is simply not true. 2D and 3D hardware acceleration are in part provided by a kernel interface that allows X to have direct access to memory. In FreeBSD and MidnightBSD, this code is located at src/sys/dev/drm. The BSD community ports this code from the Linux kernel every few years. It's one of the few parts not under the GPL license in the Linux kernel.
As an end user, this means that BSD is always behind Linux on video card support. Combined with binary blob drivers, the Linux community is far ahead of BSD in this regard. Sure, FreeBSD has an nvidia binary blob that's OK, but any other vendor is not supportive of BSD in the same regard.
In the past, this issue was not a big deal because BSD was used on servers. Today, with my project and others such as PC-BSD, it's becoming a bigger issue. With the recent push toward tablets and other portables, Linux is the only option at the moment as the BSD community is significantly behind in this regard. Several of the BSDs support ARM chips, but they don't support the new low power video options in the same way that Linux can.
I have hope that BSD can improve in this area.