mupuf.org // we are octopimupuf.org

R6xx/r7xx: Mesa Improvements and KMS!

I know only a few days have passed since my previous update, but today, I’m gonna talk about this week mesa’s improvement and the Kernel Mode Setting with the r7xx radeon family.

Mesa’s improvement

Concerning mesa’s improvements, we can notice a real difference in 2D performances when using GTKPerf.

Without composite, GTKPerf used to perform in 7.79 seconds. Now, it performs in 6.76 second (13% speed-up).

Using composite, GTKPerf took 17.48 seconds to perform in my previous blog post. It now performs in 12.67 seconds (27.5% speed-up).

Composite 2D-performances are getting good-enough to be usable but the graphic corruption on text-entries still remains. Only little advancements have been made about it.

Unluckily, I didn’t notice any 3D-performances improvement.

KMS

How to

I was about to explain the solutions by myself when I ran across this tutorial on the freedesktop wiki which is really nice :)

Here is the link: KMS-support for r6xx/r7xx cards in Linux 2.6.31

Then, you’ll need to recompile a custom libdrm and set the switch –enable-radeon-experimental-api when executing autogen.sh. After, you’ll need to recompile mesa and xf86-video-ati.

Alternatively, if you are an 64bits ArchLinux user, you may want to try out my packages instead of recompiling libdrm, mesa and the ddx driver. To do so, install the mupuf64 repository and do this : - sudo pacman -Rd ati-dri libgl mesa libdrm xf86-video-ati - sudo pacman -Sy ati-dri-git libgl-git mesa-git libdrm-git xf86-video-ati-git

When you have the latest git versions of everything properly installed, you still need to:

  • Reboot on the new kernel.
  • Shutdown the graphic interface
  • # rmmod radeon
  • # modprobe radeon modeset=1

If you’re lucky enough, your screen will switch to its native resolution and you’ll be ready to start the graphic interface again. Then, look the Xorg’s logs to check if DRI2 is enabled. If it is, you’re done and you can try the new open source radeon graphic stack :)

The test

First thing I tried was testing the 2D performances using GTKPerf, here are the results :

  • Without composite: 32 seconds
  • Using Composite: 39 seconds

Next thing I tried was GLXGears. Performances were left unaffected.

Then, I tried to watch an HD-video on youtube but it lead to a complete freeze of the system before even showing a single frame of the video.

This is the moment I stopped my testings.

A good point is that the problem with text corruption I experience using DRI1 (and so, without KMS) seems to be solved when using DRI2. Let’s give it some time to mature a bit and we should get a good experience for everyone :)

Conclusion

I’ll have to face it, this isn’t today that I’m gonna get the KMS for my radeon. 2D performances are just too awful.

I’ll give it another try this week-end or next week using the freedesktop how-to I told you to follow.

Packages ?

I did my testing using the git version of the future Linux 2.6.32, I’ll create a package for ArchLinux users using the freedesktop’s how-to next week-end (2D and 3D is too slow to be actually used at the moment so I’ll wait for it to improve before providing everyone the packages).

Comments