Subpixel Font Rendering in Linux

Due to some patent issues, most of the distributions ship their freetype packages with subpixel rendering option disabled. In fact, as far as I know Ubuntu is the only one that enabled this option. If you want cleartype-like font rendering in your distro, you have to uncomment a macro in the code and  build the package yourself. But this is not enough since the newest LCD-specific FreeType APIs have not been implemented in Xft and Cairo. So you have to patch and build these packages too. I have downloaded the sources of these packages from Ubuntu  and applied the patches to Debian code. Cairo and Freetype compiled fine but Xft wouldn’t. So I used David Turner’s patch for that one. Though font rendering issues are a matter of taste, the results are miraculous in LCD displays. Here are some screenshots with and without patches, see how fonts differ in webpages.

Unpatched freetype, cairo and xft:



patched builds:



Sources and patches of freetype 2.3.7, xft 2.1.12, cairo 1.6.4 can be found here. The tar archive also includes patched versions of the packages that I have built for Debian (deb archives for i386).

To enable subpixel rendering, you have to choose subpixel smoothing from appearance preferences menu in gnome. If you are using Debian or a Debian-based distro, you can configure system-wide settings through dpkg with the following options:

sudo dpkg-reconfigure fontconfig-config




More information about patches and patents can be found in:


Debian GNU/Linux 5.0 codename Lenny

Long-awaited “Lenny” has finally been out! After 22 months of development, Debian development team announced the official release of Debian GNU/Linux 5.0 on 14th of February as planned (well, at least in American Samoa, which happens to be located in UTC-11.) and the very same day I installed and tested it on my laptop.



This is the first time that a Debian release comes with a graphical installer, though the text-based installation is still the default option. The Debian installer in the DVD that I have used offered different options like expert mode, default desktop selection, etc. The overall installation process was easy and smooth. One of the good things was having the chance to load non-free firmwares from a USB flash drive during the installation because my laptop has Intel 4965 AGN wifi, which needs some binary firmware to work.


You can also choose the mount options of the partitions while you are installing the system, no need to edit fstab. I always use relatime.


One thing to mention is that if you have an ntfs partition, you need to install ntfs-3g yourself because it is not installed automatically. So you may need to edit your fstab in that case, no big deal anyway.

What’s New

Even if Distrowatch says Lenny uses Gnome, it ships with Gnome 2.22.3.  However, some packages are still in their 2.20 version. One of those kept back packages is gnome-panel. It is a very good decision to keep gnome-panel in version 2.20 because even in Ubuntu Hardy, which ships 2.22, the panel and applets crash too often. The other important package in version 2.20 is nautilus. Gvfs is not implemented in Lenny since it is thought to be “not stable and featured enough for a stable Debian release.” So Lenny uses “patched, rock-solid version of gnome-vfs instead”.


Lenny comes with native Flash support both in desktop and in the browser. It uses swfdec to view flash files and objects but I can’t say it’s an effective decoder. The quality of flash videos with swfdec-mozilla were so low that I immediately had to switch to non-free flash plug-in.

X.Org version in Lenny  is 7.3, which brings support for input/output hotplug. Some other important novelties in base system is mlocate replacing locate, and  rsyslog replacing sysklogd/klogd.

Installation guides can be found here and release notes are here. Here is what the default desktop looks like:


vfat mount problem in lenny gnome

I have a sony walkman that uses fat file system. I have been using Jsymphonic (0.2.1alpha) for a long time with no problems. However, when I switched to lenny, it stopped working. I have realized that my foldernames and filenames in the walkman were all in lowercase , even if I renamed them with mixed cases. So I checked hal-mtab and found the problem. Lenny gnome uses “shortname=lower” mount option with fat file system. I think this is a bug  because people would not want to see their filenames/foldernames in all lowercase letters. Mixed case would probably be the best choice.


First, go to “/usr/share/gconf/schemas/gnome-mount.schemas” and find “[shortname=lower,uid=]” and change it to “[shortname=mixed,uid=]”.

Then, open gnome configuration editor (gconf) and go to “/system/storage/default_options/vfat”. You will see that it also uses “[shortname=lower,uid=]” as mount option. So edit that key so that it looks like “[shortname=mixed,uid=]”.

And that’s all. Your fat file systems will be mounted using mixed case letters and Jsymphonic will be working perfectly again.

There is already a bug report about it.