https://bugs.winehq.org/show_bug.cgi?id=48898
--- Comment #12 from Anastasius Focht focht@gmx.net --- Hello Chris,
--- quote --- I cannot verify this is fixed with my distribution's build of 5.7, or with my own build of 5.7. Would this require completely obliterating my prefixes to verify? --- quote ---
well, it seems the demos suffer from more issues then ;-)
--- snip --- $ WINEDEBUG=+seh,+relay,+wgl,+opengl,+win,+msg,+winmm wine ./End\ of\ time\ 720p.exe >>log.txt 2>&1 ... 002c:Call winex11.drv.CreateDesktopWindow(00010020) ret=7e84b47d 002c:Ret winex11.drv.CreateDesktopWindow() retval=00000001 ret=7e84b47d ... 002c:Call winex11.drv.GetDC(00030039,00010020,00010020,1518fdd0,1518fde0,00000013) ret=7e88682e 002c:Ret winex11.drv.GetDC() retval=00000001 ret=7e88682e 002c:trace:win:GetDCEx (0x10020,(nil),0x13): returning 0x30039 (updated) 002c:Ret user32.GetDC() retval=00030039 ret=004200fb ... 002c:trace:wgl:glxdrv_wglDescribePixelFormat (0x30039,72,40,0x1518fe18) 002c:trace:wgl:get_pixel_format Returning fmt_id=0x11a for iPixelFormat=72 002c:trace:wgl:dump_PIXELFORMATDESCRIPTOR size 40 version 1 flags 37 type 0 color 32 8,8,8,8 accum 0 depth 24 stencil 8 aux 0 PFD_DOUBLEBUFFER PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 002c:trace:wgl:wglChoosePixelFormat returning 4 002c:Ret opengl32.wglChoosePixelFormat() retval=00000004 ret=7e5a3e18 002c:Ret gdi32.ChoosePixelFormat() retval=00000004 ret=00420111 002c:Call gdi32.SetPixelFormat(00030039,00000004,00000000) ret=00420119 002c:Call opengl32.wglSetPixelFormat(00030039,00000004,00000000) ret=7e5a3fbd 002c:Call gdi32.__wine_get_wgl_driver(00030039,00000015) ret=7a8bb654 002c:Call ntdll.RtlRunOnceExecuteOnce(7e4f4a64,7e4929c0,00000000,00000000) ret=7b043505 002c:Ret ntdll.RtlRunOnceExecuteOnce() retval=00000000 ret=7b043505 002c:Ret gdi32.__wine_get_wgl_driver() retval=7e4f1040 ret=7a8bb654 002c:trace:wgl:set_pixel_format (0x30039,4) 002c:warn:wgl:set_pixel_format not a valid window DC 0x30039/0x10020 002c:Ret opengl32.wglSetPixelFormat() retval=00000000 ret=7e5a3fbd 002c:Ret gdi32.SetPixelFormat() retval=00000000 ret=00420119 002c:Call opengl32.wglCreateContext(00030039) ret=0042011f 002c:Call gdi32.__wine_get_wgl_driver(00030039,00000015) ret=7a8ba743 ... 002c:Ret gdi32.__wine_get_wgl_driver() retval=7e4f1040 ret=7a8ba743 002c:Ret opengl32.wglCreateContext() retval=00000000 ret=0042011f 002c:Call opengl32.wglMakeCurrent(00030039,00000000) ret=00420127 002c:Ret opengl32.wglMakeCurrent() retval=00000001 ret=00420127 002c:Call user32.ShowCursor(00000000) ret=0042012d 002c:Call winex11.drv.SetCursor(00000000) ret=7e835d31 002c:Ret winex11.drv.SetCursor() retval=00000000 ret=7e835d31 002c:Ret user32.ShowCursor() retval=ffffffff ret=0042012d 002c:Call opengl32.glGenTextures(00000001,00422410) ret=004202d9 002c:trace:opengl:glGenTextures (1, 0x422410) 002c:Ret opengl32.glGenTextures() retval=0000002e ret=004202d9 002c:Call winmm.waveOutOpen(03ab08e8,ffffffff,00421330,00000000,00000000,00000000) ret=00420155 002c:trace:winmm:waveOutOpen (03AB08E8, 4294967295, 00421330, 0, 0, 00000000) 002c:trace:winmm:WINMM_StartDevicesThread Starting up devices thread ... 002c:Ret winmm.waveOutOpen() retval=00000000 ret=00420155 002c:Call winmm.waveOutPrepareHeader(0000ff00,00421230,00000020) ret=00420161 ... 002c:Ret winmm.waveOutPrepareHeader() retval=00000000 ret=00420161 ... 002c:Call winmm.waveOutWrite(0000ff00,00421230,00000020) ret=0042016d ... 002c:Ret winmm.waveOutWrite() retval=00000000 ret=0042016d 002c:Call winmm.waveOutGetPosition(0000ff00,00421200,0000000c) ret=00420186 002c:trace:winmm:waveOutGetPosition (0000FF00, 00421200, 12) ... 002c:Ret winmm.waveOutGetPosition() retval=00000000 ret=00420186 002c:Call opengl32.wglGetProcAddress(00421314 "glCreateShaderProgramv") ret=00420814 002c:warn:wgl:wglGetProcAddress No active WGL context found 002c:Ret opengl32.wglGetProcAddress() retval=00000000 ret=00420814 ... 002c:trace:seh:raise_exception code=c0000005 flags=0 addr=(nil) ip=00000000 tid=002c 002c:trace:seh:raise_exception info[0]=00000000 002c:trace:seh:raise_exception info[1]=00000000 002c:trace:seh:raise_exception eax=00000000 ebx=00400148 ecx=00421250 edx=00000000 esi=7a847bbc edi=00030039 002c:trace:seh:raise_exception ebp=1518fefc esp=1518fedc cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010206 002c:trace:seh:call_stack_handlers calling handler at 0x7b46adb0 code=c0000005 flags=0 ... wine: Unhandled page fault on read access to 00000000 at address 00000000 (thread 002c), starting debugger... --- snip ---
The crash is not related to opengl32 exports/ordering this bug is about.
To me it looks like bug 18490 ("Multiple games fail to set pixel format on D3D device context created on desktop window (Empire: Total War, Napoleon: Total War, Utopia City)") but for GL device context on the desktop window.
According to online information it's not allowed to do any rendering using this context but enough to call functions like glGetString() etc.
Maybe some of the Wine graphics folks could weigh in with an opinion if this limitation is already known / tracked in a bug?
Regards