Monday, October 18, 2010

Linux, KMS, 3D, ATI, Oh My!

Yesterday I realized that accelerated 3D rendering no longer worked on my ancient ATI R200 based card. After some experimentation, I discovered that ATI accelerated 3D graphics now requires Kernel Mode Setting (KMS) to be enabled. This was a huge problem because Xv, the X accelerated video rendering system, has diagonal "lightning strike" tearing when used with KMS. I really wanted 3D back, though, so what to do?

Today, I was bored with work, so I decided to play with the ATI R600 based card which I bought way back in the spring. Initially it was very disappointing. The X server crashed almost immediately which was a regression from earlier tests: not a good sign!

Examining the system logs indicated that the problem appeared to be in the kernel, not the X server. I've been running a 2.6.34 kernel from Debian experimental and it so happens that a 2.6.36-rc6 kernel was available. Installing the newer version fixed the X server crash! Yay!

Accelerated 3D rendering now works on the R600 card but what about the tearing in Xv? Frankly, it was a bigger concern than 3D. If Xv didn't work, I would have to go back to the R200 card, which still supported an Xv mode that worked without KMS, and all this effort would have been for naught. So it was a great relief to discover that the Xv tearing problem has been fixed on the R600 card. Double Yay!

It's not often that one accomplishes anything while avoiding work, so I'm quite pleased with today's efforts. It's been a good day!

No comments:

Post a Comment