Michael Karcher wrote:
I put the list back on CC because someone there might know about the drmMap problem.
Am Dienstag, den 14.10.2008, 15:30 -0700 schrieb chris ahrendt:
PS: From the attachments of Chris' mail, one can get the following information: The environment we are currently talking about is Wine on Linux, an ATI FireGL 5200 graphics board driven by the closed source driver, and somehow broken DRM.
Broken DRM?
Yes. This shouldn't appear in your log if DRM is working: | libGL error: drmMap of framebuffer failed (Cannot allocate memory) | libGL error: reverting to (slow) indirect rendering
This might be caused by wine blocking the address space used for kernel addresses in real windows, or it might be a misconfiguration or installation problem of the ATI driver. Cross-checking with glxgears is recommended.
But even if non-functional DRM causes CreateSurface to fail you are right that the testcase should handle that.
Regards, Michael Karcher
This used to be fixed like I said by doing the ulimit -s unlimited trick but now since drop 15 even that has stopped working. I did a little checking and there seems to be another way to get this error where the focus is lost for the X session.
I just added this other fix as well :
|Section "DRI" Group "video" Mode 0666 EndSection| | | Ati has a bug reported on this :
737-35215: Creating two successive connections my result in Direct GL context to fail
here is a code fix that is supposed to work:
The following (psuedocode) sequence, forces fglrx to revert to indirect rendering: dpy = XOpenDisplay() visual = glXChooseVisual(dpy) XCloseDisplay(dpy) ... dpy2 = XOpenDisplay() ctx = glXCreateContext(dpy2, visual) <-- fglrx reverts to indirect rendering ...
Changing the code to use the same display connection for glXChooseVisual
Chris and glXCreateContext solves this problem.