I got one of these cute little OLPC laptop's. It's not the most powerful, but for what it does, it works pretty well. With one definite exception: 3d. The graphics chip is on the same die as the processor (or something close to this). The only features it has show pretty obviously what it's intended purpose was. Your awesome accelerated features consist of features only really used in 2d: blitting (BitBLT or just BLT). Oh and hardware screen rotation.
So the only possibility to get any more performance out of this is by using the AMD 3DNow! and MMX extensions to the limit.
I know gcc does optimizations for such things, but I'm not sure how good it is, or how to code it to help gcc along.
Either way, it was decided that performance was so abysmal that there is no glx in the Xorg package that comes with the system. So I had to compile my own: xorg-x11-server-Xorg-1.4-42gl.olpc2.i586.rpm - with "-mmmx -m3dnow" put in cflags. Not sure if it really made much difference. In fact it really didn't - GLX gears ("glxgears -fullscreen") still performed at ~25 fps (the first polling says 35 fps, then it drops to 25 fps and stays there). Ubuntu apparently gets 60+ fps on glxgears - which is a big "wow" in comparison. I'm not sure if that is DRI (no DRI in OLPC kernel), or a newer version of Mesa (the FC7-based official OLPC stuff is 6.5.2).
With Black Shades Elite I was able to get 22 fps on the main menu, which actually isn't too bad. And I still think I can create a playable version on the OLPC.
Any input would be appreciated.