Sunday, June 17, 2007

Nerd Food: Ubuntu in the Real World

After raving and ranting about Ubuntu so many times, I decided it was time to put it to the test in really demanding conditions. And there are no more demanding conditions than those set by children, in particular when they are nearing their teens. So it was that I installed Feisty in two machines and gave them to my nephews. After 24 hours, the experiment had already produced some interesting results.

The two machines in question are as follows:
  • Machine A is a 64-bit AMD, NVidia graphics card and 512 RAM (less than 4 years old);
  • Machine B is 32-bit AMD, ATI graphics card and 512 RAM (around 6 years old).
The installation in both was pretty straightforward, with all hardware detected. Additional software was easily installed via Synaptic. After the easiness, problems started to appear.

Problem one is related to the well-known issues with ATI cards. Enabling restricted drivers doesn't seem to do anything at all (finds none suitable to my card), and enabling desktop effects without binary drivers results in some kind of video corruption (there's a 5 centimetre area on the right side of my screen that doesn't appear to be used). Even if I had managed to get the ATI card going with binary drivers - which I don't think I would have as this particular card is really old and unsupported - but even if I did, I would have had to setup XGL in order to use compiz, which is really not something I think the average user should do. On the positive side, NVidia support is brilliant. All I had to do on machine B was to enable the restricted driver and enable desktop effects. Compiz was up and running in no time.

Problem two is related to flash and 64-bit. There is no available Firefox/Epiphany plug-in for flash, a vital element of the browsing experience for any young kid these days. I could have gone and installed some less standard flash support, but again, this is well beyond the call of duty for a normal user.

Problem three was DVD playout. I never quite got Totem-GStreamer playing encrypted DVDs. Not sure if it's me being thick and not understanding how to configure decss for GStreamer, but regardless of the underlying causes, my solution for this problem has always been to install Totem-Xine. In addition, I never quite got subtitles working with Totem-Xine so I play all movies requiring subtitles from XineUI (and here, for some reason, I never quite managed to increase the subtitle's font size but at least they're there). None of these steps make sense to the average user.

At this point I had the machine sorted out, and ready for my two eager customers. The first one was impressed with her desktop for a few moments, until she realised I hadn't installed The Sims. Now, as far as games go, she isn't much of a gamer. In fact, for the last couple of years she only bought two PC games: The Sims and The Sims expansion pack. So yes, this was a vital requirement for the experiment.

Problem four: the dreaded Sims. The installer worked well enough, as well as one could expect on a windows box even, up to the point when it finished CD 1. You are then expected to insert CD 2 and continue the installation. Alarm bells started ringing at this point. You see, UNIX and Linux have a very special relationship with devices. When you mount your CD and start running applications from it, its neigh impossible to unmount it until you close all the open files you have on that device. In my particular case I had cd'd to /media/cdrom to run wine start.exe. This basically meant I could not unmount the cdrom properly until I exited from wine, but I couldn't really exit from wine until I got CD 2 mounted. I was about to restart the whole process again when it occurred to me that even if I didn't cd into that directory, I would still have start.exe as an open file (I needed to run it, of course) which meant that I would not be able to unmount the device. I'm not sure about this but logic seems to imply that wine cannot cope with installing programs with two or more discs because of the underlying UNIX mentality. I hope some wine person will prove me wrong.

The temporary solution was to copy the contents of disc 1 to a local folder and execute start.exe from there. This worked a treat until I got to disc 2. Here, for some random reason the installer refused to recognise the disc. Because the installer gives you absolutely no clues as to where it is looking for disc 2 I couldn't tell if there was something wrong with the CD or if it was just looking in the wrong place. After much fiddling it occurred to me that the installer was probably looking for disc 2 on the local directory. However, disc 2 had a similar structure to disc 1 (same setup directory) which meant I couldn't just copy it over disc 1. My final solution was to rename disc two's setup to setup2 while installing disc one, and then renaming setup2 to setup when it asked for disc 2. This perverted experiment actually produced the expected results and the installation completed successfully.

However, the problems were far from over. After all that pain, the sims.exe binary simply refused to launch. It would start but do nothing afterwards. The problem appears to be as reported in the wine DB here and here. There isn't much I can do until wine support improves for the sims. As one would expect, this did not please my user at all.

Problem five: the crash. When I thought everything was quiet and everyone was happy enough, it all collapsed in front of me. Two kids were happily playing with the machine when electricity suddenly went off. On reboot, they were stuck on the fsck screen, at which point they proceeded to randomly press keys and switch the computer on and off, probably several times, in a desperate attempt to fix it. Apparently this technique worked quite well with their previous box running Windows 95.

This, methinks, is one fundamental problem with the current Ubuntu boot. If some operation takes too long, you are thrown back in to the console with huge amounts of text output. This is fine for a nerd user but an absolutely scary experience for any user. It would be much better if one could have some kind of user interface with a massive warning saying "DO NOT SWITCH THE COMPUTER OFF" or something like that. Text mode just scares people off, and when it is compounded with things like "running fsck" then there's absolutely no hope of survival. The end result of all of this was that the machine was rendered unbootable by the time I got there. Yep, you read that right. First time it went all the way to fsck again and froze, second time it froze on grub, the exact same point it froze on for the subsequent twenty reboots.

So here I am on the local Internet cafe, downloading an Ubuntu amd64 ISO image, preparing myself to re-install it yet again. Ele há dias...


Sardaukar Siet said...

I'm having problems of my own regarding the whole "desktop experience" in Linux. I have pretty simple needs, even regarding gaming - all my favorite games can be run using emulators (ZSNES,MAME, DosBOX) or native Linux interpretors (ScummVM). The problem is my wireless (curse you, Broadcom!!!) and overall stability with bling-bling enabled, something I thought I could live without, but I can't. :) Enabling desktop effects with the standard Compiz Fedora 7 package sometimes works, but logging off and back on again starts a new Gnome Session with compiz running, but not doing it's window managing job. Oddly enough, re-enabling them when this happens freezes up the machine, again sometimes. I have read that my laptop has a number of ACPI issues that trigger kernel hangs (I can't boot with my USB mouse plugged in) but I can't tell if changing my distro would help.
Maybe it's time for me to go Debian :), but still I can't bring myself to go Ubuntu - following the mob was never my thing.

Marco Craveiro said...

all right mate!

i haven't had any problems with compiz on Feisty, interstingly enough. i mean, you can't use the panel to manage your desktops anymore due to some incompatibility with it and compiz's cube. Other than that, no crashes, no problems! maybe its the version they put in FC7?

with regards to ACPI, that is always a nightmare. i think i ended up disabling it in shahin's laptop (noacpi on grub, or some such kernel parameter). she was getting swamped with messages of ACPI errors.

i think debian is wicked, but there are two things that always upset me: the installer (always have some detection issue with some piece of hardware...) and having to run unstable. The packages in unstable are of great quality 90% of the time, but every so often someone breaks the system :-) since i don't really need to be running the latest and the greatest all the time, but i do like to try out gnome as soon as i can, ubuntu is perfect for me! :-)