Linux on Dell 8600

Configuration and Status

All of the other web pages I found were for people who had an 8600 with an nVidia 5600 GPU; I had to be different (alas!) and have an ATI Radeon 9600 Mobility (M10). Actually it all worked out OK in the end...

So far I havent done much except use the networking and graphics, so audio, CD, DVD etc are all untested, though judging from other people these should be OK.


Subsystem Status Updated Info
Hard Disk (Hitachi TravelStar 4200RPM) 2004-04-21 Works well, throughput about 17 MByte/s using hdparm
Wired Ethernet (10/100) Broadcom 4400 2004-04-21 Using b44 module - works fine
Dell TrueMobile 1300 a.k.a. Broadcom BCM 94306 2004-04-21 Using the Linuxant drivers (commercial but very cheap and work great!)
ATI 9600 Mobility AGP graphics on WSXGA+ (1680x1050) 2004-04-20 Working great using the ATI Linux drivers
glxgears in default window size reports 2007 fps.
Table borrowed from here

Kernel choice

You might find a distro that supports this hardware (the biggest pains being the Broadcom wired and wireless ethernet drivers ). I ended up compiling a 2.4.24 kernel and adding in the extra modules.

Not being someone who regularly compiles their own kernels I found this kernel build page really helpful. Of course there are also the kernel HowTo, etc.

I already owned a copy of Partition Magic, and since I wanted a dual-boot (XP,Linux) machine I just squished down the NTFS partition to give me some room for Linux. Final setup:
Disk /dev/hda: 80.0 GB, 80026361856 bytes
255 heads, 63 sectors/track, 9729 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1         4     32098+  de  Dell Utility
/dev/hda2   *         5      7653  61440592+   7  HPFS/NTFS
/dev/hda3          7654      7666    104422+  83  Linux
/dev/hda4          7667      9729  16571047+   f  Win95 Ext'd (LBA)
/dev/hda5          7667      7793   1020096   83  Linux
/dev/hda6          7794      7920   1020096   82  Linux swap
/dev/hda7          7921      9729  14530761   83  Linux

Several people have warned about not deleting the Dell Utility partition.

I'm a grub fan, and my grub boot menu (/boot/grub/menu.1st) is:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,2)
#          kernel /vmlinuz-version ro root=/dev/hda7
#          initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,2)/grub/splash.xpm.gz
title Red Hat Linux (2.4.24-moddrm)
        root (hd0,2)
        kernel /vmlinuz-2.4.24-moddrm ro root=/dev/hda7 hdc=ide-scsi
        initrd /initrd-2.4.24-moddrm.img
title DOS
        rootnoverify (hd0,1)
        chainloader +1
      
Once I had the sources (including the b44 module) then building and installing was very straightforward with no mishaps.

If it helps, here is my .config for building the kernel.

Broadcom wired 10/100 Ethernet

I had to find the source for b44 online (almost certainly provided in any normal distro by now). Then turned on the module in the kernel .config before building:
CONFIG_B44=m
Note: I first tried to have this as part of the monolithic kernel (CONFIG_B44=y) but it didn't like that, but having it as a loadable module makes more sense anyway.

Once installed it should show up in your network configuration tool (e.g. redhat-config-network)

Broadcom wireless (Dell TrueMobile 1300)

Everyone said use the Linuxant wrappers so I did. The first time I installed these was at home, and I just couldn't get them to work with my 802.11B wireless access point (old Orinoco). I had just about given up when I came to work and tried the drivers and they worked immediately. I still cannot get them to see my home system - a good excuse to upgrade to 802.11A/B/G.

Note: this was my first foray into Linux wireless networking, so I hadn't come across the "iw" tools. They were on my system but I didn't know they were their (until the excellent Linuxant support man told me about them). Anyway, if you don't know about iwconfig, iwlist, iwspy then go and take a look.

ATI Radeon 9600 Mobility Graphics on XFree86 4.3.0

This was the biggest pain, though largely due to my ignorance. Note that the stock XFree86 (4.3.0) seemed to work just fine with the 8600. However I was doing some work in OpenGL and wanted to benefit from the accelerated graphics that the Mobility 9600 is capable of.

So I downloaded the drivers from the ATI Linux drivers site and installed them according the instructions. Read the instructions. The installation will copy the compiled module to the appropriate modules directory (lib/modules/2.4.24/kernel/drivers/char/drm/) where you should see fglrx.o

Well, having installed them I ran glxgears (an OpenGL app) to see what I could get - other people were reporting 2000 frames per second. I got 130 fps.

Running fglrxinfo reported OpenGL vendor string of Mesa, the software OpenGL implementation - in other words it wasn't using the accelerated driver.

Trying to force load the module (modprobe fglrx) produced an error. It turned out that the module was not being loaded properly because some DRM modules were loaded before the ATI driver. In my kernel .config I had some DRM modules as being always loaded:
          CONFIG_DRM_RADEON=y
          CONFIG_DRM_I810=y
          CONFIG_DRM_I810_XFREE_41=y
      
These showed up in the dmesg output at boot time. So I changed these to be modules:
          CONFIG_DRM_RADEON=m
          CONFIG_DRM_I810=m
          CONFIG_DRM_I810_XFREE_41=m
      
Then the fglrx module loaded just fine.

I used the ATI-supplied X configurator (fglrxconfig) to build an XF86Config-4 file, but I had to manually patch it to get it to use the WSXGA+ resolution. Here is my current XF86Config-4 file.

Debian users might want to check out this installation page.

References

The following were really helpful in getting this going:
[ HIGH PERFORMANCE
NETWORKING GROUP ] [ STANFORD UNIVERSITY
]