Running Debian GNU with kFreeBSD

As you could have guess considering my latest update to my iPXE setup, I’m currently giving a try to Debian GNU along with FreeBSD kernel – Debian GNU/kFreeBSD.

The hardware I’m giving this try with is neither simple nor complicated: it’s old but it’s also laptop; a Dell Latitude C640 with a P4 mobile CPU and 1GB RAM.

The install was made over network. There’s nothing overly complicated but to avoid wasting time, it’s always good to properly RTFM. For instance, I learned too late that kFreeBSD does not handle / partition set on a logical one. I did not understood exactly how come, but I had to get my / partition on ufs (ext2 for /home was ok though). I did not even got into ZFS, as it looks like it’s not recommended with a simple i686 CPU. It took me a while and find no way to get my NFS4 partitions mounted as usual from /etc/fstab, or even with mount, I had to add a dirty call to /sbin/mount_nfs -o nfsv4 gate:/all /path in /etc/rc.local. And when it came to Xorg, I found the mouse to be sometimes working, sometimes not, plenty of overly complicated and confusing info on the web, to finally come up with a working /etc/X11/xorg.conf containing only  Section “ServerFlags”  Option “AutoAddDevices” “False” EndSection (on three lines).

These are some little inconveniencies that you would not expect with a recent GNU/Linux system install, that the debian-installer does not prevent you in any way to hit/create. I’m not even sure that I found the best fixes for them. It feels a bit like installing RedHat 5.2 🙂 with is more than what I actually expected.

So far I did not encountered any issue to get anything working but the suspend/sleep and general energy management looks much less reliable (with xfce4). On a side note, the fact that only OSS is available with kFreeBSD pushed me to update my script, I expect it to run on any BSD now.

Hardware support: Radeon HD 4870 with Xorg

Hardware support is a big deal. When you buy a piece of junk, you expect it to work. And when this piece of junk is required to run software, you need it to work. Nowadays, there is no salvation without a graphics card, not only for games but even for desktop apps that are designed with composite-effects supports in mind etc.

Apple always targetted wealthy customers by providing rock-solid software designed to run on rock-solid hardware. It is not quite a challenge, actually, to provide unbuggy software when you only support your own hardware (and at the same time when you claim one cannot -legally- run MacOS X on anything else than an Apple).

It is way harder to support plenty of hardware, including that you have no clue about the internals design. But that is what provides freedom to the user: freedom to change piece of hardware whenever he wants, freedom to select which piece he wants – not the kind of freedom you enjoy at AppleStore where you have only two costy options of harddisks. Apple never thought of democratizing their stuff, that’s not their business plan.

Still, hardware support is probably what’s harming Libre Software OS most. The issue is still the same over the years, hardware producers count on Libre Software community to provide drivers for Libre Software environment -at no point they deliver by themselves Libre and quality drivers-, which implies Libre Software is lagging to provide efficient specific hardware support.

I experienced it this morning. Yesterday, I upgraded my workstation. I was using xserver-xorg-video-radeonhd drivers until today with the Radeon HD 4870 (RV770) I have here. Next time I booted the workstation, I got a blank screen when Xorg started. At some point, I found out it had to do with firmware-linux-nonfree, I filled a bug and was advised to use xserver-xorg-video-radeon instead of xserver-xorg-video-radeonhd. I did that and now it works (with xserver-xorg-video-radeon 6.12.192-2: DRI/hardware acceleration, composite effects, etc), with the latest kernel available (linux 2.6.32-4-amd64).

Here’s the content of my /etc/X11/xorg.conf that works:

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "AutoRepeat" "500 30"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "fr"

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "Protocol" "IMPS/2"
Option "Device" "/dev/input/mice"
Option "ZAxisMapping" "4 5"

Section "Device"
Identifier "Sapphire RADEON HD 4870"
Driver "radeon"
Option "DRI" "on"
Option "VideoOverlay" "on"
Option "EnablePageFlip" "on"
Option "DDCMode" "on"

Section "Monitor"
Identifier "LG L194WT"
Option "DPMS"

Section "Screen"
Identifier "Default Screen"
Device "Sapphire RADEON HD 4870"
Monitor "LG L194WT"
DefaultDepth 24

Section "Extensions"
Option "Composite" "Enable"

It may seems easy-going, nonetheless, it took my hours to find out the exact cause of the problem, googling about, doing tests by reverting my system to previously installed package, etc.

But that’s still easier than coping with issues like one can suffer on a proprietary operating system, with no way to find out what exactly changed on this computer during the latest upgrade. For the record, I have no way to access the ATI graphics card configuration tool (called Catalyst Control Center, CCC.exe) on Microsoft Windows XP since its latest upgrade. But I won’t even bother to try to work out the undecipherable, I’ll just wait passively for a new CCC.exe release.