Saturday, June 04, 2005

Performance Woes

I was happily using my laptop all along, and then, all of a sudden, It seemed as if I had a hardware downgrade.

The first thing I noticed was problems with screen refresh. My primary laptop app is firefox, and it seemed to be give me a hard time. The display wouldn't refresh properly, and just a couple of minimize maximise events would result in X server becoming unresponsive for quite a few seconds.

I had just upgraded to the high performance jk series kernel 2.6.11, and with such a poor performance I suspected the kernel itself. Reverting to 2.6.7 didn't helped. The X server didn't had any memory issues, top didn't showed any anamolies, and vmstat statistics were just fine. Swap was unused, and there was enough free memory. I even suspected firefox , and later X, so upgraded both of them, to no avail. Considered upgrading to xorg, but didn't had the time or the courage to go through all that.

I had almost decided to ditch my half mepis - half debian distro, and load a hoary hedgehog quickly.Ubuntu is what I use at work on the desktop most of the time, but that meant wasting a lot of customization effort , and countless hours installing arcane softwares only I need on my laptop.

Feeling somewhat bored today, and with nothing worthwhile on my hands , I thought of the joystick issue I had faced sometime back with tuxkart a long time back. I thought I would fix the game so that the joystick can be used with an otherwise nice game, and fired tuxkart.

And finally tuxkart proved to be my saviour, as it cribbed about DRI being disabled. The performance was terrible too, so I was damn sure DRI works with my Intel Extreme Graphics card (Intel 855 .../ I810 driver).
A grep on XFree86 logs showed direct rendering was indeed disabled. A couple of google searches and several changes in XFree86 config file later, I ended up with DRI still being disabled. The only thing that improved was the X resolution, I switched that to 1280x768 on my WXGA screen.

Now XFree86 logs are really big and I finally chanced upon a line saying DRI disabled because 4kB of additional memory required was not available. Googling this didn't helped much but then, I found the root cause , still higher up in the logs, a complaint about /dev/agpgart being unavailable. I quickly did a modload agpgart, Ctrl Alt Backspace, and there it was, my X server with DRI enabled, Tuxkart running happily, and glxinfo showing that DRI is indeed enabled.

So I quickly edited /etc/modules, added agpgart at the end, and proceeded to blog what I might require again.

No comments: