2D acceleration with a Neomagic graphics chip

Recently, I bought a ThinkPad 240 for my collection of old ThinkPads. The graphics chip is a NeoMagic MagicGraph 128XD, which I would like to us to display my desktop environment accelerated.

Simplified, X.org previously contained two methods for 2D acceleration. At first, they had the XAA method inherited from XFree86. Later, they rewrote the modules to the newer EXA method. However, some old chips never got EXA support and were still stuck on XAA. Such as the chip in the ThinkPad 240.

XAA support was dropped from X.org in 2012, so to get a 2D accelerated desktop I needed to install an X.org version from before 2012. This led me to Debian Squeeze, which worked.

I would love to use an accelerated desktop on my 240 with a modern distribution, but this would either require forward porting an old version of the X.org server or rewriting the module to EXA. The latter probably will not be accepted to due to the fact that X.org is going into maintenance mode and just because it’s simply a lot of work. The first is not ideal either, but it is the most feasable if I would like to use a modern kernel and libc…

After talking on the #dri-devel IRC channel on Freenode, Keith Packard suggested to me that porting to EXA would be pretty straightforward to implement.

To be continued…