I’m now in the process of switching my main desktop from Windows XP to FreeBSD. And man, all I can say is that if you’re still on Windows or a Mac, now’s the time to go Free baby!

My Windows desktop has two DVI LCD displays, and a Microsoft (hiss!) Natural Keyboard. I’ll still be using Windows reasonably often but I don’t want to be rearranging keyboards, mice and monitors on my desk constantly. An extra monitor on my desk, and a USB-DVI KVM switch, and all that’s nicely arranged. Sure, when I switch to FreeBSD sometimes the mouse is all messed up: moves the wrong direction, won’t send clicks, buttons confused. But this doesn’t happen often, and if I just switch back to Windows a couple of times, it sorts itself out.

After I’d recompiled and installed my editor, and installed some fonts from source, the next thing to get right were having the two screens display a different image: they were defaulting to clone mode (same image on both screens.) That was pretty easy to fix up in the end.

Oh, but before I did that there was also the kernel that needed to be recompiled, because I needed to be able to run Java. Sure, I’ve only got JDK1.5, but that’s pretty close to up-to-date, and I really don’t know why you’d need anything more recent.

Somewhere in here I had to get some assistance from the sysadmin. While installing those fonts up above, one of the packages had complained that an existing package hadn’t been installed correctly, it very helpfully told me how to de-install and re-install it. Nice. That package had a ‘delete’ dependency on KDM, the login window for KDE, and then on re-install KDM didn’t come back, so I had to get the sysadmin to reinstall KDE. It hardly took him anytime at all. People who design packages really should get their dependencies correct.

So, I’ve got my desktop working again, my editor running, and some nice TrueType fonts available. Emacs can’t see any of those TrueType fonts, but I’m sure with a few more recompiles with different configure options it will all come right. The one remaining problem was getting FreeBSD to use both screens in something other than clone.

Configuring Xinerama wasn’t the right way to go: the web recommended that and a colleague already had that working. But it wasn’t right for me. I had to download the source code for my video card driver from nVidia (after I found someone with the same machine as me, running Windows, and asked them what video card they had.) I hacked the source to the driver, as it complained that FreeBSD 7.0-CURRENT wasn’t supported, although I was running FreeBSD 7.0-STABLE. A few small changes to the source and it compiled straight away. Then I ran the nVidia config tool, and restarted. That very nicely controlled both monitors by turning one off and the other on. But right there on the nVidia site were instructions on how to enable TwinView. Perfect! After I’d rewritten /etc/X11/Xorg.conf based on their instructions and what I knew about my video card and monitors, I restarted again.

And… perfect! Two independent monitors that I can arrange windows on to my heart’s content!

So, I really don’t know what you’re waiting for, you really should dump those Macs and Windows computers and switch straight to FreeBSD! You have no idea how good the kernel is. Sure, it isn’t as good as Solaris, but it’s miles better than Linux.