Monday, October 01, 2007

Fedora 7 on the HP Compaq 8510w

I started a new job recently, and had the chance to pick out a brand-new HP laptop to use.

I chose the HP Compaq 8510w. I probably should have done a tiny bit more research, but when I saw that it was certified to run with SuSE, I figured Fedora would run fine on it. It does work, but it's not flawless. Since I couldn't find anything using Google about installing Linux on this laptop, I decided I'd post this on my blog.

I guess I should mention, I'm running Fedora 7 on this laptop.

The first issue I ran into was with the DVD-ROM drive. In the BIOS, you'll have to change the "SATA Native" option to "Disabled" otherwise the installer can't see the DVD drive.

The next issue I ran into may or may not be strictly related to the docking station. When I booted to the DVD and started the graphical installer, my Samsung 226bw went totally blank and indicated it had lost signal with the video card. I know the Quadro FX 570M is a newer chipset, so I assumed that the installer just plain didn't know how to deal with it, and proceeded to install in text mode. Then, I booted to single mode, and added the Livna repo, installed the nVidia Linux drivers. I rebooted, expecting it to show me the RHGB screen and boot into X flawlessly. To my surprise, the display went blank again.

After checking the Xorg logs and scratching my head for a while, I had an epiphany from when I installed Linux on my Dell D820 laptop ages ago... nVidia's Linux drivers address the laptop display and your external displays separately. Sure enough, when I opened the laptop lid -- GDM was staring me in the face. I had to add some tweaks to my xorg.conf file to make it play nicely...

Section "Screen"
Identifier "Screen0"
Device "Videocard0"
Monitor "Monitor0"
DefaultDepth 24
Option "TwinView" "0"
Option "metamodes" "DFP-1: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24

The main change was the "metamodes" line: DFP-1 is the DVI port on the docking station.

However, this introduced a new challenge... I need two xorg.conf files, one to use while I'm docked, and another to use while undocked. I did NOT want to have to manually swap out the files and then restart X every time I booted my laptop, so I wrote a little script to do it for me. The basic premise is that on boot, it looks at the lid switch status (through ACPI) to determine if you're docked or not. Then it symlinks /etc/X11/xorg.conf to the proper config file, either /etc/X11/configfiles/xorg.conf.(docked|undocked). It's a bit hackish, but I'm not much of a hacker and don't know how to determine dock status otherwise.

BTW, the script installs with chkconfig once you've tossed it into /etc/init.d.

Another video-related issue I had is that Xorg seemed very choppy. I had Beryl installed, and blamed it on that initially. However, I noticed that what was slow was things like switching tabs in Firefox, and updating the title bar in Gnome Terminal. I did some searching, and found a link that indicated that there were some slowness issues related to the 8800GTX card. I don't have any real evidence for the assumption that these problems are also affecting the Quadro FX 570M chipset, other then the fact that the behavior described in that link is exactly what I am experiencing. I hope to see a new driver from nVidia soon addressing the bug mentioned in that forum, to see if it fixes my problem, before I file a bug.

Yet another video-related issue... if I boot with RHGB enabled, it fails to start, and after the screen flickers the text-mode boot is incredibly blurry. Then, X will not start, and I'm forced to power the system down. Removing RHGB from the grub.conf fixes this problem.

After booting undocked for the first time, I noticed that the Intel 4965AGN wireless card was not recognized. After installing the correct kernel module, it worked fine. I simply added this line to /etc/modprobe.conf:

alias wlan0 iwl4965

Why the installer didn't do it for me, I am not sure.

The SD/MMC card reader isn't working for me. I am not sure why. I believe I have the same type in my Dell XPS M1210, and it's working fine there. I haven't researched it enough to figure out why it's not working.