OS purgatory, 2011–2018

Linuxen

Between 2011 and 2018, I have generally moved to Debian testing for both laptop and servers (and Armbian for IoTs). The rolling upgrade has been hassle-free compared to Ubuntu major release upgrades. Security and other patches are in a comfort zone between stable and unstable. Ubuntu is better tweaked out for laptops but in ways that are not always transparent or customizable to slightly different hardware. Thinkpad suspend and trackpoint remain dodgy. Hibernate as of 2018 largely does not work. HDMI hotplug support is broken for some chips. So there's plenty to fix, except …

Windows is more broken than ever

Let me count the ways:

In other words, stick to Linux.

A techie's journey through OS land, 2004–2011

This is a rambling tale of my journey between Windows and Linux. I admit I have no experience with Macs, but there is no reason [1, 2, 3] to believe it is outside the space spanned by Windows and Linux.

Prelude

I bought an IBM Thinkpad in Spring 2004. It was built like a tank and came pre-installed with Windows XP Professional on the first bootable partition of the C: drive. The second partition had the standard IBM recovery utility. I ran XP for over four years. As positive features, XP gave me:

Meanwhile, as negatives, XP:

Backups

I was very particular about installing all patches beamed over by IBM and Microsoft, never visiting malware loaded sites or opening suspicious attachments, keeping the laptop inoculated with AVG, etc. I was also very particular about backing up the laptop in a way that should have been bullet proof:

I even tried out a couple of fire drills swapping the deployed and the duplicate disks, and it worked ... when I was not in trouble, that is.

Self destructing OS

When I was on a road trip in late 2008, my XP started to self destruct. It got much slower, the RAM seemed fuller than usual, it was paging more than normal. The final demise may have been triggered by Nokia's phone utility, I cannot be sure. I tried using my Nokia GPRS phone to connect to the Internet from XP. I could not get a connection. I did not have the duplicate disk, but had a pen drive with Ubuntu Hardy Heron on it. I booted the pen drive, and was stunned to see Hardy recognize the phone, dial out, and get me online in 30 seconds. You'd think it's almost sinful for Linux to be so easy.

It should surprise no one that there was advice on the Web to uninstall and reinstall the Nokia application. Booting back to XP, I noticed that suddenly I had lost the power to uninstall any software from XP's control panel. The uninstall buttons were gone! (Much later I ran smartctl on the old drive and found 4 bad sectors, which is extremely unlikely to bring down any Linux. The disk is happily running Jaunty even today in 2011.)

The futility of backups

I survived the trip on Hardy-on-USB. On returning home, I could finally gloat over my backup plans. I popped in the replacement drive and got ... the blue screen of death. So I organized a XP CD, and told it to "fix" my installation. Unlike Linux, XP won't tell you what exactly it is doing. After it was done, I tried to reboot, and got some bizarre messages about drivers, and the laptop locked up again before booting was complete.

I could use the IBM restore utility, but that would set me back to the factory-reset item in 2004. My home directory I had backed up elsewhere (or could access via ntfs-3g), but I definitely did not want to waste days reinstalling all the drivers and software to get back my working environment.

By some obscure chance if a seasoned Windows user is reading this, s/he is asking why I did not back up the Microsoft way, and restore from those dumps. There are two answers:

In fact, if you so much as install an Ethernet card, or change the graphics card, or add RAM, Windows may ask you to re-activate the product.

I had my home PC motherboard (Soyo) die in late 2007. It was dual booting XP and Debian Sarge. The new motherboard (Asus) required a new XP install. Debian required just a few lines changed in /etc/modules. Honest. Imagine. Not Ubuntu, but Sarge. The OS that reduced grown men to tears building kernel modules if their keyboards were so perverse as to be not beige.

The conversion

My requirements were simple:

In the desktop and server space, Linux had become a standard answer to the above needs well before 2008. The only question was whether Linux on laptops could stand up to the job.

In retrospect, I was lucky to pick the combination of an IBM X40 and Jaunty (Ubuntu 9.04). IBM Thinkpads are well known for being Linux friendly, and, as I shall explain shortly, Jaunty is perhaps the best of the Ubuntus over all time, just as XP is the best of Windows over all time. (The marginal benefit from XP to Vista is steeply negative, and to W7 is mildly negative unless---or even if---it is free. You wants to learn a new OS or you wants the job done? This goes back to the broader issue of the inevitably diminishing returns on investment in technology.)

Jaunty

For over three years now, I have run Jaunty happily on the X40. I only heard of the angst of other folks trying Linux on laptops, never experienced it myself. Booting showed a nice informative splash screen including fsck or thaw progress if need be. Suspend and hibernate just worked, without having to fool around with tuxonice or uswsusp. Screen blanking on lid up/down was perfect. All Fn-F? keys worked perfectly, and tpb showed suitable OSD response. For basic office work the Intel driver for the 855GME ran in EXA mode and was quite fine. After a few tweaks to xorg.conf and /proc/mtrr I could run in UXA mode and watch video that was at least as smooth as on XP. ALSA audio was adequate. Even docking and undocking worked. I still ran a pared-down XP inside VirtualBox to fire up MSOffice. What more could I want?

If only I could run MSOffice native in Jaunty (no, wine was not yet up to the task), that would be perfect. But the setup was already way more than good enough. Was the going too good to last?

Complexity and regression

Just like XP-to-W7, the push to upgrade beyond Jaunty is very mild, assuming it even exists, even today in 2011. The standard X server and xrandr in Jaunty had trouble panning a 1024x768 LVDS over an external 1920x1200 VGA, but I just had to give up compiz to work around that problem. Firefox and Thunderbird and OpenOffice kept on releasing new versions and Jaunty did not keep up, but you could always install outside the apt system. (That might get tiring though, especially when it comes to standardizing Eclipse and Java environments across laptops and servers.) Nevertheless, I did a recent survey of a few related Linuxen for laptops, and my question is:

Why is desktop/laptop Linux committing hara kiri?

Grub2

Have you used grub4dos? It is an amazingly nifty branch of grub that can search for files on FAT, NTFS, ext and xfs alike, set root paths according to where it finds a given file, follow nontrivial boot preferences and failovers, all with two small files grldr and menu.lst in any partition on a PC! You could make your grub installation independent of any specific OS by keeping these files in a small separate partition. You could install grub4dos on USB key as a Swiss Army knife for ailing computers.

Fast forward to the present. Grub2 on Lucid Lynx now comprises over 190 files. It features a rich "programming language", and has to be "compiled" by update-grub after you modify anything. The menu is no longer shown by default, and, to see it, you have to press the shift key within a narrow window of time; no other key will do. If you want to see the menu for a few seconds, you have to update a file in a new, different place: /etc/default/grub and recompile. When you recompile, grub2 will try to be helpful and pick up and list on the menu any OS it can find anywhere on the PC.

Why? What critically needed features justify all this aggravation? The Ubuntu page for grub2 says: "It has been completely rewritten to provide the user significantly increased flexibility and performance." Who needs "performance" from a boot loader? Here's their full list, with my comments in brackets.

Total time wasted figuring out grub2: 30 minutes.

Plymouth

Above, you read "graphical boot menu support and improved splash capability". When I boot Jaunty, after the grub menu disappears, I see a very nice splash screen showing me a progress bar for booting. If my root partition needs a fsck, that is shown too, and I can intervene or bypass. This smoothly leads to the gdm greeter.

Fast forward to Plymouth, and once the grub2 menu disappears, you get ... a cursor in the northwest corner of a blank screen for several seconds. No progress bar of any kind. Then you see the purple splash screen with those white and red LEDs. But they don't represent progress: they keep rolling over and over. After half a minute, this flickers out and you see some inscrutable messages printed in tiny font. Then the purple gdm greeter fades in. If you are lucky with KMS (see next item).

Summary: I lost functionality. I did not gain anything.

Kernel mode setting and Intel graphics

This is the really hairy one. The root of all (well, most) trouble is this chip:

00:02.0 VGA compatible controller [0300]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)
00:02.1 Display controller [0380]: Intel Corporation 82852/855GM Integrated Graphics Device [8086:3582] (rev 02)

Up to Jaunty, things were tolerable if not perfect. Intel had started fooling around with the driver they so generously (sarcasm here) contributed to the Linux community, with their XAA, EXA, and then UXA implementations, but you could at least make it work in Jaunty. From Karmic, graphics support for Intel 8xx and 915 chips started falling apart, until Lucid, an LTS release, was shipped with an installer that hangs on these chips. To get it to even boot, you need to fiddle with kernel command line parameters. Seems i915.modeset=1 works for most 8xx chips, but the opposite (i915.modeset=0) has also been reported. Go figure. And even if you manage to boot the live OS, just playing a video will instantly lock up the PC and require a power cycle.

The whole mess began with how the kernel and X chalk out control over the graphics hardware. Kernel mode setting (KMS) is the fashion now, and no one cares about 8-year-old chips. If you are running Hardy, you are probably safe. On Jaunty or later, a single careless upgrade can take you into Intel hell.

Metacity, compiz, mutter

As if the above is not enough, there is an embarrassment of choices of window managers. The Ubuntu installers comes with metacity and compiz, and, if the installer thinks the grapics chip has enough cojones, it switches on compiz. Which gives you eye-candy but is much more unstable. Run an aggressive video file or VirtualBox and you may find compiz dying on you. Metacity is actually quite quite fine for office work. Just uninstall compiz and be happy.

Unfortunately, the Intel driver and the window manager interact closely with each other. Video may crash your laptop only with compiz but not metacity. The Flash plugin may work with mutter but not compiz. Panning on a larger external VGA monitor works with mutter but not metacity. You never know for sure. Rejoice, we are back to the mysterious days of Windows 98! Even the shutdown is almost as fast!

But naturally the open source folks cannot work with each other. So Ubuntu is going to phase out metacity and compiz and replace with mutter, a branch of metacity. My test drive of mutter in early 2011 was lackluster. Glxgears got poorer frame rates than metacity, and even visually, it was clear that rendering needed improvements.

Gnome3, Unity

To further add to the misery, they could not leave gnome be, but are going to release an all new gnome3, and Gnome Shell (originally for netbooks) and the Unity theme. I have no in-depth knowledge of what these are, but you are guaranteed to waste days getting back to your comfort level in a new, unfamiliar desktop interface. Why?

Lid switch, power management, backlight

At the time of writing, Google reports 1.63 million hits for the query mouse disappears on lid close. That should tell you something about the state of desktop Linux. Gnome screensaver, power management, ACPI, HAL, the Intel driver, were all probably written by different people who don't talk to each other much. Here are the results.

Pulse audio, ALSA, OSS

Yet another embarrassment of choices comes from the audio system. First there were ESD and OSS. Then there was ALSA. And, as if this was not enough confusion, then there was PulseAudio (PA). Applications like totem (via gstreamer) or vlc can contact ALSA or ESD directly. Or they can contact PA. PA finally renders through ALSA. There is a delicious noodle soup of indirections and hidden configuration files that leads to missing sounds in mplayer or VLC which cannot be debugged, microphone loop backs leading to howling or whistling, staggered sounds as in the Ubuntu sign-on music, etc. Even Jaunty, which started out fine with ALSA, has now been taken over by PA.

Epilog

I get free licences for many Microsoft products at work. At some point, I started wondering if it would make more sense to just install W7, giving up on my backup autonomy goals. Then I researched some more and found that W7 would barely run, if at all, on the X40. This is clearly a regression since XP. Summary, no-go with W7.

Unfortunately, the reality is that laptop Linux users must still engage in a heroic battle to get all their specific hardware working to reasonable specification under any Linux. If you are running Jaunty on X40, stop! Proceed no further. It will not get any better. Manage with standalone applications and do not upgrade anything without very serious review.

Based on a very short experience, Fedora 14 seems to at least install on the X40 without any trouble, and video plays right away. If you must go beyond Jaunty, it looks like, as of March 2011, Fedora 14 is the way to go. The pain point there is a severe lack of packages compared to Debian/Ubuntu. Also, compared to apt and synaptic, yum sucks.

In short, you cannot win. Unless you accept that resistance is futile and a shiny Macbook air waits for you in some warehouse. I am just joking.