Free of the shackles of binary drivers

20 Jun 2006 • 2 min read

So spyderous has been spouting the virtues of the new r200 and r300 stuff in xorg-7.1, so I finally decided to give it a whirl. Thanks to the new modular structure of X, the upgrade went very fast. Everthing was very peachy up until the starting any OpenGL application as it gave me a ton of errors in dmesg like so

[drm:r300_emit_3d_load_vbpntr] *ERROR* Offset failed range check (k=0 i=2) while processing 3D_LOAD_VBPNTR packet.
[drm:r300_emit_packet3] *ERROR* r300_emit_raw_packet3 failed
[drm:r300_do_cp_cmdbuf] *ERROR* r300_emit_packet3 failed

Which is not good.

Luckily, the culprit turned out to be mesa and this issue is fixed upstream in cvs - the error is apparently exclusive to PCIE r300s cards (which my X600 is) 😃 I'll see if I can cut a patch against 6.5, but I doubt I have the skills or the time 😦

So now I have working 3D and no 3rd party binary crap (ok, ATI's fglrx driver isn't crap, but it sure is bloated and has a few issues - see below) 😄. Well, I do, but that's just firmware for my ipw2200 and prism54 cards.

Although the 3D works it's not exactly error free - there are artifacts with some KDE screen savers and my favourite game Eternal Lands doesn't work with a few options - however it's very playable.

The big win for me is that it works with vesa-tng, although sadly not radeonfb. Also, I no longer need to force KDM to restart X on logout and while 3D is slower and obviously spotty 2D is faster and smooter. Which is important for me as I mainly code on my laptop and play games on my AMD64.

I may even try ut2004-demo and Quake4 on my lappy just to see how they fair :jawdrop: