aalib-based X server

How?

First of all, I compiled aalib, which seemed a good start.

Then I found GGI, which acts as an abstraction layer. It provides a standard interface, and will render (among others) as X, svgalib or (conveniently enough) aalib.

XGGI is a patched XFree 3 server, which as you can guess, uses GGI for its display. It'll quite happily render X using aalib.

Last stage was to tweak the text mode. 80x25 was far too small. Each character on-screen represents a 2x2 pixel block, so my X server was running at 160x50. Booting linux with 'vga=ask' wasn't very productive -- it only seemed to report standard VGA text modes (eg, 80x43, 80x50).

Poking around, I discovered SVGATextMode, which will tweak VGA text modes using modelines similar to XF86Config's. Fiddling with its config file somehwat I managed to get 100x60 running, which with an 8x8 font gives me 800x480, the limit of this laptop's LCD. My X server was now running at 200x120.

Almost useable. Time to try some apps :-)

Enlightment, KDE, RealPlayer 8, Netscape Navigator (among others) all seemed fairly happy running at such a low resolution. Some are nicer than others about how they handle it, though -- eg, wrapping menus when they become too large. There are quirks -- the server doesn't seem to recognise ctrl, alt or even shift being pressed, and I can't have a large virtual desktop to scroll around in -- but on the whole it's not too bad.

Why?

It struck me as a nice idea to be able to play DVDs without having the bottleneck of a fairly poor graphics card. aalib seemed like a natural alternative... No luck yet, but I'm still trying :-)

Actually, that's a lie. It just seemed like a cool thing to do.

Screenshots

Photographs

Screendumps

Animations

Cursor moving around a standard X crosshatched background
Enlightenment starts up
Cursor hovers over boxes to demonstrate cute highlighting

click here for some of my other pet projects

Valid HTML 4.01!

Featured on Slashdot in 2003

Page last modified
How did you find this page? You should email me and tell me!
Andrew Wales, stan@meow.org.uk (amazon wishlist)
thanks to juggler and james_r for hosting these files