I’ve spent the better part of a week trying to fix a show stopper bug in my rendering code that manifested itself after my forced machine change. I published a minimal test example on my github repository demoing the bug and fired off a desperate plea to the PyOpenGL list for assistance. What follows were a few days of desperate and ultimately futile attempts to tease out what was actually causing the bug to occur. What I did learn was that only machines that were running Mesa had any problem (this was with the r600 driver, the Intel driver and the software rasterizer). An (eventual) upgrade to the bleeding edge xorg-edgers PPA made the problem go away. I was a bit wary of doing this because I don’t really want my production machines to be running bleeding edge xorg, but I can’t see another simple way round the problem. I conclude there was a now-fixed Mesa regression between Ubuntu 10.10 and 11.04.
Anyway, I ultimately have a solution to a frustrating problem.
A couple of nice things came out of the process. I’ve tested my code on various different machines with different graphics cards. I’m pleased to say that so far its working well. In addition, I was pointed at (by my housemate, probably an attempt to make me go away when I wouldn’t shut up about my problem – cheers Peter!) the rather lovely apitracer. It wasn’t massively useful to me in the end, but it is delightfully useful code.
In other news, I’m still loving my new (old) Lenovo x61. I’m hoping the damaged Inspiron 9400 can be repaired with the purchase of a differently damaged 9400 on ebay which will hopefully arrive in a few days.