Praveen's Blog

An Eternal Quest for Incremental Improvement

Fix one; break two!

I am using Lenovo Thinkpad T60 that has ATI Mobility Radeon X1300 on it. I run Debian GNU/Linux sid on my laptop. Even though I am not extensively using a lot of 3D applications on my laptop, I am forced to use AMD's proprietary fglrx driver so that I can have my dual screen setup running with AMD's big desktop. I have used NVIDIA's proprietary driver on Linux three years ago. It was much better even three years back compared to the crippled fglrx driver that AMD distributes currently.

I am so much annoyed with the driver releases that AMD makes. I was so unhappy that fglrx driver didn't have AIGLX support. This kept me away from Compiz that I was running on my old laptop in spite of the fact that I just had a mediocre Intel graphics adapter. Finally AMD added the much awaited AIGLX support in fglrx 8.42. However, I was not able to run Compiz using that driver on my box as there was a bug that made it crippled with XOrg 1.4. That is not all of it. Scrolling in most of the applications had become very slow. I can't do anything but to wait for the next driver release where things would be fixed.

Then came the fglrx 8.43 release. I didn't see a significant stuff in the driver apart from their change of version number. Now the driver is known as "ATI Catalyst" and the version number uses format. I got ATI Catalyst 7.11. They didn't even care to fix the bug that crippled the driver with XOrg 1.4. The scrolling speed issue is not fixed as well. The first application to communicate with the driver would hang eternally till you kill it. Wait, that is not all! It also brings a shiny memory leak issue in the OpenGL applications. What now? Wait for the next ATI Catalyst.

Here comes ATI Catalyst 7.12. They have fixed OpenGL memory leak issue. But the XOrg 1.4, scrolling speed, first application to communicate to the driver still stays. I got an added bonus. This driver breaks the support for wide screen resolutions for certain displays. Well, I was the unfortunate. My Thinkpad can't run 1400x1050 anymore with this driver. It fell back automatically to 1024x768. It looked horrible! I had no option than to switch back to 7.11 and wait for 8.1, where they will 'Fix one; break two' again.

Here are the few thoughts that came to my mind after this whole experience.

  • I would never buy a ATI graphics card given the state of their Linux driver. I am planning to go for NVIDIA GeForce 8800 GT for the gaming PC that I would get assembled shortly. Can't AMD realize that they are losing at least a bunch of customers because of their awful Linux driver?
  • It is clear that AMD's driver release follows Iterative approach with an iteration cycle close to 4/5 weeks. If AMD can't either add significant stuff to the driver or test the driver thoroughly, why don't they revisit the iteration cycle? It makes no sense to me to release a quick degrading versions. Each incremental release should evolve consistently.
  • How many developers are working on the driver as of now? I guess it is one or maybe two. Does AMD find it difficult to hire developers for their Linux driver? I would expect that AMD should have atleast 4 developers dedicated to their driver development.