https://bugs.winehq.org/show_bug.cgi?id=37188
Bug ID: 37188 Summary: [counterclockwise] unable to start Product: Wine Version: unspecified Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: ntdll Assignee: wine-bugs@winehq.org Reporter: orbisvicis@gmail.com
Created attachment 49432 --> https://bugs.winehq.org/attachment.cgi?id=49432 terminal output when running "wine ccw.exe"
Counterclockwise (http://www.16x16.org/games/ccw/), a free windows game, is unable to start.
version wine 1:1.7.25-0ubuntu1~ppa4 counterclockwise: 1.1
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #1 from Yclept Nemo orbisvicis@gmail.com --- Created attachment 49433 --> https://bugs.winehq.org/attachment.cgi?id=49433 backtrace from the wine debugger
https://bugs.winehq.org/show_bug.cgi?id=37188
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Version|unspecified |1.7.25 URL| |http://www.16x16.org/downlo | |ad/ccw/ccw_1_1.zip Keywords| |download Component|ntdll |-unknown CC| |focht@gmx.net Ever confirmed|0 |1 Summary|[counterclockwise] unable |Counterclockwise (CCW) 1.1 |to start |crashes on startup (invalid | |'iPixelType' value 0x18 | |passed to | |'ChoosePixelFormat' | |function)
--- Comment #2 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
It seems the game requests a stupid pixel format which causes failure to set up GL context later.
At one point it calls 'glGetString(GL_EXTENSIONS)' on that GL context which returns NULL by design since the context doesn't exist due to earlier failure.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay,+opengl wine ./ccw.exe >>log.txt 2>&1 ... 0023:Call gdi32.ChoosePixelFormat(001c0033,00566180) ret=004ec466 0023:Call opengl32.wglChoosePixelFormat(001c0033,00566180) ret=7ea618e2 0023:trace:wgl:wglChoosePixelFormat 0x1c0033 0x566180: size 40 version 1 flags 37 type 24 color 0 0,0,0,0 accum 0 depth 0 stencil 0 aux 0 ... <all mismatches> ... 0023:trace:wgl:glxdrv_wglDescribePixelFormat (0x1c0033,164,40,0x77f4dc) 0023:trace:wgl:get_pixel_format Returning fmt_id=0x19c for iPixelFormat=164 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - size / version : 40 / 1 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - dwFlags : PFD_DRAW_TO_WINDOW PFD_SUPPORT_OPENGL 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - iPixelType : PFD_TYPE_RGBA 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Color : 32 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Red : 8 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Green : 8 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Blue : 8 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Alpha : 8 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Accum : 64 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Depth : 24 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Stencil : 8 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - Aux : 4 0023:trace:wgl:dump_PIXELFORMATDESCRIPTOR - iLayerType : PFD_MAIN_PLANE 0023:trace:wgl:wglChoosePixelFormat pixel type mismatch for iPixelFormat=164 0023:trace:wgl:wglChoosePixelFormat returning 0 0023:Ret opengl32.wglChoosePixelFormat() retval=00000000 ret=7ea618e2 0023:Ret gdi32.ChoosePixelFormat() retval=00000000 ret=004ec466 0023:Call gdi32.SetPixelFormat(001c0033,00000000,00566180) ret=004ec484 0023:Call opengl32.wglSetPixelFormat(001c0033,00000000,00566180) ret=7ea61ad3 0023:Call gdi32.__wine_get_wgl_driver(001c0033,0000000b) ret=7dffd669 0023:Ret gdi32.__wine_get_wgl_driver() retval=7de3b020 ret=7dffd669 0023:trace:wgl:set_pixel_format (0x1c0033,0) 0023:err:wgl:set_pixel_format Invalid format 0 0023:Ret opengl32.wglSetPixelFormat() retval=00000000 ret=7ea61ad3 0023:Ret gdi32.SetPixelFormat() retval=00000000 ret=004ec484 0023:Call opengl32.wglCreateContext(001c0033) ret=004ec498 0023:Call gdi32.__wine_get_wgl_driver(001c0033,0000000b) ret=7dffd669 0023:Ret gdi32.__wine_get_wgl_driver() retval=7de3b020 ret=7dffd669 0023:Ret opengl32.wglCreateContext() retval=00000000 ret=004ec498 0023:Call opengl32.wglMakeCurrent(001c0033,00000000) ret=004ec4b3 0023:Ret opengl32.wglMakeCurrent() retval=00000001 ret=004ec4b3 ... 0023:Call opengl32.glGetString(00001f03) ret=004a6d2f 0023:Ret opengl32.glGetString() retval=00000000 ret=004a6d2f 0023:Call msvcrt.strlen(0056b014 "basic_string::_S_construct NULL not valid") ret=005365cb 0023:Ret msvcrt.strlen() retval=00000029 ret=005365cb ... 0023:Call KERNEL32.MultiByteToWideChar(00000000,00000000,7e7aa53a "Runtime error!",0000000e,0077ef20,00000400) ret=7e7764dc 0023:Ret KERNEL32.MultiByteToWideChar() retval=0000000e ret=7e7764dc 0023:Call KERNEL32.MultiByteToWideChar(00000000,00000000,7e7aa563 "abnormal program termination",0000001c,0077e720,00000400) ret=7e7764dc 0023:Ret KERNEL32.MultiByteToWideChar() retval=0000001c ret=7e7764dc ... 0023:Call user32.MessageBoxIndirectW(0077e6d4) ret=7e75a65a --- snip ---
Dumping the descriptor:
--- snip --- Wine-dbg>p *pfd {nSize=0x28, nVersion=0x1, dwFlags=0x25, iPixelType=24, cColorBits=0, cRedBits=0, cRedShift=0, cGreenBits=0, cGreenShift=0, cBlueBits=0, cBlueShift=0, cAlphaBits=0, cAlphaShift=0, cAccumBits=0, cAccumRedBits=0, cAccumGreenBits=0, cAccumBlueBits=0, cAccumAlphaBits=16, cDepthBits=0, cStencilBits=0, cAuxBuffers=0, iLayerType=0, bReserved=0, dwLayerMask=0, dwVisibleMask=0, dwDamageMask=0} --- snip ---
The descriptor iPixelType value 0x18 is _hard_ coded from PE '.data' section, there is no mistake here.
Maybe Windows has a different heuristics here, still finding/providing a match given that stupid 'iPixelType' value.
$ du -sh ccw_1_1.zip 7.1M ccw_1_1.zip
$ sha1sum ccw_1_1.zip cd9f753e2d4a98a491bbbc201530e2861bf377f8 ccw_1_1.zip
$ wine --version wine-1.7.25-21-gc87901d
Regards
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #3 from Bruno Jesus 00cpxxx@gmail.com --- Just confirming the game works in XP. I can run any tool requested to try to help.
https://bugs.winehq.org/show_bug.cgi?id=37188
super_man@post.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |super_man@post.com
--- Comment #4 from super_man@post.com --- wine 1.7.54 and 1.7.54-staging both fails with this.
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #5 from super_man@post.com --- still fails 1.8.rc3
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #6 from Anastasius Focht focht@gmx.net --- Hello super_man,
also applies to many other tickets: There is no need to "ping" tickets in such short intervals. Only if you suspect that a recent commit might have fixed this but turns out not you might post a status update . Wait at least half a year to revisit. There are still many hundreds of much older tickets that deserve a visit and likely turn out abandoned/invalid/fixed.
Regards
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #7 from super_man@post.com --- Still valid wine-1.9.12-121-g41d0187 and 1.9.12-staging. Patch from bug 14640 doesnt help here.
https://bugs.winehq.org/show_bug.cgi?id=37188
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com, | |dimesio@earthlink.net, | |winetest@luukku.com
--- Comment #8 from winetest@luukku.com --- I have good news.
I copy pasted a patch from bug 40267. Which should be the same as bug 14640. I didnt check.
This program fails to start wih wine 2.0rc3 and staging 2.0rc3.
But with the patch applied on top of wine it starts. So this bug report is a dupe.
https://bugs.winehq.org/show_bug.cgi?id=37188
--- Comment #9 from Yclept Nemo orbisvicis@gmail.com --- I don't know if the patch was applied upstream, but as of wine 3.17 this issue is no longer present - the game runs flawlessly.
https://bugs.winehq.org/show_bug.cgi?id=37188
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |DUPLICATE Status|NEW |RESOLVED Component|-unknown |opengl
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello Nemo,
--- quote --- I don't know if the patch was applied upstream, but as of wine 3.17 this issue is no longer present - the game runs flawlessly. --- quote ---
No patch was applied to Wine and no, the game still crashes for me in the same way as years ago. Tested with dual GPU setup: Intel and NVIDIA
--- snip --- $ glxinfo | grep -i opengl OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) Haswell Mobile OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.0.5 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 3.0 Mesa 18.0.5 OpenGL shading language version string: 1.30 OpenGL context flags: (none) OpenGL extensions: OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.0.5 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10 OpenGL ES profile extensions: --- snip ---
--- snip --- $ optirun glxinfo | grep -i opengl OpenGL vendor string: NVIDIA Corporation OpenGL renderer string: GeForce GTX 850M/PCIe/SSE2 OpenGL core profile version string: 4.6.0 NVIDIA 396.54 OpenGL core profile shading language version string: 4.60 NVIDIA OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL core profile extensions: OpenGL version string: 4.6.0 NVIDIA 396.54 OpenGL shading language version string: 4.60 NVIDIA OpenGL context flags: (none) OpenGL profile mask: (none) OpenGL extensions: --- snip ---
The patch from bug 14640 (https://bugs.winehq.org/show_bug.cgi?id=14640#c21) fixes the game for me, resolving as dupe of bug 14640
$ wine --version wine-3.18
Regards
*** This bug has been marked as a duplicate of bug 14640 ***
https://bugs.winehq.org/show_bug.cgi?id=37188
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing Duplicate.