I'm running 64 bit Opensuse on a laptop with an R410 graphics card. I have Gallium running nicely in 64 bit mode

OpenGL vendor string: X.Org R300 Project
OpenGL renderer string: Gallium 0.4 on RV410
OpenGL version string: 2.1 Mesa 7.9-devel

Now I want to run a 32 bit programme (wine) in 3d mode. OpenSuse has a lib64 directory in which I have a 64 bit libGL and its friends. I also have a 32bit libGL and friends in a lib directory. So far so good I think. Wine uses the 32bit libGL in lib.

The puzzle is the dri libraries. In lib64 there is a dri directory that I can point to the 64 bit radeong and r300g drivers. But there isn't a dri directory in the lib (32 bit) directory. So I am assuming that the 32 bit libGL uses the 64 bit radeong and r300g drivers (somehow). That would be fine if only it worked. When I call wine it calls GLX and is told that direct rendering is not available. It absolutely is available in 64 bit mode. Wine then also gets confused about pixel format and crashes.

I would like to be sure that my X/Mesa/dri set up is correct and I worry about that set of 64 bit r300g/radeong drivers. Does a 32 bit programme need 32bit drivers or is a conversion done somewhere? Is the data flow from the client to libGL and then to the dri drivers - it does not seem to be but if not what is it.

Any clues or thoughts gratefully received.