||Andrew D. Balsa has been following the progress of Mandrake Linux 9.1 and its hectic pace of development. In the first two articles of this series he described his initial impressions of both betas (part 1 - beta 1 and part 2 - beta 2) to give us the taste of things to come. In this third part he delves deeper. He investigates various ways to improve that desktop look - with anti-aliasing, true type fonts, menu and cursor shadows, desktop icons and KGamma colour calibration. All accompanied by suggestions to developers and some excellent new screenshots. Enjoy!
|A d v e r t i s e m e n t
First, I should start with a big warning in capitalized text, red and bold:
IF YOU ARE NOT AN EXPERIENCED LINUX USER, DO **NOT** ATTEMPT INSTALLATION OF A BETA RELEASE OF ANY LINUX DISTRIBUTION.
There! And that goes for anything in life, Bill Robinson.
Now that we got that out of the way, the purpose of this article is to report on a few interesting findings I have made after using Mandrake 9.1 Beta 2 for a week. These are all still related to what I call "the Mandrake desktop experience", i.e. how useful/usable/aesthetically pleasing this Mandrake 9.1 release is, or rather will possibly be, when used as your main desktop OS.
|TrueType font handling|
Consistent font handling in X has been a sore for all the Linux desktop distributions; Mandrake Linux is no exception. Why is font rendering so important? Because as we spend more and more hours in front of CRT monitors or LCD screens, readability of rendered text becomes essential for the GNU/KDE/Linux desktop experience. This is really a case where a picture is worth a thousand words, so let me give you an example:
Screenshot 1: Freetype font rendering without anti-aliasing.
This is KWord, from the KOffice 1.2.1 package, displaying a text sample in three different fonts, without anti-aliasing. One can clearly see the jagged edges and staircase effect in diagonal lines in the text. These are the consequence of the raster engine being forced to draw the lines and curves that make up the characters using dots (pixels). We call the jagged edges and staircase effect aliasing; hence anti-aliasing consists of getting rid of these visual artifacts by smoothing the edges of the characters, using gray-scaling. This is what turning on anti-aliasing in the Fonts KDE control module does:
Screenshot 2: Freetype font rendering with anti-aliasing.
Quite an improvement, right? This, in fact, is what you get in stock Mandrake 9.1 Beta 2. But if we look carefully, we can still see some display artifacts that are not quite eye-pleasing, for example the height of the lowercase "u" letter is not uniform in the third paragraph, the sequence "azy" in the word "lazy" does not look quite right, the belly of the lowercase "a" in the word attention is slightly too fat, etc. Details, no doubt, but they add up. Here is an even better solution:
Screenshot 3: Freetype font rendering with anti-aliasing and the patch from David Chester.
Not only the text fonts are noticeably improved, but also the menu font is more legible (e.g. check carefully the shape of the lowercase "o" letters in the word "Tools"). Now how did I get this improvement? Actually this is the work of David Chester, his Web page with more examples can be found here. Apparently David's work has been merged in the Freetype CVS for the forthcoming 2.1.4 release. This is a well-know trick for Mandrake 9.0 and all I can say is that it is working very well with my Mandrake 9.1 Beta 2 installation.
Font rendering discussions can easily fill a web site (I recommend you take a look at this excellent web site), so I hope MandrakeSoft will respond and include the latest Freetype or a stable Freetype CVS snapshot with David's patches.
Mandrake 9.1 Beta 2 includes just a few TrueType fonts; in the examples above I used three fonts of the same family: Luxi Mono, Luxi Sans and Luxi Serif. Thanks to Microsoft, Linux users have free access to a set of high-quality TrueType fonts, for example:
Screenshot 4: Some of the fonts generously made available by Microsoft.
The fonts shown and a few more are available for download from a number of Web sites, just google for them. The variety of font designs is fascinating, so I went looking on the Net for some more free fonts to add to my budding collection of fonts. I found a good selection of reasonable to high-quality fonts at the Identifont web site, on their free fonts page.
There are two issues here:
- These fonts are not standardized.
- They cannot be included in any distribution by default. Linux users have to download and install them individually in most cases. This is caused by the word free
having a different meaning here...
The Free Software Foundation has
recently sealed an agreement with Bitstream to make the Vera
font family freely available. This is a good beginning. Hopefully
someday GNU/Linux users will have a complete set of standard fonts
available, under some kind of license that will protect the
intellectual property and artistic rights of the font designer, and at
the same time offer the benefits of professionally designed fonts "for
the rest of us".
|Shadows here and there|
One detail immediately noticeable in Mandrake Linux 9.1 Beta 2 is the
semi-transparent cursor with shadow. Unfortunately when it is moved
over text, it turns into a particularly difficult to read vertical beam
cursor. Here is a little trick that will increase the visibility of the
cursor by making it red, while keeping the transparency and shadow
- Open the file
- In the second line, replace the word
The result is rather attractive, but I am unable to make a screenshot that includes the cursor. The only way
to judge is to try it.
- Save the file, logout and restart the X server.
Personally I would prefer a gold or blue 3D cursor like thisor over text, like this.
There is no KDE or GNOME cursor editor yet for the new cursor file
format programmed by Keith Packard. Any takers? By the way, the new cursor file format/API allows for animated cursors. So I guess we'll be seeing more cursor eye-candy in the near future.
And speaking of shadows, I am using shadowed menus.
Screenshot 5: Menu shadows add some eye-candy to the KDE 3.1 desktop.
This is available by turning on an option in the KDE Control Center.
I have also replaced the two remaining old-looking icons that were left on my desktop.
Screenshot 6: The old icons look outdated.
Screenshot 7: These icons suit my taste better.
Did I mention how incredibly stable Mandrake 9.1 is, notwithstanding the fact that I am using an early Beta? Just as a test, I downloaded the source and compiled Bochs, the Pentium emulator. Not only did Bochs compile without any problem, but I could even start an install of Mandrake 9.1 Beta 2, inside Bochs, running on my X desktop, on Mandrake 9.1 Beta 2 itself. That sounds a little complicated, so here is the snapshot:
Screenshot 8: Incredible! Beta 2 installing inside Beta 2!
Having used Beta 2 for a week now, I consider 9.1 Beta 2 as stable as, or even more stable than my patched 9.0 installation. This stability reflects not only the incredible amount of work from the MandrakeSoft development team that went into putting together this new Mandrake distribution, but also the quality and maturity of GNU/Linux software in general: kernel, compilers, libraries, KDE packages, etc...
I had two gripes with the 2.4.19 Linux kernel used in 9.0:
- It had to be (trivially, but still) patched to support my little 2.5" external USB hard disk.
- The HPT372 controller on my Epox 8K3A+ mainboard was absolutely useless. The kernel recognized the on-board PCI RAID controller, but something was terribly wrong during disk accesses. In fact I lost a partition during testing. So until now I had the HPT372 controller disabled and was using only the VIA chipset controller, which worked fine in any case (to be completely honest, HighPoint made a closed source driver available, but it was a pain to install).
Neither kernel problem was in any way the responsibility of MandrakeSoft, so I had decided to wait until kernel development caught up. After using 9.1 Beta 2 for a few days I decided to give these issues a try. Well, guess what? Both issues are completely solved in kernel 2.4.21pre3. Not only that, but plugging in my USB hard disk results in a new icon appearing on my desktop, automatically. And with my old trusty 5400rpm IBM hard disk now connected to the HPT372, I am getting a healthy 30.5 MB/s transfer rate, thank you.
In fact just about the only peripheral I have not managed to get working with my Mandrake 9.1 Beta 2 is my UMAX Astra 2100U USB scanner, for which the SANE project has still not developed a back-end, but apparently this is a work-in-progress issue. Now I am just waiting for Beta 3 to come out with proper hardware monitoring support in the form of a set of fully functional lmsensors packages.
|KGamma is a nifty gamma calibration utility for KDE written by Michael v. Ostheim. It is now in version 1.0.0, and has just been added to the KDE CVS. I downloaded the source, compiled and installed it. Much to my dismay, my first attempts to use it resulted in an immediate crash (without crashing X or KDE themselves, thankfully). I exchanged two emails with Michael, and he easily solved the problem: a first empty line in my XF86Config-4 file! I removed the empty line and as a result, KGamma worked perfectly. Michael said he would fix this small problem for KGamma 1.0.1. Isn't Free Software great?
Screenshot 9: KGamma is a tool to calibrate monitors.
|Details, details, details - and a request|
I had not noticed it before, but the Beta 1 and Beta 2 installation programs still use the old 2.4.19 kernel from 9.0. Beta 3 should come out with a much improved installation and only the new kernel will be used. So we can expect better hardware detection and compatibility at install time for Beta 3. Apparently many other installation bugs have been fixed (the "wheel mouse" bug?), as the MandrakeSoft team works furiously to squash out the bugs reported in the last two weeks by users of the two first Beta releases. If you have given Beta 1 and/or Beta 2 a try and found a bug in the installation program, please report it to the MandrakeSoft bug tracking system. Don't forget to include a copy of the file /root/drakx/report.bug.gz; it contains a detailed report of the installation process on your hardware.
Finally, you should be aware that some classes of problems cannot possibly be solved by the MandrakeSoft developers e.g. if you found what you think is a bug in the ALSA driver of your sound card, you should report it to the ALSA developers, or even directly to the individual developer of the driver itself (this is just an example; ALSA drivers work well in general).
- In my previous article I was puzzled with the names of some TrueType fonts which had been included in the Mandrake 9.1 Betas, "Estrangelo Nisibin" and "East Syriac Adiabene". As kindly noted by reader Emil Soleyman-Zomalan, "...these are OpenType fonts covering the Syriac language, developed by Beth Mardutho for the Syriac speaking community. Syriac is similar to Hebrew and Arabic in that it is written right-to-left and semitic in origin. In
fact the fonts are included in XFree86". Thank you, Emil.
- I should have pointed out that to test Beta 2, I did **not** upgrade from Beta 1. I just reformatted the partition and started the Beta 2 installation from scratch. I intend to do likewise for Beta 3.
|Copyright (C) 2003 Andrew D. Balsa|
Verbatim copying and distribution of this article is permitted in any medium, provided this copyright notice is preserved.
|Please visit this forum on PCLinuxOnline if you wish to discuss the review.||
|29 January 2003|
|Andrew D. Balsa|
|About the Author|
|Andrew D. Balsa is a Linux software developer and I.T. consultant based in Hong Kong. He is also the author of the Linux Benchmarking HOWTO.|
|AMD Athlon 1600|
|ATI Radeon 7000 with dual VGA output|
|DDR 333 256MB single stick Samsung|
|IBM 40GB DTLA-305040|
|ASUS IDE 32X CD-ROM|
Ricoh IDE MP7200A CD-RW
|2x Sony 15" Trinitron, obsolete|
|Generic CMedia 8738 PCI|
|9.1 Beta 2|
|18 January 2003|
• i586 processor|
• 64MB RAM recommended, 32MB RAM for text install
• 800MB recommended, minimum 500MB hard disk space
• CD-ROM or floppy drive
|Pentium and compatible processors, AMD processorss|
• Mandrake Control Center|
• 100% Free Software
• Apache 1.3.27|
• GCC 3.2.1
• Gimp 1.2.3
• glibc 2.3.1
• GNOME 2.2beta
• GTK+ 2.2.0
• KDE 3.1rc6
• Mozilla 1.3alpha
• Perl 5.8.0
• Python 2.2.2
• Samba 2.2.7a
• XFree86 126.96.36.199
• Xmms 1.2.7