Real Desktop Linux, Part I

by Mark Stone

They thought they were doing me a favor. I needed a new laptop, and as a typical management-type road warrior, what could be better than IBM's latest and greatest: a ThinkPad G40 laptop with Windows XP and Office XP preinstalled. Built-in wireless, built-in gigabit ethernet, built-in modem, DVD drive, everything the road warrior could want, right?

The problem is I've been a dedicated Linux end user since the 1.0.8 kernel. Knowing that the first thing I'll do is set this machine up to dual boot between Windows and Linux, I'd prefer to have a slightly older machine that thus has better Linux support. That's just one of the little lessons I've learned over the years.

Few people know both less about programming and more about Linux than I do. From the beginning one of my requirements has been to have a graphical word processor that creates files I can easily share with the Windows world, without them having to know or care that the file originated from a Linux box. When I was running the 1.0.8 kernel, my convoluted soution was to run a Mac emulator called Executor that enabled me to run Word 5.1 for the Mac on Linux. Linux has come a long, long way since then, but alas, the more things change, the more they stay the same.

"Is Linux ready for the desktop?"

This question is really oversimplified, and thus the source of a lot of confusion in the debate. I'd like to break it down into six questions:

  • Is Linux managable to install as an enterprise desktop system?
  • Is Linux managable to install as a home user desktop system?
  • Is Linux usable as an enterprise desktop system?
  • Is Linux usable as a home user desktop system?
  • Is Open Source software usable as an enterprise productivity suite?
  • Is Open Source software usable for typical home user applications?

Putting the debate this way makes a couple of key distinctions. On the one hand, Linux can and does run a range of proprietary software that can make the end user experience both easier and more compatible with the rest of the world. Asking if purely Open Source software is sufficient is a rather different question. On the other hand, the greatest challenge with any operating system -- installation -- is largely removed from the user experience by Microsoft, leading to an apples an oranges comparison: Windows' ease of use vs. Linux's installation challenges. For a fair comparison, these issues -- how hard is it to install vs. how hard is it to use -- need to be separated out.

I won't attempt to answer all these questions here, but offer a perspective based on my own experience.

I'm a committed Debian user, so getting a cutting edge laptop automatically sets me up for a couple of problems. First, nondestructively repartitioning Windows XP partitions is more challenging than nondestructively repartitioning Windows 9x partitions. Second, device driver support for graphics migrates slowly into Debian, meaning I almost certainly will be unable to use a stock Debian kernel to run the X Window System.

For repartitioning Windows 9x, I recommend GNU Parted. It's fully Open Source, and has worked flawlessly for me for years. For Windows 2000 or Windows XP you'll need a program called ntfsresize, as well as a means of booting something that can run that program. There are several choices here, but my choice is System Rescue CD, a bootable Linux distro that runs a program called qtparted, which in turn provides a nice, graphical front end to ntfsresize.

Note that as installation steps these are well beyond the typical home user, though not unreasonable for the sys admin charged with managing enterprise desktops.

The ThinkPad G40 uses onboard graphics via Intel's i830 chipset. You won't find support for this in Debian's Stable release, and even going with Debian Testing as my install system I had issues. I ended up grabbing kernel source for the 2.4.22 kernel, and patching it with the 2.4.23pre9 patch before I could get graphics working properly. That was also the only stable kernel I could find where the tg3 kernel module for the ThinkPad's Broadcom gigabit ethernet card worked. That module exists in some earlier kernels, but for some reason it only compiled and configured properly for me under 2.4.23pre9.

Again, compiling from source is not something the home user will master easily, and patching source before compiling is way beyond what the typical home user wants to tackle. For the enterprise desktop sys admin, all of this should be within reason, if a bit of a hassle.

Several things just worked "out of the box" on the Debian installation: the built-in Prism wireless card worked, as did the onboard sound support (again, Intel i830). USB support also worked flawlessly, a must for me since I do a lot of temporary backup and file moving via a "keychain" USB storage device. By the way, the actual user interface for Debian installation has gotten dramatically better over the years. With less finicky hardware, and a little hand-holding, this is probably something the home user could figure out. I couldn't have said that about Debian two years ago.

PCMCIA did not work, even with a custom kernel compile. That's not as critical as it used to be. I seldom connect by any means other than wireless any more. I run a wireless home LAN, my employer runs a wireless network, and on the road my most frequent means of connecting is via a WiFi Hotspot in any of our countless Starbucks. Still, there are occaisions when I have no better means of getting online than modem, and my choices are either: try to get the WinModem working under Linux (something I've been able to do in the past), or get PCMCIA working so I can use a modem PC card. I opted for the latter approach. Compiling and installing PCMCIA separately worked just fine, and wvdialconf had no problems subsequently recognizing and configuring my PC card modem.

This level of tweaking starts to go beyond what even the typical enterprise sys admin might be expected to know. You have to know that there are two parallel development tracks for PCMCIA in Linux: the kernel modules, and a separate standalone PCMCIA package. You also have to know that even though they are ostensibly interchangable, there are rare occaisions -- like mine -- where something will work with the standalone package that does not work with the kernel modules.

At this point I was ready to move from system installation to application installation and configuration, to turn my Linux laptop into a real road warrior's productivity machine. That's a story for another time.

A few comments in closing. With almost a decade of Linux experience, I still could not have done this installation unaided. It took the occaisional support and encouragement of more technical Linux gurus to get me through all of this (Dean, Gareth, Andy: thanks).

The larger lesson is that Linux will only be a reasonable enterprise choice and a possible home user choice when hardware manufacturers get behind Linux in a big way. Right now Windows' single most unfair competitive advantage is that it comes preinstalled on virtually every new PC sold. If that were a common and well-known option for Linux, and if hardware manufacturers took quality assurance for Linux as seriously as they take quality assurance for Windows, then Linux would at least be a worthy end user platform. It's viability, either in the enterprise or the home, would then depend on the applications it supported.

Note that this is a vital issue, because it precedes other issues, and that it is an issue that neither the Linux nor the larger Open Source community can affect directly. No amount of coding will guarantee that Linux works smoothly with hardware it has never seen before. The best the Open Source community can do is lobby -- graciously -- for more cooperation from hardware manufacturers.

In my next installment, I'll look at my experience with software installation and configuration, and try and suggest how that bears on the larger questions of Desktop Linux.

What's your experience installing Linux on laptops?


2003-11-14 11:57:49
Enterprise IT
I applaud the start of your article but you fall into the same mental trap that many others do.

No serious enterprise is going to buy a laptop "off the cuff" like you did and then install it individually for each one of their 500-100000 users. It doesn't happen that way AT ALL.

In a real enterprise desktop environment (of which I've worked at 3 fortune 50 and 5 fortune 500 companies) your issues would not be an issue.

Serious IT environments have standard laptops and desktops. 3-6 months can go into the design testing of the "desktop image" that will go on to standardized laptops and desktops. During this time linux drivers issues can be easily resolved through basic hardware and software selection.

I'm unclear why you raise the idea of a "typical enterprise sys admin" as having difficulty with doing any of the things you're talking about. If you grab Bob the backup guy and ask him to come up with the corporate image for 40,000 users for the next 2 years you might have issues. But a real IT department will have/acquire people with the skills to accomplish these tasks.

If however you are raising these issues in regards to companies smaller than 500 desktops, I could agree with you. Many of the companies I've been in involved with at this level have trouble delivering email (though I've seen some wonderfully tight ships at this level too). Frequently many of their problems are actually directly related to not taking desktop images and standardized hardware as seriously as is required.

While you may naturally be defensive about your writing I hope you will reconsider your conclusion
"larger lesson is that Linux will only be a reasonable enterprise choice" I hope I've made clear that your custom-built laptop is completely atypical of a well run IT department. Because of this the requirement that there be hardware drivers for everything under the sun is a strawman.


2003-11-14 11:59:05
Debian Choice Part of Desktop Problem
To be fair, Mark (and you were actually very forthcoming about this), the choice of Debian skews your results considerably. If you are a die-hard debian user and haven't even touched another distro (ever) then you may not even know how much.

Let me say that Debian (and projects like Gentoo) are wonderful. Because of the GPL AND them, Linux will always be free (in both senses of the word) or close to it. That's why news about major distro troubles and aquisitions generally doesn't bother me... I remind myself to be calm and remember Debian and Gentoo... ahhh.. better now.

However, Debian (as you said) lags. Even though the installer is better, it is no where near what Red Hat, SuSe, Turbo Linux, Mandrake, Connectiva (and a host of others) have been churning out recently. I had a student with a brand new HP laptop (top of the line) install Mandrake without any of the hiccups you mentioned AND it partitioned the XP/NTFS system for dual-booting without problems. I believe even the lin-modem worked right out of the box.

I have had similar success with Red Hat on a new Gateway laptop. A colleauge who had never used Linux/Unix in his life got Red Hat running without a problem on a Winodws XP system and commented that it was easier to install than Windows had been on the same system.

So. A simple change in tools might have affected the installation process for you. I agree that this is not a deal breaker. I do computer and network support for a mid-sized University and we like to joke that we are the "user-friendly" in user-friendly computing.

Can't wait to see the next installment.

2003-11-16 10:31:40
Use Knoppix to install Debian
Knoppix is the killer install to use for obtaining a leading edge Debian system.

Knoppix is primarily a Live CD distro. It has, a "file copy" type of install (actually 2, knx-hdinstall and knoppix-install). This means you can use it to install Debian, but you will not be able to select which packages get installed from the CD. This, however, isn't a bad thing really. As I understand it, this is the type of install method used with Lindows and others.

If you have good results with running Knoppix as a Live CD, then it is worth giving it a shot at installing it as your main OS. Knoppix has extremely good hardware detection.

A few points of warning/caution. A Knoppix install means testing/unstable, and as such, never do an "apt-get upgrade".
In addition, because of the testing/unstable branch nature, sometimes software won't install because of broken dependencies. In this circumstance, I have found that the best answer is simply to wait until they are fixed. Unfortunately, this often means waiting a number of days. Forcing installations, typically, will lead to a broken system.
Alternatively, go to for unofficial Debian repositories, or google for a deb (careful with who you trust, of course).

Due to size limitations for a single CD, Knoppix only comes with KDE (no Gnome). Try Gnoppix for a Gnome based install or "apt-get install gnome" (no luck for me with apt-get).

Finally, if you *almost* like what you see with Knoppix, you can modify it to suit your needs as others have done:

2003-11-16 11:29:35
reply to comments
I agree that the scenario I've described doesn't fit with how IT deployments would be done in a large corporation (1000+ employees). I've described things as I have for several reasons, however.

First, this represents a kind of worst case scenario for Linux: cutting edge hardware, a laptop to boot, and Debian. So any good news for Linux on the desktop that comes out of this scenario is good news indeed.

Second, smaller companies often will come closer to this situation: a mishmash of hardware deployed, and less overall expertise (on average) in IT matters.

Finally, the scenario I'm describing is the real world now. If you're a nontechnical management type attempting to use Linux as your desktop OS right now, then you're most likely in the situation I'm in: using Linux outside the bounds of IT support, and thus having to do a lot for yourself.

The point is that lessons from this self-support situation can be instructive for what the future of Linux is, both on the enterprise desktop and the home desktop. We'll see more about those implications in the next installment.

2003-11-17 10:39:59
reply to comments
As my friend put it below, "the choice of Debian skews your results *considerably*" and I'd add that nobody should suggest a "nontechnical management type attempting to use Linux as your desktop OS" to install Debian.
RedHat/Fedora, SuSE and Mandrake are *much* better in all the areas you've got problems with. I don't like things such as Lycoris and the like, but I hear they might even be better some respects.
2003-11-18 07:47:56
...hardware manufacturers get behind Linux
Absolutely right! My Toshiba Satellite 1110 displays a "Built for Windows XP" sticker and that's exactly what it means - I tried to upgrade to Win98SE and found there were just no drivers. Rtying to install Linux provoked similar problems. Toshiba's less-than-helpful reply was that "I should take it up with my supplier".. Ha ! Needless to say I won't be buying Toshiba again.
2003-12-03 06:44:27
Unsupported hardware
Unsupported hardware is not a Linux problem. Windows doesn't work any better on unsupported hardware.

If anyone is in doubt, I have a SparcStation IPC, that you are welcome to try installing Windows XP on. It is unsupported hardware, and I guarantee you won't even get it to the EULA screen.

Linux works fine on this machine.

2003-12-03 07:22:16
Why even both to dual boot?
If you are going to seriously consider Linux as a desktop OS for enterprise or home users, why even both to complicate the issue by creating a dual-boot system? I wonder immediately if that is even realistic for anyone who will use the Linux OS as their desktop environment. I have been running Linux as my desktop for several years, both at home and at work (unsupported by our helpdesk of course).

As others have mentioned, a fresh install of Mandrake (my distro of choice) is relatively painless. If you need Windows support on top of that, use VMWare! It is much simpler than repartitioning and dual-booting, in my opinion, and supports all the applications you will need (although the only one I can think of is Outlook, if your company uses Exchange...although even that is negated by Evolution and Korganizer support for group calendar-ing).

Overall, I was very disappointed by your seemingly one-sided approach. I felt that you should have taken a broader view of the subject and tried more than one solution to the problem(s) that you tackled. There are some very elegant, robust solutions out there if you look for them!

Nathan Leach

2003-12-03 09:32:16
Large organizations can use their weight.
If a large company is planning to deploy more than 500 laptops for its field personnel, it can lower its initial and maintenance costs by specifying hardware that already works with Linux, or telling manufacturers to provide drivers.
Due to the quantity involved, such enterprises have the power to specify whatever they need, and manufacturers will have to comply in order to obtain the business, unless they have an exclusive contract with Microsoft, which is against the law (monopoly).
When there is a will, there is a solution. A smart company can beat the competition by lowering costs, and smart manufacturers will produce Linux-compliant hardware to beat the competition, too. If one company starts the trends, others will follow.
2003-12-03 13:00:34
My experience with Mandrake 9.1 on a laptop
A few months ago my workplace replaced my ageing desktop pc with a Micron Transport GX3 laptop. As I recall, it has a 1.7GHz mobile Pentium 4-M, a 10GB IBM hard drive (which I replaced with a 20 Gig IBM drive) and a modular CD-RW/DVD-ROM combo drive and built-in floppy drive. The laptop came with 256MB of RAM installed; sound comes from an ESS Maestro 3 chipset, video from an ATI Radeon Mobility 7500 graphics accelerator with 32MB of memory. There is the usual touch-pad mouse, 15" LCD display with native 1400 x 1050 resolution, and a rather unusual fingerprint scanner for biometric log-in identification.

The laptop came with Windows XP, which is pretty much useless to me since all my work is done using various Linux apps. So I stuck in a Mandrake 9.1 DVD (included with a copy of Linux Format magazine I bought a while ago), set the BIOS to boot from DVD, and rebooted. During the install Mandrake offered to resize the single FAT-32 partition, and did so flawlessly. The install went totally smoothly, and I set the bootloader to allow dual-booting, in case I ever was forced to use WinXP at work.

First, the good: Smooth install, easy partition resizing, sound,video,usb, and touchpad all work, as does the combo CDRW/DVD ROM drive. I can burn CD's, and Mplayer lets me watch DVD's after I downloaded and installed the appropriate css libraries. Urpmi (Mandrake's apt-get equivalent) works well, and I have never encountered dependency hell.

Next, the bad: The fingerprint scanner might as well not exist as far as Linux is concerned. The battery status applet in the KDE panel shows full power, no matter what state of charge the battery is in. The touchpad works, but the central rocker switch (supposed to emulate a scroll wheel) does not. Forget about hibernation or suspend-to-disc; they don't work. At first the usual graphical shutdown process (from the KDM login screen) worked fine, but after installing various apps (Xcircuit, some Perl modules, etc) from Mandrake mirrors, the graphical shutdown process hangs; If I open a console, su to root, and issue a "shutdown -h now", everything works as it should.
While Urpmi works well, setting it up to use the appropriate mirrors is too complex a task for many users (my mother-in-law couldn't do it).

I realize that there are solutions to some of these problems: there are drivers out there for the touch-pad that might fix the scroll-wheel issue, for instance. However I did an out-of-the-box Mandrake 9.1 install, which is what a typical new Linux user would do, and this is the result.

Conclusion: MandrakeSoft has done a great job with their Linux installer; all Linux-supported hardware was correctly detected and configured,and my laptop is plenty useable under Linux, but there are niggling problems. The worst of these (to me) is the inability to tell how much charge is left in the batteries.

Interestingly, every one of the problems is related to hardware support, from the touch-pad to the fingerprint scanner to the ACPI power management issues.

2003-12-03 14:02:22
Have you tried Mandrake?

I think you have made your test with the wrong distro. Debian is great, but as you have said, it is mostly suited for developers and advanced users. If you, that have almost 10 years working with linux had that kind of trouble, is very obvious that many sysadmins will have the same trouble than you or even worse. Mandrake has made an excellent job in this area. Itīs not perfect, but I think is the best one in autodetecting hardware and having a very friendly installation. It has also great tools to make life easier for both admins and desktop users. You should have tried with Mandrake. Debian in this aspect has a lot to learn from Mandrake, they are way better at this that them.

2003-12-03 15:12:01
Linux is for lovers
I feel that Linux is and operating system for those of us with the skills. In order for Linux to be a viable desktop alternative to Microsoft Windows, Linux would have to standardize its software base (Yuck, skilless). Linux would have to provide specific applications people could familiarize themselves with to do specific task. Right now the software base is to broad for the majority of the public to bother investing time in learning. A distribution with specific applications for doing one task would take of like gang busters. If a Linux distro was marketed as Linux office and say contained Star Office as the central app you would get interest because people could concentrate on evaluting the central application and what it offers against the competitor. i.e. Office 2003
2003-12-03 17:59:20
My experience with Mandrake 9.1 on a laptop
before i start i would like to say that i dual boot mandrake 9.2 and win millenium.

i have to smile at your post.
because m$'s offerings require me to load the operating system first and then manually load the seperate drivers for each and every device in the damn pc!!!!!
graphics card (re-boot), sound card (re-boot), modem (re-boot), network card(re-boot) etc etc.
but linux from mandrake 8.0 has done it all itself
without me having to do anything.
and laptops / notebooks have oddball configurations of hardware anyway.
weird and wonderful graphics chips!
weird and wonderful motherboard chipsets, and
what is that trackpad thingy a mouse? or what?
most linux distros are targeting the desktop/workstation and server markets.

laptop / notebook support is mainly a case of hit and miss at the moment but support is improving.

however on a slightly more positive note i believe
"Lindows" is releasing a laptop friendly cd which is optimised for laptops ie specifically aimed at laptop / notebook installations.
when it will be released i don't know but i have heard its on its way soon (indeed may already be available)

i hope you find this a glimmer of hope on the horizon


mike baas
2004-09-17 08:55:28
Why even both to dual boot?
I recently installed Ubuntu Linux with Gnome 2.8, which has a built-in Evolution package, and although the installation was the most efficient and simple I have yet experienced, the integration of Evolution into Exchange worked less than how I hoped it would work. I was able to connect and see everything that I normally see using Outlook, but it looks like Evolution doesn't have an efficient way of caching server information. With a massive inbox and calendaring system, I waited through many "fetching summary information" messages as the client scanned through all my messages *each time* I reentered the folder. Another thing that was poorly implimented was 'categories' for both tasks and contacts. I was finally able to filter both by category but I could not close and open categories independently of one another. When you have over 300 tasks and contacts, this is fairly critical (although maybe I need to figure out a different way of working given my toolset). The software seemed pretty close but in experience it was much less than usable. For enterprise and home users hooked on Outlook, it would be impossible to switch given how the code worked for me. [I still wonder if I might have been doing something wrong!]