[Wine] Re: Helpful Hints for OS X Users (Idiots Guide?)

rwoodsmall wineforum-user at winehq.org
Tue Feb 24 22:05:04 CST 2009


Anyone had any luck with the new 2.4.0 beta Xquartz code?  I had a semi-functional Wine 1.1.15+OpenGL with a slightly hacked dlls/winex11.drv/opengl.c file - it wasn't enough to get DirectX working but gltest.exe (http://freewebs.com/mannymax/cpp/GLtest.html) and wglgears.exe (http://www.cs.nmsu.edu/~jeffery/win32/) were working fine.

The new 2.4.0 beta software is supposed to have more up-to-date GLX code, but even my admittedly small changes no longer work.  Using 1.1.15 compiled from source, I'm getting X errors on startup.  OpenGL fails to initialize somewhere in the opengl32.dll/gdi32.dll/winex11.drv stack.  With WINEDEBUG set to the appropriate OpenGL options, the last thing I see is "trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'" - a snippet of WINEDEBUG=+all is below:


Code:

0009:trace:module:LdrGetDllHandle L"winex11.drv" -> 0x65560000 (load path L"C:\\Program Files\\gltest;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows")
0009:Ret  KERNEL32.GetModuleHandleA() retval=65560000 ret=64779a16
0009:Call KERNEL32.GetModuleHandleA(6478f7a0 "gdi32.dll") ret=64779a2a
0009:trace:module:LdrGetDllHandle L"gdi32.dll" -> 0x64950000 (load path L"C:\\Program Files\\gltest;.;C:\\windows\\system32;C:\\windows\\system;C:\\windows;C:\\windows\\system32;C:\\windows")
0009:Ret  KERNEL32.GetModuleHandleA() retval=64950000 ret=64779a2a
0009:Call KERNEL32.GetProcAddress(65560000,6478f7e8 "wine_tsx11_lock") ret=64779aac
0009:Ret  KERNEL32.GetProcAddress() retval=655c9b1b ret=64779aac
0009:Call KERNEL32.GetProcAddress(65560000,6478f7f8 "wine_tsx11_unlock") ret=64779ace
0009:Ret  KERNEL32.GetProcAddress() retval=655c9b4e ret=64779ace
0009:Call KERNEL32.GetProcAddress(64950000,6478f80a "wglGetProcAddress") ret=64779af0
0009:Ret  KERNEL32.GetProcAddress() retval=64954bf0 ret=64779af0
0009:Call gdi32.wglGetProcAddress(6478f81c "wglGetIntegerv") ret=64779b10
0009:trace:wgl:wglGetProcAddress func: 'wglGetIntegerv'
0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000010): returning 0x141c28
0009:trace:heap:RtlAllocateHeap (0x110000,00000002,00000158): returning 0x141c40
0009:trace:gdi:GetStockObject returning 0x60
...
0009:err:x11drv:error_handler X protocol error: serial=201, request_code=0 - breaking into debugger
0009:trace:seh:raise_exception code=80000003 flags=0 addr=0x7b82a4af ip=0x7b82a4b0 tid=0009
0009:trace:seh:raise_exception  eax=655675e1 ebx=655c9845 ecx=0032f520 edx=00000046 esi=618fd028 edi=0032f5c0
0009:trace:seh:raise_exception  ebp=0032f508 esp=0032f500 cs=0017 ds=001f es=001f fs=1007 gs=0037 flags=00000206
0009:trace:seh:call_stack_handlers calling handler at 0x7bc3ded8 code=80000003 flags=0
0009:trace:seh:__regs_RtlUnwind code=80000003 flags=2
0009:trace:seh:__regs_RtlUnwind calling handler at 0x7bc2d210 code=80000003 flags=2
0009:trace:seh:__regs_RtlUnwind handler at 0x7bc2d210 returned 1
0009:exception in PE entry point (proc=0x64779dc8,module=0x64710000,reason=PROCESS_ATTACH,res=0x1)
0009:Ret  PE DLL (proc=0x64779dc8,module=0x64710000 L"opengl32.dll",reason=PROCESS_ATTACH,res=0x1) retval=1
0009:warn:module:process_attach Initialization of L"opengl32.dll" failed
0009:trace:module:process_attach (L"opengl32.dll",0x1) - END
0009:trace:module:process_attach (L"GLTest.exe",0x1) - END
0009:err:module:attach_process_dlls "opengl32.dll" failed to initialize, aborting
0009:err:module:LdrInitializeThunk Main exe initialization for L"C:\\Program Files\\gltest\\GLTest.exe" failed, status 80000003
0009: terminate_process( handle=ffffffff, exit_code=-2147483645 )
0009: terminate_process() = 0 { self=1 }
0009: *killed* exit_code=-2147483645
0008: *process killed*
0018: *wakeup* signaled=0
0018:trace:heap:RtlAllocateHeap (0x110000,00000002,00000100): returning 0x1456b8
0018: get_message( flags=04ff0001, get_win=00000000, get_first=00000000, get_last=ffffffff, hw_id=00000000, wake_mask=00000040, changed_mask=000004ff )
0018: get_message() = 0 { win=00010020, msg=00000010, wparam=00000000, lparam=00000000, type=6, time=00001f31, active_hooks=80000000, total=0, data={} }




I'm still looking through code, trying to figure out where it's broken - it looks like nothing ever makes it out of gdi32.dll to the actual X11 driver.  I'm not sure if this is a failure in Apple's new GLX implementation or somewhere else, but if anyone has looked at this or figured out the issue, any help would be appreciated.  Thanks!

 -ryan







More information about the wine-users mailing list