My adventures with Linux began a long time ago, and has continued (on and off) for the last 13 years. My most current Linux installation is on a Gateway M680XL notebook with the following features:
- Intel Pentium M 780 (2.13GHz)
- 1GB DRAM
- 100GB 5400 RPM HD
- ATI Mobility X700 128MB video driving a 17" 1680 x 1050 LCD (WXGA TFT)
- Broadcom eXtreme Gigabit Ethernet and Intel PRO/Wireless 2200BG
- USB 2.0, IEEE 1394
- Windows XP SP2
When I got ready to install Linux on the notebook I violated one of my own cardinal rules with regards to Linux: Boot the target machine with a live file system (DVD or CD/ROM) of the distribution you intend to install. I selected Fedora Core 4 because I had it running on a desktop machine at home and felt I knew enough about the distribution to successfully install it on the notebook. I thought I could get away with not booting a live version of FC4 to check any peculiarities. Boy, was that a wrong assumption.
Before installing Linux on the Gateway, I purchased Partition Magic 8 and used it to re-partitioned the drive. I broke the drives 100GB space into 64GB for Windows and 30GB for Linux. In the illustration below partition hda2 is the Gateway recovery partition (FAT32), hda1 is Windows XP (NTSP), hda3 is the Linux root (/) partition, hda5 is swap, and hda6 is mounted on /home. All the Linux partitions are ext3.
Note the physical location of hda2 with respect to hda1. When I installed FC4, it installed Grub pointing to the first physical partition, not the first logical partition. And I didn't catch it. Because Grub booted into hda2 after the initial FC4 installation, and because I didn't pay attention, I was believed I had corrupted the Windows partition and the Gateway was booting into recovery mode because of it. It wasn't until after I elected to recover and reboot that I found Grub was 'stuck' pointing at hda2. After booting into FC4 and fixing Grub's boot menu, I was able to recover the Windows mess I made. But I never corrupted the Windows partition.
There were other problems with FC4 besides its initial configuration of Grub. Its kernel failed to fully enumerate and operate all the USB devices on the notebook. I have two Logitech USB wireless mice that work just fine under Windows but that were not recognized under FC4. Even a wired USB mouse failed detection. The Gateway's built-in mouse was barely working. Both the wired and wireless network devices did not work. The screen resolution was only 800 x 600. After working for two days trying to resolve the issues via Google on another machine, I gave up and replaced it with SuSE 9.3 Professional.
FC4 was not the only Linux distribution I had running. I have a second system that dual boots between SuSE and Windows XP. I'd installed SuSE on the WinXP machine because I wanted to become as familiar with it as I was with FC, and because SuSE was a 'pure' KDE distribution as compared to FC's 'pure' Gnome UI.
With the deadline clock ticking I wasted no time and installed SuSE 9.3 over FC4. This time I made sure Grub was properly configured by installation; it was. After the initial installation SuSE found the Broadcom Ethernet wired connection but still didn't setup the Intel 2200BG wireless hardware. The resolution on the screen went up to 1024 x 768. Frustratingly SuSE 9.3 still had problems with the USB subsystem. I kept trying to resolve the SuSE 9.3 problems for the rest of the week. Because SuSE did a better job on the notebook than FC4, I took a chance on downloading and installing SuSE 10 Beta 3 over 9.3.
SuSE 10 Beta 3 correctly detected and enabled all hardware with the exception of the display. Maximum resolution was still 1024 x 768. To fix that problem I downloaded and installed the ATI RPM. I then ran fglrxconfig, rebooted the system, and came up with proper 2D resolution (1680 x 1050) and 3D hardware acceleration. I used Beta 3 until the final release of SuSE 10 at which time I downloaded the DVD ISO and installed SuSE 10 Eval. I did this while waiting for Novel to release the boxed set of SuSE 10. I've purchased SuSE boxed sets since 7.3 (I also purchased Redhat boxed sets, then Redhat yearly subscriptions, until they dropped the retail desktop version in 2003).
One nasty problem showed up with the final release. For whatever reason, the initial boot of SuSE 10 Eval turns off the DVD drive and causes the rest of the installation to fail because it can't read from the DVD. I fixed that problem by adding 'pci=noacpi' to the kernel boot parameters. Booting was not a problem with Beta 3. Once the boot problem was fixed the long trek to install SuSE 10 (or any decent Linux distribution for that matter) on the Gateway came to a reasonable close.
Sample Screen Shots
Over the past few months I've tuned both Gnome and KDE desktops for my use. I use Gnome for Java 6 and NetBeans 5, because the latest development version of Java 6 will only provide good sub-pixel anti-aliased text under Gnome. Even Firefox looks better (its tabs). What follows are a Gnome screenshot and a KDE screenshot.
Issues with Linux on the Gateway
- Video Support. In spite of using the latest Xorg (or perhaps because of it), support for current ATI notebook video chipsets is poor. I have tried to boot other live CDs of Linux, most notably Ubuntu (5.10 and 6.x) and Knoppix (4.0.2). Linux either fails to boot into X (such as Ubuntu) or it comes up in a degraded screen resolution (such as Knoppix). I've filed several Bugzilla reports (one with Ubuntu) and the support has been barely useful. The best advice I can give is to find a distribution that boots X into degraded screen mode and then install the ATI driver for full hardware support.
- ATI Driver Support. The SuSE 10 kernel has been updated a number of times since I've installed it, and on at least two occasions the ATI driver 'broke' because of an internal kernel API changed, breaking the driver. Thankfully I was able to download a newer ATI driver and upgrade, but it begs the question: why? Because of these experiences, whenever I read an article like this where Linus tells Jeff Merkey 'cry me a river', I have to resist the almost overpowering urge to wipe Linux off the system and stick with Windows. Jeff certainly can't wrap himself in glory over his many lame escapades, but he does raise an important point about changing the kernel's internal API. Don't. Bug fixes inside a given kernel release are A Good Thing. Architectural changes that break third-party drivers on a regular basis Are Not.
- Wireless Hardware Support. It's poorly implemented. Under SuSE 10 it is provided by SuSE with Intel software bits. When SuSE boots I get to read (via dmesg) kernel tainted messages when the wireless module is loaded. It's true that the latest kernel (2.6.15-rc7) has it built-in, but that version of the driver does not work with the current wireless tools as provided in SuSE 10. Yes, I built and booted and tested 2.6.15-rc7.
- Wireless Support in General. Under Windows you can have multiple wireless access points. That allows you to travel around a building, a city, or the country and simply pick up and use a new access point without losing track of others that you've visited in the past. You don't have that with SuSE 10, and I have yet to see it handled as easily with any other current Linux distribution.
- Poor USB Mouse Support. Yes, all my USB devices are found if they're plugged in at least once. But I have a problem with USB mice. For example, if I am using my system under SuSE in my office and then undock my notebook to take it into a conference room without turning it off, I loose the ability to plug in the portable Logitech wireless mouse. I don't use the built-in mouse pad; in fact I have it disabled under both Windows and Linux. My hands are big and my fat thumbs cause tremendous problems when I'm typing under Linux because I'm touching the mouse pad. But if I disconnect USB mice in any fashion and plug them back in, they no longer work. I have to log out and back in again to get it back (sometimes I have to reboot X).
- Poor Gnome Flexibility and Quality. I often wind up under Gnome if I want a better user experience with Java 6 and NetBeans 5, or Eclipse, or even Firefox. I use Gnome because I have to, not because I want to. I find Gnome to be difficult to configure, and the default themes leave a lot to be desired (KDE has an equally poor default theme, but at least I can quickly tweak it into something reasonable). What amazes me is that I can't change the color or sizes of the window borders. I wasted a fair amount of time downloading themes from GNOME-Look to find one that looked and worked half-way decently. Gnome also has startup problems; the occasional spate of panel applet failures when first logging in. And then there's a number of broken Gnome applications, such as Totem. Totem can't play anything on my notebook. I mentioned earlier that Firefox looked better under Gnome. Unfortunately Firefox does not operate better. With Firefox 1 and 1.5 I have extensive link menus beneath the toolbar. Under Gnome the menus fail to operate properly after about a half day of work.
I have yet to give any Linux distribution my unconditional recommendation for desktop use. I don't hand it to anyone unless I rattle off a host of caveats and give them an arm full of live CD/DVD disks to try out on their hardware. Some times they get lucky and everything Just Works. Sometimes, like me, they get bit.
My SuSE 10 installation is currently stable enough that I can get real work done on a daily basis. However, my Linux experience is not unique. It's Linux experiences like mine with contemporary hardware that have kept Linux off the desktop for many would-be users. The science and art of operating systems has reached a point where it just has to work out of the box. There can be no more excuses, no more apologists for the shortcomings. Being free (as in speech) and open isn't good enough any more, especially if Linux desktop vendors want to sell to more high-end users such as myself.