Try #2 IDirectDraw_CreateSurface Failure on WINE test in dsurface.c code

chris ahrendt celticht32 at
Tue Oct 14 18:41:33 CDT 2008

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  
dpy = XOpenDisplay()
visual = glXChooseVisual(dpy)
dpy2 = XOpenDisplay()
ctx = glXCreateContext(dpy2, visual) <-- fglrx reverts to indirect  

Changing the code to use the same display connection for glXChooseVisual  

and glXCreateContext solves this problem.


More information about the wine-devel mailing list