A Critical Look at Mandrake 9.0

By Eduardo Sánchez | Posted at 1:59 AM
In this second part of the OfB Distribution Shootout, Eduardo Sánchez considers the distribution who nabbed our first annual Open Choice award last July -- Mandrake Linux. After finding Mandrake Linux 8.2 quite possibly the best GNU/Linux distribution ever released, Sánchez probes deep into its successor to see if it is a worthy replacement.
This is a critical review of the installation and actual performance of the Mandrake Linux 9.0 Download Edition distribution of the GNU/Linux operating system. The review focused on three main areas: (1)Installation and setup; (2) Operation and system administration; and (3) Performance. The review will conclude with a general evaluation and will assign grades on relevant areas.

The review was done on a laptop system equipped with the AMD K6-2 processor operating at 500 MHz, with 192 MB of system RAM, 6.0 GB of hard disk space, a motherboard using the VIA 8266 chipset (including the sound chip) and a Trident CyberBlade AGP video chip using 4MB of system RAM as video RAM. The display is an 800x600 passive matrix display panel.

I am a relative newcomer to Mandrake. My initiation with GNU/Linux was back in the first half of 2000 with a copy of Red Hat 6.2 Deluxe Workstation I had ordered from the States acting on the advice of a friend. After that, I went through Red Hat 7.1 and 7.2 (I skipped 7.0; it seemed too buggy). But in March 2002 I was so fed up with Red Hat's broken, bug-ridden and substandard KDE setup that I decided to look out for possible alternatives to Red Hat. After a short period, I settled down on Mandrake 8.2. Mandrake 8.2 delighted me with an excellent KDE setup, stability, speed, and a much leaner installation than Red Hat. Indeed, Mandrake 8.2 might be the best out-of-the-box GNU/Linux distribution ever.

You can see now that I had high expectations for Mandrake 9.0, a distribution that promised to improve on Mandrake 8.2 by offering KDE 3.0x, Gnome 2.0x, gcc 3.2, XFree86 4.2.1, and LSB compliance. This, of course, would be on top of Mandrake's well-known features such as the excellent font installer, the urpmi package manager, and Mandrake's famously easy installation.

Before proceeding into the installation proper, let's make some assumptions clear. I honestly think that all those reviews of GNU/Linux distributions that focus on installation with the assumption that the installer should be really dumbed-down in order to make it "user friendly" or "as easy as Windows", are dead wrong. Windows is not easy to install! Have you tried to do it yourself, right from the partitioning of the hard disk with fdisk and up to the point in which you have a working system ready to do its job? If you did, then you'll know that Windows installation is anything but easy or user-friendly. Furthermore, the fact that in the Windows world the end user seldom installs his/her system should be borne in mind; the task is usually left to the system integrator (the computer manufacturer) for a new system, and to the "resident nerd" of the family/school/workplace in the case of an upgrade. Because of all that, I contend that it is unrealistic to expect a GNU/Linux user to install his/her system on his own. It would be far more appropriate instead to expect that the GNU/Linux installation would be done by someone who would take over the role of system administrator during the install and configuration process; this would be usually a GNU/Linux user who has already gained some expertise in system usage and installation. Therefore, I did not expect installation to be dumbed-down; I wanted an install routine that was clear, easy and flexible, that is, something that would maximize control to the system administrator while minimizing both failures and loss of time. However, this handholding by an expert would be limited to install and configuration only; further administrative tasks would be left to the end user.

System Installation
When the Mandrake Linux 9.0 Download Edition CD 1 is placed in the system's CD-ROM on a system capable of booting from CDs, the CD boots itself and presents the user with a LILO graphical screen which basically offers to install/upgrade Mandrake 9.0 on pressing the Enter key, and special options (such as text-mode installation) after pressing the F1 key. Pressing the enter key starts DrakX (Figure 1), the well known Mandrake installer. The installer is written in GTK+ 1.x and even features a themeable engine. In 8.2, the themes were available as buttons residing in the lower-left corner of the screen. Now, however, these are gone, giving the impression that the installer is no longer themeable. But themes still are there -- they can be cycled with appropriate key bindings that, as far as I know, are undocumented.

Mandrake installer license agreement screen
Figure 1
The Mandrake installer showing the license agreement (800x600, 34K)
The installer presents a list of sixteen tasks on the left side screen, from "Choose your language" to "Install system updates". Every task is represented by a color bullet, which is red when a task is yet to be done, orange-yellow when is in process, and green when it was successfully completed. On the bottom right there is a text box with informational messages. The quality of the latter varies between the helpful and the irrelevant. Thankfully, there's not much use for these messages; DrakX deserves its well-earned reputation as one of the easiest GNU/Linux installers ever written. Around the beginning, DrakX presents you the Mandrake Linux 9.0 Download Edition license agreement (see Fig. 1). This is a text which says, in reasonably clear language, that the software in the distribution is covered under different licenses, it's up to you to comply with them, and MandrakeSoft disclaims all liability -- pretty straightforward. Then, you can choose one of three installation classes: Install, Upgrade or Upgrade packages only. Additionally, you can pick two routes: Recommended or Expert. I chose Install, Expert, in keeping with the assumptions of this review.

After specifying how you would like to install it, Mandrake 9.0 goes on to hardware detection. Mandrake's hardware detection is nothing short of excellent. It detected and configured correctly all of my hardware, including -- new in MDK 9 and a pleasant surprise -- my Plextor 24/10/40U USB 2.0 external CD burner that I use connected in USB 1.x compatibility mode (since this is a 1999-2000 laptop, it lacks an USB 2.0 port). I also got a window telling me that I needed to download some "proprietary" drivers in order to operate some hardware-- winmodems. My laptop has the Lucent LT Winmodem, which is one of the best supported in GNU/Linux, but again, sadly with proprietary drivers. In this stage I was also asked to setup my mouse and my keyboard, all properly detected. In the next window there was another change: when I was asked to choose the security level the alternatives were Standard, High, Higher and Paranoid --gone was the None option that was present in MDK 8.2. I chose the Standard option, since the system would be used as a workstation.

the DiskDrake partitioning tool
Figure 2
The DiskDrake partitioning tool (418x362, 6K)
Partition size selector
Figure 3
The DiskDrake partition size selector.
The following step was the disk partition setup, with the help of the DiskDrake partition tool. Figure 2 depicts a screenshot of DiskDrake from the distribution tools -- but is essentially the same as the one in the installer. In 8.2, DiskDrake was a very good tool and I was pretty certain that this step would be business as usual, being myself use to the partitioning setups in Red Hat, Slackware and MDK 8.2. However, here I found my first problem. I wanted a setup composed of three partitions: one 22 MB partition mounted as /boot, a 400MB one to be used as swap, and the rest to be used as a very large root partition. I concede that this is not a very good setup but I wanted flexibility between disk space destined to programs and space for user files. Now, an "innovation" in Mandrake 9.0 is that in order to select the partition size, you must use a horizontal sliding control (see Fig. 3) instead of the textbox of old. I don't have anything against this change being such; perhaps it has a better usability, or there might be some other powerful reason for it. Problem is, the horizontal sliding control has a granularity that is significantly lower than the total count of blocks in the hard disk, and this means in plain English that you will not be able to select the right size. In my case, the minimum size for a partition was 7 MB and the next step was 45 MB. I wanted a 22 MB /boot partition but I was unable to select the right size. Being stuck here, I terminated the install, opened my CD-ROM drive and inserted a Slackware 8.1 install CD. Thankfully, with the cfdisk partition tool I was able to partition the hard disk to my liking in no time. The very fact of Slackware being actually easier and less cumbersome than Mandrake at this stage speaks volumes. After the partitioning was finished, I restarted the machine and now when DrakX came to launch DiskDrake, the hard drive was partitioned the way I wanted, and I was able to change the filesystem of the root partition from ext2 to ext3 without any problems. After that it was (mostly) smooth sailing.

For the actual contents of the installation you can select package groups in three areas: Workstation, Server and Graphical Environment. In the Workstation area there are groups such as Office Workstation, Game or Multimedia Station; in the Server area you can choose groups such as Network Computer server, Web/FTP, Firewall/Router and the like. The Graphical Environment area offers a choice of KDE, GNOME or Other graphical environments. Besides these, there are three additional groups: Development, Documentation and LSB. There is also an available a checkbox if you want to select individual packages, which upon pressing OK takes you to the individual packages selection screen; this I selected, again in accordance with the assumptions of this review, and here it was when I hit another problem, less critical but very annoying.

Admittedly, doing the individual package selection is boring and cumbersome; and it is so to the extent that DrakX thoughtfully offers you to save the package list into a floppy for future use (a real convenience, if you might ask!). But DrakX adds greatly to the annoyance in a unnecessary way: a very large number of packages are repeated in different package groups, i.e., packages such as XFree86-100dpi-fonts are mercilessly present in all three package groups of the Graphical Desktop area. This is annoying, cumbersome, inconvenient, and makes for a really cluttered list. One can get tired very quickly of scrolling screen through screen of repeated packages.

After you're done with package selection, the installer happily goes on with the package installation. When this step is done, you are asked for the root password, add users, configure the network, and finally configure your timezone and printer. I was aware that DrakX had serious problems with the network detection, so I skipped that step; after all, I could always do it later with the Mandrake Control Center. The printer setup went without problems; I was able to configure a HP DeskJet 840C in both parallel and USB modes. Then you see a list of services that are supposed to start at boot; you can disable these if you feel like it, which is very convenient, security-wise. This is especially handy when you select libqt3-devel, because it depends on PostgreSQL and MySQL, both of which would start as boot as daemons unnecessarily. In this screen you can uncheck all such daemons (daemons are like "services" in Windows NT/2000/XP).

For booting, you can choose between LILO and GRUB. LILO comes in text and (themeable) graphical flavors; GRUB, surprisingly, is available only as a text-based menu. After a prompt for making a bootable floppy, you are led to the X Windowing System configuration. Mandrake detected my video card without trouble (Trident CyberBlade AGP, 4 MB RAM), but I had to set up my monitor by hand and resolution parameters. You can choose between a X-based or text login, and I chose text (being used to the ancient ways); this choice, however, caused some trouble that I will describe further below. The following step of the installer would be the download of updates from the Internet, but since I did not set up my network, the install finished.

Problems found during installation
Before leaving the install stage, there are two problems that I want to point out:

  1. The individual package selection is not complete and does not yield full control to the user. Even after picking up the "Select Individual Packages" checkbox and wading through lots of repeated packages (see rant above), there were some packages that were not listed and yet they were installed, in many cases against my wishes. These packages could be potential security hazards and in all cases they are unnecessary bloat. In my particular case, Mandrake silently chose and installed for me libmrproject0 and libmrproject even after I deselected Mr.Project; libevolution even when I chose not to install Ximian Evolution; and emacs (a whopping 21 MB!) even after I took extra care of unselecting every emacs packages. Ditto for packages such as vim-common, libwraster, libgnome-pilot, rdesktop, nfs-utils-clients, irda-utils and samba-common. Any Mandrake user might point out similar examples upon careful examination of his or her system.

    This condition is not a new one. This was a misfeature I had already noticed back in the 8.2 days and I expected it to be corrected in this version but this wasn't the case. I consider this condition not acceptable since it might lead to (a) security compromises that the user might not be aware of; (b) unnecessary bloat and hard disk space waste; (c) performance hits; (d) bandwidth waste when you have to update said exploitable packages that you're not going to use; and (e) waste of the sysadmin's time, who has to chase down all these unnecessary packages with enough care to avoid accidental deletion of needed software.

  2. It seems that MandrakeSoft has a chronic problem when it comes to figure out what packages are going to be in the distributions. I found in the Download Edition some packages that might seem downright irrelevant, while essential packages are missing. For example, I like to use LaTeX for document preparation, and all TeXnicians/LaTeXperts and users know that documentation for the TeXmf system is absolutely essential. But much to my surprise, when I tried to install tetex-doc (the documentation package of the teTeX distribution of the TeX/LaTeX typesetting system, that comes standard with Mandrake and most GNU/Linux distributions) it was missing. AWOL. There was no trace of tetex-doc in the whole 3 CD set! There were such goodies as two different Prolog environments, GNU SmallTalk, and the lout typesetting system (a much less used system), of course complete with its lout-doc package. But, tetex-doc was nowhere to be found. I might understand that perhaps tetex-doc did not fit in the CD set because there were more important packages, but MandrakeSoft found space for not one, but two Prolog environments, the gawk documentation, and the complete lout system, but they couldn't find space for the teTeX documentation! This simply does not make sense, and it is really inconvenient.

    Again, this problem is not new. In 8.2, there was a lot of groaning and ranting because it seemed that the 8.2 Download Edition was more complete than the boxed ones. See here and here for just two examples of what was being said and done on the issue, back then. Now, the situation seems to be in the inverse. This time is the Download Edition the one that seems to be incomplete; a lot of apps that I had installed from my 8.2 Download Edition and considered essential for my daily work simply were gone, such as krusader, centericq, xdrawchem and others.

    I find this quirk of Mandrake very inconvenient and I urge MandrakeSoft to improve on the package selection of all editions of Linux Mandrake. I'll certainly understand if for business reasons some packages will have to remain outside of the Download Edition, but Mandrake must ensure that the criteria for package selection must be reasonable and consistent, not the sorry mess that is today.

    Additionally, I have a suggestion for MandrakeSoft: Why don't you give Club members a complimentary CD with all the packages in the contrib directory? This CD would be available only through MandrakeSoft and it would be a nice source of revenue, and a great convenience for those of us that have to pay near 100 US Dollars in our home country for phone access (metered by the minute), similar outrageous high prices for low-bandwidth Net connectivity or those people who simply prefer not to download everything from the Net. In my opinion, this would be far more attractive as a perk than offering lousy proprietary demos, crippleware or trialware for download.
Apart from the two issues mentioned above, there were some others that affected installation as well. If you do your partitioning with DiskDrake, DiskDrake will not check if some partition is to be marked as primary. On a previous installation, before the final one, I forgot to designate one of my partitions as primary, and when I booted for the first time, the kernel appeared to boot as usual but then panicked complaining that init was nowhere to be found. A subsequent installation fixed the problem, but such occurrences could be easily avoided.

System Operation
After having your system properly installed, you will see the bootloader of your choice at system startup. In my case, GRUB helped me boot the Linux Kernel 2.4.9-16mdk in a very nice 100x37 framebuffer console. For the people who like such things, there is a RPM that provides a background graphic in the framebuffer console during kernel and init booting, but I did not install it. The boot process is SysV, and very similar to Red Hat's, something not surprising given Mandrake's origins. After the boot sequence is done, you see a login prompt, and logging in takes an amount of time surprisingly longer than in most other distributions, in which it is almost instantaneous. Mandrake, instead, makes you wait 10-20 sec. for a shell prompt; however, this is not a big deal. The default shell is bash, with a default prompt that is the same as the old Red Hat bash prompt.

You can start the X Window System with the startx command, and this will lead you to the K Desktop Environment, which is Mandrake's default graphical desktop. The KDE in MDK 9.0 is KDE 3.0.3, a stability release of the KDE 3.0 series that had been now superseded by additional bugfixes in releases 3.0.4 and 3.0.5. Both latter releases are available in the Net as easy to install Mandrake 9.0 packages, and there are also some updates to MDK's own packages fixing some vulnerabilities; I advise to install KDE 3.0.5 directly instead of keeping the boxed KDE 3.0.3 desktop. In any case, the KDE desktop looks clean, and the MDK-specific artwork looks nice and fits well in the overall presentation. Some changes are subtle: In MDK 8.2 there was a KDE logout dialog box that asked you if you wanted to log out, restart or power off the system (just like the Gnome logout dialog). Now, there is just the regular KDE logout dialog, the one that makes you choose between Logout and Cancel (this problem is only apparent when not using the default KDM login manager). On the other hand, in MDK 8.2 when you invoked an app that was supposed to be run as root you had to give your root password through GNOME's consolehelper; now, if you're in KDE, these apps will ask you for your root password using kdesu. Other changes, however, are not so subtle and downright unpleasant: Mandrake took out all screensavers from KDE except KTux! Now, if you use KDE, you have only the choices of a blank screen, Mandrake's own screensaver and KTux. Gone are all the rest, especially the one I was really fond of, "The Matrix." Why, MandrakeSoft? Do you want to force your users to use Xscreensaver instead? I really can't think of a valid reason for taking out all but one screensaver in a desktop-oriented GNU/Linux distribution!

You also can get the GNOME 2.0.1 desktop environment. One of the main personal reasons behind this Mandrake upgrade was that MDK 9.0 included GNOME 2 and I was really curious to see what it was like. I found Mandrake's GNOME 2 to be a good and reasonably stable version of GNOME; now, I happen to prefer KDE as my particular desktop, but the GNOME hackers deserve congratulations for their hard work. I didn't care much for the GNOME top menu, but fortunately I was able to disable it. Other desktops and window managers available are XFce, IceWM, WindowMaker, Blackbox, Fluxbox, mwm and twm. Additionally, you can download fvwm and AfterStep from the Net (they did not made it to the Download Edition). Almost all main desktops (a glaring exception being XFce) use the Debian menu system, meaning that the desktop menu is the same across different desktops, i.e., the user can access the same menu and the same apps when using any desktop, be it KDE, Gnome2, IceWM, etc. This has always been very convenient to the end user and makes me wonder why all the other distributions are so slow in adopting it.

A problem I saw with the Mandrake desktop back in the 8.2 days is that if you chose to have a text-only login, there is absolutely no documented way of change your default desktop; that is, a review of available Mandrake documents fail to show how to do it. At least in Red Hat you could type switchdesk and its documentation tells you so; but in Mandrake you are apparently left in the cold. It seems like Mandrake expects its users to stick with the graphical login or if they use the text login, to stick with text-only mode. The solution, I learned, is to create in the home directory of the user a file named .desktop whose only contents will be DESKTOP=$DESKTOP in which $DESKTOP is the desktop you choose, and it could take values such as KDE, GNOME, IceWM or XFce. Let's say, that you would like to switch to Gnome; in order to do this you must type at your home dir the following:

$ echo DESKTOP=GNOME > .desktop

Thus, the next time you type startx your desktop will be Gnome 2. Not very user friendly, is it? Worse, it happens that the value of $DESKTOP is case-sensitive, and the fallback desktop is IceWM, so if you happen to set something like DESKTOP=Gnome on your .desktop file, you're going to end up starting IceWM instead of Gnome. This is also unacceptable; the minimum corrective action would be to document this step in an adequate way somewhere in the Mandrake documents.

The Mandrake Tools
The Mandrake-specific tools went through a complete revamp. Mandrake offers a good set of configuration and maintenance tools, most of them in both console and X11 versions. Many of them proved useful along the way. I like them because they take out the drudgery of many repetitive and cumbersome administrative tasks. Most of them are grouped in the Mandrake Control Center.

screenshot of drakfont
Figure 4
screenshot of drakfont (638x494, 11K)
drakfont installing some fonts
Figure 5
drakfont installing some fonts (800x600, 29K)
Font selection in Drakfont
Figure 6
Font selection in drakfont. Notice that you have to click on the fonts one by one. See also the "creative spelling" of Restarting xfs... on the lower left part of the console window (800x600, 31K)
A tool that I find particularly valuable is drakfont, the Mandrake font installer (depicted in Figure 4). Many people bemoan the difficulty of installing fonts in GNU/Linux, and a lot of others -- who really need a clue or perhaps simply better info -- hail the "ease" of font installation in the newest release of Red Hat; but these people simply do so because they ignore what drakfont can do. If you look again at Figure 4 you will notice that at the bottom left there is a button called Get Windows Fonts. Well, if you happen to have a dual-boot, Windows-GNU/Linux mixed setup, when you press that button drakfont will search all your windows fonts and install them flawlessly for you. And, instead of the efforts of other distributions, drakfont can install both TrueType and Type1 fonts, and make the fonts available for X11, Ghostscript, Abiword and Star Office/OpenOffice (see also Fig. 5). This is really awesome! However, things are not so neat when you have only GNU/Linux on your box and you want to install fonts that you have in a designated directory. You can do it, and drakfont will dutifully install every one in their appropriate place for all apps as usual, but the font selection method is cumbersome. You have to pick your fonts one by one (see Figure 6), and that means that if you have 300 fonts, you will have to click the mouse at least 300 times in a very tedious and repetitive task. This is, as I see it, a serious flaw from the usability standpoint and its solution would be straightforward: just allow selection of whole directories in drakfont (just as xmms and other apps do); that would make things considerably easier.

screenshot of the Mandrake Update tool
Figure 7
Screenshot of Mandrake Update (800x600, 91K)
Mandrake Update doesn't give you a clue about what's happening
Figure 8
Mandrake Update doesn't give you a clue of what's happening. See how wget is downloading the hdlist.cz file in console standard output, but the program windows are completely blank (800x600, 162K).
Mandrake Control Center does not fit in a 800x600 screen
Figure 9
Screenshot of the Mandrake Control Center showing the network config module. Notice that the Control Center window does not fit in my window. This is an example of poor UI design of an otherwise excellent tool.
Another tool that can save you a lot of headaches is the Mandrake Update tool (Figure 7). The Mandrake Update tool is a graphical front-end to the RPM database and the urpm* tools from MandrakeSoft. The urpm* tools allow you to seamlessly install and uninstall packages from the command line, in a way that is very similar to Debian's apt-get. The installer, urpmi, maintains a database of packages and their repositories, and can look for and solve dependency issues automatically. Mandrake Update builds upon the urpmi foundation to offer a tool in which you can install and uninstall RPM packages from a graphical app, but the most important use of Mandrake Update is the ability to look from errata updates (such as security or bugfix updates) from approved sites on the Net. I found this capability to be a real convenience and very helpful in keeping your system current and with less security holes.

However, there are two problems that I've noticed; one of them is the almost complete lack of meaningful feedback to the user, unless you run Mandrake Update from a terminal window (see Figure 8). This was especially aggravating when I restored my GPG database from my backup. A feature of urpmi and Mandrake Update is that they check for a GPG signature and if a package to be installed has a GPG signature that is missing from the database, execution stops. In urpmi, the program asks you if you want to continue anyway; in Mandrake Update, there is a long wait followed by a message telling you that the upgrade could not proceed due to an unknown problem. Of course, importing Mandrake's appropriate GPG key solved the issue, but had I not run Mandrake Update from a console window I would never have known what was happening.

The second problem is that if there happen to be advisories for your system, then Mandrake Update downloads hdlist.cz file that is around 2 MB big. For this, the program invokes wget and most of the time the download speed is very lousy (around 1Kb/s in a dialup connection), causing a waste of connection time. Furthermore, every time a new update is released, the hdlist.cz has to be downloaded again in its entirety. This is not so critical, but it will be nice if MandrakeSoft could at least provide a differential hdlist.cz download instead of having to download it completely every time.

A lesser, but still somewhat uncomfortable quirk of the Mandrake tools is that it is very difficult to use them in an 800x600 screen (see Figure 9. There is simply no reason for this besides bad design. It makes the Mandrake tools look like unprofessional, half-baked toys instead of the useful tools they usually are.

General remarks on system operation
There are other hallmarks of Mandrake. Supermount is a feature that mounts and unmounts automatically removable media for you. It works great, especially when you use it from the Midnight Commander or Krusader. In my experience supermount worked reasonably well for CD-ROMs, with no problems or inconveniences. The supermount for /mnt/floppy is a nice feature; it can automatically mount and unmount a floppy with the MS-DOS format, which is great to share small files with your coworkers via sneakernet with a minimum of hassle. However, I've observed that data transfer integrity is not very good, even after issuing a sync command, and that supermount interferes with the mtools utilities, so I would suggest caution in its use.

A pleasant surprise that I already mentioned is the fact that, for the first time, a GNU/Linux system recognized and correctly configured my USB CD-Burner. I was able to play music, mp3s, read data and burn CDs from GNU/Linux, and supermount worked very well, and all this without any manual configuration on my part.

The sound system is, sadly, a real mess. Mandrake installs the ALSA 0.9-rc2 sound system with the OSS compatibility layer. I don't know what they did to it or what happened; but as of now, after 150 MB of updates that included initscripts and draktools, init is still unable to properly start and shut down the alsa service (testing revealed that this was a soundcard specific issue, when running with other cards, the scripts did not have this issue). The Mandrake tool sounddrake is useless; it often reports incorrectly the sound system in use and when you make it change it does not check for all errors and failures. It is such a messy situation that once when I tried to play sound after supposedly having restarted the Alsa service, I saw my very first kernel "oops" ever!. And sound problems do not stop here. Sound is so choppy and full of artifacts in mpg123, esd and SDL apps that it makes these unusable; I have yet to play a good session of frozen-bubble, skobo or lbreakout2 with music. Furthermore, I can't use sound in Gnome at all. That's quite a disappointment, especially when you're used to a working SDL setup from MDK 8.2. The only instance when sound really works properly is when you use KDE with the aRts sound server. This is again unacceptable in a GNU/Linux distribution that is desktop-oriented. It is is a serious issue and it should have been fixed by yesterday. (Update: I discovered that frozen-bubble sounds OK with only a little latency if you launch it from KDE with the command artsdsp frozen-bubble. This is a dirty hack of a workaround, but certainly is a welcome relief. However, skobo, lbreakout2 and other SDL apps still have choppy sound.)

System Performance
System performance was very good in Mandrake 8.2; now, with gcc 3.2, I am pleased to report that performance is noticeably better while stability is very good as usual, with the exceptions noted throughout this review. I found the system faster both in code execution and compilation. Below is the summary of some performance comparisons between Mandrake 8.2 and Mandrake 9.0:

Table 1
Application Startup

Command Mandrake 8.2 Mandrake 9.0
(with KDE >3.0.3 as desktop)
1m 40s 1m 05s
konsole 09s 05-06s
konqueror 10-11s 04-06s

Table 2
Compilation times
(according to the command
time rpm -ba --sign --target i586 .spec)
Package Mandrake 8.2 Mandrake 9.0
ksetiwatch-2.5.1 30-35m 10-15m
kile-1.3 1h 49m
krusader-1.11 1h 20m 40m
Even though they're unscientific, the above measurements show that perceived performance of most applications is better in Mandrake 9.0. MandrakeSoft should be commended for this performance improvement that really shows off the hard work of the distribution developers.

There is no end of things that one might say of Mandrake and many of them necessarily will have to be skipped. In general, I see that Mandrake, with its strong commitment to producing a 100% Free Software distribution of GNU/Linux and emphasis on the desktop could very well be the killer distribution and a serious contender for the post of the top grassroots distribution. Already Mandrake is first in several informal polls and the community of users is growing. Better yet, Mandrake has shown repeatedly that it cares for its users. And finally, they released Mandrake 8.2, which is such a solid and stable distribution that it might be the best GNU/Linux distribution ever released yet.

Mandrake 9.0 builds on these good foundations. Mandrake 9.0 Download Edition is a good GNU/Linux distribution that is 100% Free Software, which in my country means 100% BSA-mobsters free (no small feat!); its emphasis on the desktop places it at the very center of the future of Free Software computing; and still it avoids being a dumbed-down distribution that makes things difficult for more experienced users. Besides that, it can be a good server platform and, what I think is the biggest plus of this distribution, it offers significant performance enhancements without sacrificing --generally speaking-- system stability. To this it might be added that it is an excellent way to try exciting new software developments such as Gnome 2 or gcc-3.2, and that it has excellent hardware detection.

Sadly, there are too many shortcomings. The installer has some serious bugs that are detrimental to such a good installer as DrakX is, and DrakX really deserves far more praise than it gets now because of this lousy job. DiskDrake problems, network autodetection, the issue of "secretly-installed" bloated, risk-prone packages, and the incomprehensible criteria for package selection make the installation an experience that is less than good.

Additionally, the serious issues on the sound system and the other, less critical, issues found on the desktop environments and the Mandrake tools work against Mandrake's position and reputation as a good desktop distribution and to its newbie friendliness. A kernel oops is an absolute no-no for a newbie! (and for anyone, I might add).

Because of all this, it is the conclusion of this reviewer that most users should skip Mandrake 9.0. The reviewer feels that a properly updated Mandrake 8.2 setup with KDE 3.0.5 (or KDE 3.1 when it is released) is now much better than Mandrake 9.0. Alternatively, other GNU/Linux distributions could be explored, but it must be noted that in such cases there will be prices to pay in terms of ease of use, system performance, system stability, or all three. Perhaps the safest bet would be to wait until Mandrake 9.1 comes out.

At the present time, this reviewer can recommend deploying of Mandrake 9.0 only if the user has a reasonable amount of experience with GNU/Linux and especially previous Mandrake installations, and if he/she wants to try a distribution that uses gcc-3.2 or Gnome 2, or perhaps has exotic hardware that could benefit from the improved hardware detection. But when in doubt, don't do it.

Editor's Note: While Mandrake Linux 9.0 works properly in a significant number of installations, including those here at our central office, we feel that the aforementioned issues definitely tarnish an otherwise good distribution. It is OfB Labs hope that Mandrake Linux 9.1 will combine 8.2's stability and consistant reliability with 9.0's technological and functionality advances. Associate editor Sánchez notes that, even in light of the aforementioned issues, he continues to use Mandrake Linux 9.0 as his only desktop operating system and agrees wholeheartedly with this editor's statement.

-Timothy R. Butler

Summary of Mandrake Linux 9.0
User Interface:
Total Cost of Ownership:
UPSIDE: It is an excellent distribution but it will require significant system administration time due to its bugs, quirks and shortcomings. Lots of problems, some serious, almost all of them easily fixable. ($29, www.mandrake-linux.com).

Eduardo Sánchez is Associate Editor of Open for Business. You can reach him at esanchez@ofb.biz.
Figures 1-3 are taken from the Mandrake 9.0 documentation and are covered under the GNU Free Documentation License.