Debian GNU/Linux on HP Firebird 802

Introduction

These are my notes on setting up Debian GNU/Linux on an HP Firebird 802 system, purchased off the shelf from the HP web site store.

The hardware I was dealing with was:

I used two 2003-vintage Dell 1600x1200 LCD monitors that I'd gotten with my previous desktop system. I didn't use the wireless keyboard and mouse that came with the HP Firebird, since I prefer the Sun USB keyboard and Logitech Trackman Marble trackball that I was already using.

The purpsoe of this system was to be my primary work desktop and server for my e-mail, primary home directory, and primary development system.

Initial Installation

I installed the system from an i386 Debian lenny netinst CD image. The system is of course capable of running the amd64 distribution, but I installed the i386 distribution instead for two reasons: I sometimes need Flash, which still segfaults most of the time on amd64, and most of our servers are running i386 so it's more convenient to have an i386 system. I may regret this later.

Be aware that CDs should be inserted into the built-in internal CD drive with the label on the right. This is mentioned in the manual, but it's the opposite of what I expected and I put the CD in the wrong direction originally. The CD should slide in easily, and there is a tiny, almost invisible eject button at the very top of the slot.

For the installation, I chose Expert Install from the Advanced Options. I probably didn't need to do that, but I wanted to be sure I had the option for doing a fairly minimal install. (I like to start with a standard system and then layer the packages I specifically want on top of that.) Other install options:

The eventual goal for the hard drives is to use LVM to mirror the two drives together. I don't need more than 250GB of space for this system, but since it's my primary home directory, I want the protection of mirrored drives.

The lenny install CD had no trouble detecting or configuring the hardware.

Immediately after installation, I switched /etc/apt/sources.list to point to Debian testing and did a dist-upgrade. I also installed the linux-2.6-686-bigmem kernel metapackage and switched to the bigmem kernel so that I could use the full 4GB of system memory.

Graphics and X

The HP Firebird 802, at least when I bought it (around April of 2009) comes with an nForce 760i SLI onboard video card. This is actually a pair of cards that can be used to drive a large SLI monitor. However, I wanted to instead drive two independent displays, each with their own window manager and without Xinerama. I've been using an independent two-head setup for quite a while and I like having two workspaces I can change independently.

The nVidia driver doesn't list this board on its support list in the README, but it does work if you get a recent driver. You need 180.*; I used 185.18.14 and haven't tested anything earlier. At the time of the writing, this requires updating to the unstable xserver-xorg, but I suspect that won't last long. As is typical for nVidia modules on Debian, you will need to install nvidia-kernel-source and the build and install a module package. I recommend using module-assistant, since it makes this trivial: m-a -t auto-install nvidia.

Remember if you had an earlier version of the nVidia drivers installed to unload and reload the nvidia kernel module after upgrading, and be sure the kernel module is loaded.

To bring up both monitors as independent interfaces, I needed an HDMI to DVI converter (since the Firebird has one DVI port and one HDMI port). You can get these inexpensively at any electronics store. Then, the following X configuration works for me:

    Section "ServerLayout"
        Identifier     "Dual Head"
        Screen         0 "Screen0"
        Screen         1 "Screen1" LeftOf "Screen0"
        Option         "Xinerama" "off"
    EndSection

    Section "Monitor"
        Identifier     "Monitor0"
        HorizSync       31.0 - 82.0
        VertRefresh     55.0 - 120.0
        Option         "DPMS"
    EndSection

    Section "Monitor"
        Identifier     "Monitor1"
        HorizSync       31.0 - 82.0
        VertRefresh     55.0 - 120.0
        Option         "DPMS"
    EndSection

    Section "Device"
        Identifier     "Device0"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "nForce 760i SLI"
        BusID          "PCI:4:0:0"
        Screen         0
    EndSection

    Section "Device"
        Identifier     "Device1"
        Driver         "nvidia"
        VendorName     "NVIDIA Corporation"
        BoardName      "nForce 760i SLI"
        BusID          "PCI:4:0:0"
        Screen         1
    EndSection

    Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
        Monitor        "Monitor0"
        DefaultDepth   24
        SubSection     "Display"
            Depth      24
        EndSubSection
    EndSection

    Section "Screen"
        Identifier     "Screen1"
        Device         "Device1"
        Monitor        "Monitor1"
        DefaultDepth   24
        SubSection     "Display"
            Depth      24
        EndSubSection
    EndSection

Since I was using an i386 build, initializing both cards requires more kernel memory than is available by default. To solve that problem, I edited /boot/grub/menu.lst and added:

    vmalloc=192MB video=vesa:off vga=normal

to the kopt line, and then ran update-grub and rebooted. See the nVidia driver README file for more information about why these options are chosen.

The information you should see reported in your /var/log/Xorg.0.log for this video is something like:

    (II) NVIDIA(0): NVIDIA GPU nForce 760i SLI (C79) at PCI:4:0:0 (GPU-0)
    (--) NVIDIA(0): Memory: 524288 kBytes
    (--) NVIDIA(0): VideoBIOS: 62.79.31.00.00

Sound

According to the dmesg output when loading the sound driver, this system has an ALC662. According to alsamixer, it's an "Nvidia MCP7A HDMI."

At the time I built this system, the current kernel was 2.6.26-2-686. I was getting no sound output using the modules that came with that kernel. As is frequently the case, upgrading to a newer version of the ALSA modules fixed the problem:

    aptitude install alsa-source
    m-a -t auto-install alsa
    modprobe -r snd_hda_intel snd_pcm_oss snd_mixer_oss
    modprobe snd_hda_intel

The version I installed was 1.0.20. I suspect that sound will work out of the box with a newer kernel, as that's usually the way this progresses.

Last spun 2013-07-01 from thread modified 2013-01-04