Saturday, July 10, 2004

LINUX: Review of Mandrake 10.0

Review of Mandrake 10.0

Mandrake 10.0

Well, I'm finally running Mandrake 10 Official, and I thought I'd share some of my thoughts about it here.

Probably the most important question that needs to be answered is 'Why should I upgrade?' Whenever I read a review of some piece of software that's always the first question I have. The version I'm using now works fine, why should I upgrade? The reasons I upgraded to Mandrake 10 are simple, and they are these:

* Linux 2.6. I was already running a custom built 2.6 series kernel, but I wanted one built by Mandrake. I'm not very good with kernel building. I wanted the 2.6 kernel because it uses ALSA natively, and for the new O(1) scheduler, and of course the lower-latency rewrites. What I really needed a Mandrake built kernel for was so I could have an alsa sequencer device that didn't require rebooting to a 2.4 series kernel to play the DVD player.
* Blender 2.31a. Blender is steadily improving, but I haven't successfully gotten it to build. Their static-linked builds are ok, but I really prefer Mandrake's rpm.
* KDE 3.2. Supposedly, KDE 3.2 includes a number of improvements, but the specific one I wanted was Apple's improvements to KHTML that are supposed to be in KDE 3.2. I'd like to quit using Mozilla and use Konqueror for all of my browsing. KDE 3.2 was also supposed to have a lot of speed improvements and also stability that was lacking in previous versions.

Not a big list, granted, but some important stuff in there. Naturally I'm concerned about my audio system, since I do a fair amount of work with my own music. I'm also concerned about getting bigger and better versions of Blender, but since I haven't managed to get Blender to build for me, I'm stuck with Mandrake's package. (I barely used Mandrake 9.1 before 9.2 came out because most of the stuff I cared about I was building anyway, but it's a new world for me today) And since I'm so dependent on KDE, when KDE looks like it has a fair bit of improvement in areas that have been painful to me, I'm interested. Finally, and this is a pretty important thing, my old motherboard died and has been replaced. Mandrake 9.2 has been unstable ever since, and a smooth upgrade to Mandrake 10.0 (complete with new hardware detection for a new kernel) should take care of that for me.

So, let's start with installation.

I ran an upgrade installation. My upgrade to 9.2 involved a complete reformatting with data backup and so forth (lost data, but that's my fault). I do this every couple of upgrades just to keep my computer with a pretty clean out-of-the-box speed it wouldn't otherwise have. The installer, of course, didn't have any trouble with it and ran fine. It's the same installer you find in Mandrake 9.2, and for discussion on the installer I refer you to the Windows vs Linux article.
Rebooting into a full environment

Two things I always hate about upgrading Mandrake. The first is all the stupid kernel options that appear in LILO when I reboot. Now I've got all these kernels laying around that probably don't work (some of them don't work at all, I already know this). The second is that other than just removing the entries from LILO, there's no way to get rid of them! That looks dumb, but consider that removing the entries just puts it out of sight. I want to remove the kernels themselves before my 200MB boot partition fills up with broken kernels.

Well, Mandrake 10.0 was no exception here, and for good reason I suppose. How many Linux geeks out there would get mad if Mandrake even suggested removing some of these kernels? Well, I wouldn't object, that's for sure. I'd like to see an option in the Mandrake Control Center some day to get rid of unused kernels.

The other issue is a known bug with a known fix, but I don't know if the fix has yet propogated to the downloadable ISO images. Simply, it breaks the NT loader if you have a Windows NT partition. Now, I really I just spent a couple of paragraphs flaming Mandrake for leaving all these boot options laying around, but since they left the 9.2 boot option for Windows (called old_Windows) I'm still able to boot the Win2k partition (even if I had to repair it right away since I hadn't fixed it for the new motherboard). So, ironically, the thing I hate most about upgrading Mandrake is the thing that made it possible for me to boot Windows. I wonder if there's some spiritual lesson in the works, there. (Update: I've gotten several emails on this matter and it looks like it might actually be a problem with the 2.6 kernel. Sorry. I don't actually know much about this one, I'm just mentioning it to say "Yep, I had this problem too, Google it if you want to know more")
Starting KDE

Well, the KDE guys really pulled a quick one on us. Subjectively speaking it looks like KDE's start time is cut to a third or less. Part of that is the kernel launching new processes and threads faster than ever, and part of it is KDE, but all of it is wonderful creamy goodness.

I couldn't help not poking around, so I immediately went to look at the 'new and improved' application menu. It does look better, actually. Better organized? Nope, it's the same organization hidden under some headings. The new headings are great, but the actual directory tree is the same. I got a bit of a kick out of that, since Mandrake seemed a bit proud of this reorganization. To their credit, they did reorganize the lesser-used applications, System and Configuration, but the reorganization actually hurts me more than it helps. I suppose for a typical user it's better, pushing stuff that they don't need to use very often out to neverland, but I use that stuff more than that. ;)

All of my panel icons were broken. Apparently KDE changed where the shortcuts are stored slightly, breaking all my panel buttons. So I had to delete them and put new ones on there. A slight inconvenience, but there's no such thing as a smooth upgrade (except when it's Mandrake 9.0 to 9.1, I don't think they'll be able to top that).

Other than that I was sorely disappointed that my desktop looked exactly the same. :) I know, most people complain that it looks completely different so Mandrake is bleeding-edge by putting out all this effort to make it look the same. When are they going to figure out that we users don't really know what we want? ;)
Kmail - ouch!

Now it was time to get to work again. So I fired up kmail, and watched it crash and burn--repeatedly. KMail, in my subjective experience, is easily the most reliable and stable piece of software ever made, and I almost burst into tears watching it crash time and time again. Open a mail, crash. But not every time. It was frustrating as hell, and it was with a great deal of pain that I migrated to Evolution real quick so I could keep reading my email.

I let this one sit for a few days, but when my wife finally complained about it I went to work on the problem. I went to Mandrake's bug tracking system and submitted a bug. As of writing, in the 3 weeks this bug has been in the system it hasn't moved. I waited a couple of days hoping someone would know what was wrong (googling all the while for an answer), then I tried to debug it. After wiggling a bit, I got gdb to give me a stack trace and found that the problem was actually in libkdenetwork. (?) Didn't make sense to me, since Konqueror wasn't having any trouble at all. So I went back to Mandrake's bug tracking system and searched, and searched, and read, and scanned, until I finally found the bug that told all.

The problem *is* KMail, sorta. The real problem is that in Mandrake 9.2 Kmail was in its own package, but in Mandrake 10.0 Kmail is in the KDE-Pim package. So the upgrade script failed when certain files from the Kmail-KDE-3.1 package conflicted with files from the KDE-Pim package. The version of Kmail I was actually running was the *old* version, linked against an old version of libkdenetwork. Some fuss later and I had the old kmail removed and the KDE-Pim package installed successfully, and Kmail is as reliable as ever (and beautiful too, KDE got a complete visual makeover and you should definitely check it out).

Now here's where I get bitchy, with links and everything. Get ready.

Here's where the bug is reported. If you scan down the page you'll see that the guy who processed the bug and marked it as RESOLVED/INVALID tested it:

"I tested update from MDK9.1 and MDK 9.2 and it works very well."

Well, now try upgrading from MDK 9.2 to MDK 10.0 so you can reproduce the bug that was actually reported. I love Mandrake, and I make no bone about it, but as you'll see in my own comment later on, I thought it was pretty daft of the guy to test the bug without actually following the instructions for reproducing the bug, and then mark it as RESOLVED/INVALID. Nothing is resolved, and several other people there reported they could confirm the bug (myself included) and on that page there's 3 workarounds presented. I'm trying real hard not to let this reflect on Mandrake The Company, but it doesn't come off well.

Update: I finally got a response from someone at Mandrake.org, which you can read on the linked bug report page. He told me to reread the comment I quoted here in the article, and I did, and it does look like I may have been a little too harsh on the guy that tried to reproduce the bug and couldn't. My original criticism still stands, though, which is that there are three reports on the page, each providing more information, and the bug is still marked RESOLVED/INVALID. I have also gotten a number of emails in response to this article from Mandrake users who upgraded and had the same problem (at least one thanking me for providing a solution--you're welcome!). But I may have been a bit too hard on the guy.
Mandrake Control Center

Mandrake has rearranged the Control Center completely, and I admit I'm not happy about it. Now it looks just like RedHat's crappy tool which is itself a rip of Windows XP's crappy tool. On the other hand, though, I found that some of the modules are actually increased in usefulness. The networking module and the sound configuration dialog in particular are noticeably more useful than they were previously. The CUPS configuration stuff is still just as sweet as always, with some noticeable UI tweaks. All in all, except for the blatant rip of RedHat's rip-tool, the Mandrake Control Center has received a regular assortment of improvements in the last iteration. I'm happy to use it, and I haven't hacked a single config file since upgrading. This wasn't so with Mandrake 9.1, and Mandrake 9.2 was built from scratch on this machine and I had to hack several config files. This time, though, I was able to point and click my way to happiness, and it even managed to reconfigure Apache well even with my hacked config file in there (carried over from 9.2). So the Mandrake Control Center has certainly come a long way, from being almost useless in 8.1 to being a reliable administration tool in 9.2, and now it's almost completely eliminated the need to hack config files. I'm happy.
Now, my requirements

You'll be happy to hear, I'm certain, that I'm finding Mandrake's 2.6 kernel to be awesome. It's fast, feels good, and works to what I wanted. I've been dying for a stable > 2.4 kernel ever since I saw the task launching benchmarks a year and half ago, and I finally have one, and I'm just happy as can be. I don't actually have any complaints about the kernel.

As for Blender, it's always been a contributed package. I had issues getting urpmi to accept new mirrors, and Mandrake's mirrors have been fluctuating a lot lately. Frustrating, but I can live with it, I suppose. So I did have a bit of a fight to get Blender from the 10.0 repository (if I join the club this problem goes away, I might add, it only exists for us freeloaders). But the new Blender with this Mandrake is really awesome. Took about 5 minutes to relearn the interface, and now I'm working faster with it than ever before. The meta objects look cool but I haven't found a place to use them yet.

Except for the noted Kmail problem, KDE 3.2 really rocks. The icons and stuff did get such a complete makeover that I had to spend a few minutes learning the new ones, though, just because the habits from the older KDEs were pretty hard set. Some toolbar buttons got moved around here and there, and I'm still assimilating changes in KDE. To be honest, I've gotta say that the only major KDE upgrade I've ever noticed as a user was the 2.x to 3.0 upgrade. I think that says good things about how they're managing upgrades when each upgrade gets additional stuff but the user isn't bothered with it unless they need it. As a result, I don't know which walls I hit in the past that I didn't notice were there that I'm not hitting now, so I don't notice it's new. Tricky, but this last piece is exactly the reason I use KDE. You GNOME zealots can flame me all day long, and that's fine. ;) KDE's better, you know it, no reason to fight about it.

It's hard to draw conclusions from this. It's been a very mixed experience, when it's all said and done. I still haven't switched from Mozilla to Konqueror (a switch that's been scheduled since KDE 2.4, for me), and I was really hoping to. I may be able to now, but I haven't noticed. I am using Konqueror more and more, though, and that's good. I've noticed that Konqueror for file browsing is better, but I can't put my finger on what's changed. I discovered that if you right-click on the maximize/iconify button in a window, it maximizes horizontally and keeps the vertical size the same. How long has KDE had that? It's *cool*, and I just discovered it. (Update: A user wrote in to tell me you can use the middle mouse button and it'll maximize vertically the same way. *That's* pretty cool too. He also said some of the other window managers do as well, citing {black/flux}box) I really don't like opening the Mandrake Control Center. I left Windows because I was tired of these "you're an idiot" user interface decisions, and now Mandrake's made the same decision. And then KPilot's got a few improvements. All right, a lot of improvements, and I'm really enjoying it. Then on the rare occasion when I boot I get nailed with all these kernel choices. So I've got some nits to pick with Mandrake 10 that I didn't have with 9.2, that's for sure. But it's also a very satisfying iteration of MandrakeLinux.

I'm going to have to say that I'd recommend Mandrake 10 for new users emphatically, vehemently, and possibly at sword-point. (Update: Just wanted to mention that I am certain this would be a raving "I LOVE MANDRAKE" review if I had formatted and installed fresh rather than upgrading, like I did) But if you're thinking about upgrading from 9.2, think twice. Take a look at what Mandrake 10 has to offer and what you actually *need* from it. You might want to wait for 10.1 before upgrading.


Post a Comment

<< Home

Get Firefox!