Friday, October 26, 2007

It isn't worth the trouble any more

I haven't posted in some time because of Life and Work. Life has intruded with regards to my wife's health, both girls at college, as well as other issues, and Work has intruded as it always does. This leaves little time to 'play'. With such pressures coming from so many directions I have little patience left to dole out.

This post is about Linux, and the problems I've been dogged with since making the decision to upgrade to the latest versions of Ubuntu (7.10) and openSUSE (10.3). You can find all sorts of glowing reviews of both distributions without too much trouble, but the problem with these reviews is that nobody seems to be really doing anything non-trivial with them before they write their reviews. I was trying to upgrade to the latest version of Linux to get the latest kernel, libraries, and developer tools. And I also did something that in hindsight I probably should not have done, at least under Linux.

I upgraded my ATI 9700 Pro (R300) video card to a more recent ATI 1950 Pro (R500) video card manufactured by Sapphire (X1950 Pro, 512MB GDDR3 video memory, AGP 8x). I purchased the card to add a little more life to europa. I'm not yet ready to blithely replace the entire system with something newer and shinier, due to finances as well as indecision as to what I really want next. The X1950 Pro cost $170USD from Newegg, and I considered that a pretty good deal.

Upgrading under Windows XP

Europa is a dual-boot system between Windows XP SP2 and Linux. The first thing I did after replacing the card in the chassis was to boot into Windows and upgrade the ATI driver. Even though I already had an ATI driver on Europa, it was an old driver (5-10_xp-2k_dd_27256). And sure enough, when I booted up with the 1950 Pro it went into 800 x 600 degraded screen resolution. I then went to the ATI site and downloaded the latest driver (7-10_xp32_dd_53250). After installation and a reboot, the screen came back up in all its glorious color and resolution. Life was good. Or so I thought.

I tried to run some of my games. None of them ran except for Quake 3, which was using OpenGL on Windows. Everything else I had that depended on Direct3D failed. I eventually installed the DirectX 9C SDK with its tools, and discovered that Direct3D was broken not only with that version but with every earlier version down to 7-7_xp32_dd_49709. Once that version was installed every game worked, DirectX said it was happy, and I had the card working and producing good performance numbers with 3DMark03 and 3DMark05.

Fighting Linux

Getting the 1950 Pro to work under the latest version of Ubuntu and openSUSE on this same hardware platform has been a failure. Under Ubuntu, the drivers in the restricted driver package cause DVD playback to be shifted down from the application playing back the movie or video file. Attempts to install other drivers resulted in the fixing of the 'shift', but the playback of video stuttered horribly. What's more, the ATI drivers interfered with OpenGL causing various problems from corrupted display to application crashes.

In the end the best performance I got was with a pre-release set of ATI drivers, 8.42.3. I was able to follow various steps in a process that allowed me to create the necessary deb files from the ATI driver, and then install those deb files. Once the fglrx.ko module was built I found I had to load the driver by hand if I wanted to use it. I was able to verify that it indeed opened up most of the card's capabilities, and I was able to enable the 3D Compiz desktop. Unfortunately, enabling the desktop caused OpenGL rendering image corruptions with older applications. When I turned Compiz back off the corruption problems all went away. DVD and video playback was fine. But in the end, when I rebooted the system, the driver wasn't reloaded in the kernel. And I couldn't find any decent documentation that explained how to make Ubuntu load it on boot.

Then I got wild and crazy and re-installed openSUSE 10.3 again (took 20 minutes). I wanted to test how easy (or hard) it was to use the latest ATI driver. I found it much easier (probably due to long years of exposure to Suse) to install the ATI drivers. But I found more problems with 10.3 such that as soon as I'd verified that 8.42.3 was indeed a decent driver, I wiped it off and re-installed Ubuntu 7.10 back over openSUSE 10.3.

One big personal annoyance with Ubuntu is that K3B 1.0.3 won't rip DVDs. It does in openSUSE 10.3 (I tested it), and it did under Ubuntu 7.04 and openSUSE 10.4. I went looking on the Ubuntu site and found a page indicating that K3B 1.0.3 did indeed have a problem, and that it had been 'triaged' rather than fixed. Marvelous. Simply marvelous. Call me picky, but I like the easy way K3B allowed me to pick and rip tracks, and I was in no mood to go find yet another way.


I'm not going to recount all the various nits I have with both Linux distributions. Don't bother to flame me and tell me to report them as bugs. I learned long ago that reporting bugs is a fruitless waste of time (and truth be told, it's equally fruitless for Windows as well).

Unfortunately for Ubuntu and openSUSE, at the end of the day, the Windows installation works much better with the hardware and software I choose to purchase. I get so damn tired of the 'free' lecture and subsequent policy issues when trying to install and run with video card I have. I've got a three year old system with a 32-bit processor running last year's top dog ATI video card. This is by no means bleeding edge. Both Windows and Linux gave me grief with I decided to upgrade, primarily due to ATI drivers for the 1950 Pro. I now feel there is a quality issue with Ubuntu and openSUSE, and it really showed up with the latest distribution releases. I have a sneaking suspicion that it has a lot to do with the latest X (Xorg) release. The latest release wasn't ready for prime time, I don't care what anybody says.

I know what I've written in the past about Microsoft, and from a philosophical standpoint it still stands. But from a business point of view (or even a personal enjoyment point of view) Linux has become, for me, a poor choice for the desktop. I could probably go back to openSUSE 10.2, with which I was most happy, but I run the risk of hitting the same problems with the new video card as I did with openSUSE 10.3. Why bother going to that much trouble if there is a chance, even a remote chance, that I'd wind up with the same problems?

The only choices I now see personally are Windows and Mac OS X. I know that my daughters are happy with Vista and Mac OS X (Lauran has Vista on her Toshiba, and Megan has an iMac). I've also seen how effortlessly the office gets work done on both Mac and Windows; the office is split in its use of both. Even I'm most productive under Windows XP. I have installed many open tools such MinGW and emacs (just to name two) on Windows XP that give me the best of both worlds from a developer's perspective.

I've got too much to do and some real deadlines to meet between now and January of next year. I just don't have the time or patience to dig out solutions to problems on Linux. This is the latter half of the first decade of the 21st century, and I'm here to tell the Linux faithful that I expect a lot more from my OS, free or not. I expect it to work with my selection of hardware (which is pretty main stream and not bleeding edge), and I expect what worked in the last release to continue to work in the current release. And most importantly, I'm tired of being preached to. I no longer see any difference between Microsoft which restricts choices in OS, and in Linux which restricts choice in what hardware I can use because of its bone-headed 'code free or die' all-or-nothing philosophy.

So, for the foreseeable future Linux goes on the back burner until the next round of releases some time next year. And I go back to Windows XP for the most part. By then who knows? I may finally have a Mac or I may have found peace with Microsoft Windows. I know from personal experience that I much prefer Windows Server 2003 over Windows XP; WS2K3 just runs better for me (and seems to run faster). In fact WS2K3 reminds me of the good old days of Win2K. Linux developers all across the board would do well to clean up the code and fix problems rather than add questionable new and flashy features. If they don't then they're going to be relegated to insignificant niche markets where the faithful sit around all day and bemoan their plight. The rest of us will have moved on to Apple or Microsoft to get our work done.