This may be of interest to anyone who is using a newish AMD GPU on Slackware-current and is seeing text rendering problems in X:
I'm using an Radeon R9 270 "Pitcairn" card and I've been seeing occasional problems with text display in X, particularly in Firefox although other applications are affected too. Occasionally, certain characters are displayed incorrectly, appearing as either a different character entirely or a garbled mess of pixels. The problem is transient and difficult to reproduce consistently. The desktop is still usable but it does get quite annoying after a while.
A bit of googling on the subject turned up various posts pointing at the glamor 2D acceleration layer which is used for recent AMD GPUs. One solution is to change over to the "modesetting" framebuffer driver, at the cost of doing without graphics acceleration completely. But I've been looking around for a fix to the glamor acceleration.
Unfortunately, Slackware is using the standalone glamor-egl 0.6.0 library which seems to have been abandoned by the developers when glamor was integrated into the X server. Comparing the glamor git repository to the one at xorg, the two codebases have diverged considerably since then, so its not possible to apply patches from one to the other.
I didn't have the courage to try building a newer version of X with the integrated glamor driver. As a stop-gap, I've been toying around with some of the git commits which appeared in the glamor repository subsequent to the 0.6.0 release. Rebuilding the stock glamor-egl with the following series of patches applied, seems to cure the text rendering problems for me, without any apparent side effects (yet):
http://cgit.freedesktop.org/xorg/dri...22536c1807f34a
http://cgit.freedesktop.org/xorg/dri...d3d216415d9be2
http://cgit.freedesktop.org/xorg/dri...5b7e71c8b008b6
http://cgit.freedesktop.org/xorg/dri...a894c3e109d862
http://cgit.freedesktop.org/xorg/dri...c10545a6bafae1
Hopefully this might be of use to someone else. I'd be interested to hear from anyone who's also experienced this problem and any other solutions they may have tried.
-Ken. :-)