ATI r500 Open Source 3d

I had a strange issue last night. After updating a few X11 packages from git, I rebooted and everything seemed to work fine. I then shutdown and went over to a buddies, booted up only to see X was locking up my session. I would get a blank screen, and then the system would become unresponsive. I tried re-emerging a few of the applications but the problem still existed.

I instead removed all the keywording for the r500 drivers and the X11 beta applications, and then added back in just the things needed for xorg-x11-7.3. I downgraded everything else, and then my X came back. I then re-added the unmasking and kewording for the r500 drivers, updated everything is now my enviroment comes up. Crazy .. except one small issue. My AIGLX isn't working. 3D seems to work, but I am getting strange errors.

First of glxinfo reports Direct Rendering: Yes. But when I run glxgears, I get an RGB error about double buffering. This seems to prevent any type of compositing manager from running. I tried running Frozen Bubbles, and it works fine. All my 2d acceleration is now working fine, just compositing/3d seems to be borked.

I guess this is the pain fun of working with live git packages :)

ATI Open Source Video Drivers

I finally left the fglrx closed sourced drivers and loaded up the ati drivers from the git repo. These code in git includes the ability for 3d acceleration for the r500 chips. I have an x1300 in my laptop, which I believe is a r515. So naturally I my curiosity won and I had to give them a go.

I found Phoronix post detailing how to install ati on gentoo, Ended up only unmasking the git ebuilds for the packages listed in the 2nd or 3rd post. I didn't install the x11-drm packages b/c I am now running 2.6.26 kernel which includes these. Install was quick, and after the reboot I found my first problem, Compiz wouldn't run .. shit. I disabled compiz from running at startup and just used plain metacity, and everything seems to work, 2d works just find and was pretty snappy. So this was a good port. I checked dmesg, and found drm was loaded just fine. I then checked glxinfo and found that I didn't have direct rendering.

After playing around some more I found a out something very weird. 3D rendering did work, but only once, after it ran the first time, it will fail to work again. I can run glxinfo once and see Directing Rendering: Yes, or I can run glxgears just once. But after that I can't an error about not being about to find rgb glx visual's. Exact errors from glxinfo and glxgears are as follow

% glxinfo
name of display: :0.0
Error: couldn't find RGB GLX visual

visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x23 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x24 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x25 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x26 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x27 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x28 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x29 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2a 24 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2b 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2c 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2d 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2e 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x2f 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x30 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x31 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x32 24 dc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None
0x64 32 tc 1 0 0 c . . 0 0 0 0 0 0 0 0 0 0 0 0 0 None

% glxgears
Error: couldn't get an RGB, Double-buffered visual

So it seems I got a bit more work to do, I might be needing a few more packages that are considered "stable" in gentoo yet