Problem with font rendering

The recent X server development leads to font rendereing issues caused by a glyph cache introduced in the major release 0.28 of pixman. The new API for fast glyph rendering was announced on the pixman mailing-list some days ago.

The symptoms of the font rendering issues vary from user to user. Some experience a faulty rendering in the browser.


Other users report applications not showing text such as Libre Office or gogglesmm. Not every application is affected by the recent xorg changes and thus you won’t detect these defects until the next usage of the affected applications.


The left picture shows the defect while the right picture is a screenshot taken by scrot showing how it should look like. Resize and move events of the affected applications refresh the screen painting but hovering ofter the menu entries lets them dissapear again. Scrot and other programs using the giblib or imlib2 image processing libraries seem to read the low-level image buffers flawlessly. And that’s the reason why the first picture had to be shot with a digital camera.

To solve the issue downgrade the xorg server. In Arch Linux the downgrade is simply done by installing the older package from your pacman cache:

cd /var/cache/pacman/pkg
sudo pacman -S xorg-server-common-1.13.0-3-x86_64.pkg.tar.xz 
sudo pacman -S xorg-server-1.13.0-3-x86_64.pkg.tar.xz

In order to rebuild it in Arch Linux you need to have ABS installed.

sudo pacman -S abs
sudo abs
cp -rp /var/abs/extra/xorg-server /tmp
cd /tmp/xorg-server

One Arch Linux forum user recommends to edit the PKGBUILD and comment out line 40 which applys the patch autoconfig-sis.patch which looks like

patch -Np0 -i "${srcdir}/autoconfig-sis.patch"

Possibly he meant line 36 which applys the patch use-pixman-glyph-cache.patch and looks like

patch -Np1 -i "${srcdir}/use-pixman-glyph-cache.patch"

Save your change and run makepkg -csi. After a reboot your X server should behave correctly.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>