http://bugs.winehq.org/show_bug.cgi?id=32515
Bug #: 32515 Summary: Warhammer 40,000: Space Marine (Steam) fails to start Product: Wine Version: 1.5.20 Platform: x86 OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: gyebro69@gmail.com Classification: Unclassified
Created attachment 42894 --> http://bugs.winehq.org/attachment.cgi?id=42894 plain terminal output
On startup the game shows a black screen for a few seconds and audio from the intro video can be heard for 0.5-1 second, then the game's own bug reporting tool (Bugsplat) is popping up: "A problem has been encountered and the program needs to close". No backtrace from Wine is generated.
A demo version is available on Steam, but I couldn't test it as I have the full version. http://store.steampowered.com/app/55150/
Steam installs MSVC++ 2005 runtime libraries and various DirectX components the first time you start the game. Disabling gameoverlayrenderer in winecfg doesn't help. I tested this bug with Wine 1.2.3, 1.4.1, 1.5.20.
Fedora 17 x86 Nvidia 250 / driver 304.64 X.Org X Server 1.12.4 Alsa 1.0.26
http://bugs.winehq.org/show_bug.cgi?id=32515
Adam Bolte boltronics@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |boltronics@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32515
TestSubject sirbubbles01@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sirbubbles01@gmail.com
--- Comment #1 from TestSubject sirbubbles01@gmail.com 2013-03-30 12:02:02 CDT --- Hello. Trying to bring some sorely needed attention to this bug here. If it helps, I'm running wine 1.5.27 and have had no success launching this game under any version of wine no matter what I do. The only thing that might help is the terminal output that mentions the following. "err:ntdll:RtlpWaitForCriticalSection" and goes on about an unhandled exception as well, while showing the thq bugsplat screen.
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #2 from Adam Bolte boltronics@gmail.com 2013-12-03 03:51:51 CST --- Still an issue in 1.7.7.
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #3 from Adam Bolte boltronics@gmail.com 2013-12-03 05:56:30 CST --- Created attachment 46712 --> http://bugs.winehq.org/attachment.cgi?id=46712 plain_terminal_output-wine_1.7.7
Console output on execution.
http://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |focht@gmx.net
--- Comment #4 from Anastasius Focht focht@gmx.net 2013-12-04 05:18:27 CST --- Hello folks,
there is nothing obvious in terminal log.
Can you generate a full trace log as follows:
1) set WINEPREFIX to your steam prefix (if not default) 2) ensure no processes are running in steam prefix -> 'wineserver -k' 3) start the app using steam launcher (it's faster than the other way around by relying on the app to bootstrap the service)
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./steam.exe -applaunch 55150 2>&1 >>log.txt --- snip ---
I hope the appid is correct: http://steamdb.info/app/55150/ If not, replace it with correct one from Warhammer 40k shortcut/link.
Optionally configure the prefix to virtual desktop mode if the crash messes up your display settings.
Compress the log (bzip2) and attach to this bug. If too large, upload it somewhere and post the link.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #5 from GyB gyebro69@gmail.com 2013-12-04 08:46:06 CST --- Created attachment 46731 --> http://bugs.winehq.org/attachment.cgi?id=46731 partial +relay log (uncompressed 78 MB)
The full log is almost 500 MB uncompressed, here I'm attaching the last 1 million lines of the log. The complete log is available: https://drive.google.com/file/d/0B-tTbLKBl-tOU1Ryd0xJbWVab0U/edit?usp=sharin...
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #6 from Anastasius Focht focht@gmx.net 2013-12-04 09:06:08 CST --- Hello GyB,
can you redo the log because the example I gave was incorrect (redirect parameters reversed). That makes it very hard to read at important places.
Sorry for the inconvenience.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./steam.exe -applaunch 55150 >>log.txt 2>&1 --- snip ---
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #7 from GyB gyebro69@gmail.com 2013-12-04 09:09:03 CST --- (In reply to comment #6)
Hello GyB,
can you redo the log because the example I gave was incorrect (redirect parameters reversed). That makes it very hard to read at important places.
Sorry for the inconvenience.
--- snip --- $ WINEDEBUG=+tid,+seh,+relay wine ./steam.exe -applaunch 55150 >>log.txt 2>&1 --- snip ---
Regards
Hi Anastasius,
I created the log as such: WINEDEBUG=+relay,+seh,+tid ~/sources/wine-git/wine Steam.exe -applaunch 55150
SpaceMarine_relay.log 2>&1
Is that OK?
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #8 from Anastasius Focht focht@gmx.net 2013-12-04 09:31:40 CST --- Hello GyB,
you have to use 'append' mode because the game is multithreaded which causes interleaving trace output, effectively corrupting message lines.
">SpaceMarine_relay.log" should become ">>SpaceMarine_relay.log"
In general, I advise people to use 'append' mode in first place when generating logs. This avoids all the problems with corrupted messages due to multithreading/parallel process startup.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
GyB gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #46731|0 |1 is obsolete| |
--- Comment #9 from GyB gyebro69@gmail.com 2013-12-04 10:00:19 CST --- Created attachment 46732 --> http://bugs.winehq.org/attachment.cgi?id=46732 partial +relay log (uncompressed 65 MB)
Thanks for the clarification Anastasius, here's a new +relay log when 'append' mode is enabled. The attached log contains the last 1 million lines. The complete log is ~550 MB and is accessible here: https://drive.google.com/file/d/0B-tTbLKBl-tOM05jSFF1Q3BnYVk/edit?usp=sharin...
Does it help reduce the size of a +relay log somewhat if I launch for example an instance of notepad in a different terminal (before launching the actual game/application)?
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #10 from Anastasius Focht focht@gmx.net 2013-12-04 10:43:48 CST --- Hello Gyb,
--- quote --- Does it help reduce the size of a +relay log somewhat if I launch for example an instance of notepad in a different terminal (before launching the actual game/application)? --- quote ---
depends on the case.
In most cases it makes sense to bootstrap the prefix ('warmup') using a Wine builtin from separate terminal. This avoids capturing unwanted log messages from builtins (services), prefix updates (menubuilder) and the like.
There are other examples where this won't work hence a full bootstrap must be done with logging from start. For example if Steam is put in 'autorun' mode, e.g. started during prefix boot you will not see debug output because the (already started) launcher parent process which spawns app processes upon request (client) doesn't inherit environment variables such as WINEDEBUG.
Anyway, the log looks good. There are various exceptions (msvc thread name, softbp, single step traps) which are on purpose because they are part of their DRM protection scheme.
There is one interesting thread tid=0x60 which causes 'bugsplat' trigger (seems to be the equivalent of 'breakpad').
$ cat SpaceMarine_relay.log | grep 0060: > 0060.txt
--- snip --- ... 0060:Call advapi32.RegOpenKeyExW(80000002,01541dc0 L"Software\Valve\Steam",00000000,00020019,060de6b4) ret=00e6b736 0060:Ret advapi32.RegOpenKeyExW() retval=00000000 ret=00e6b736 0060:Call advapi32.RegQueryValueExW(000007f0,01541da8 L"InstallPath",00000000,060de6b0,060de6c0,060de6bc) ret=00e6b765 0060:Ret advapi32.RegQueryValueExW() retval=000000ea ret=00e6b765 0060:Call ntdll.RtlAllocateHeap(00110000,00000008,0000023a) ret=00e6b78c 0060:Ret ntdll.RtlAllocateHeap() retval=0668f228 ret=00e6b78c 0060:Call advapi32.RegQueryValueExW(000007f0,01541da8 L"InstallPath",00000000,060de6b0,0668f228,060de6bc) ret=00e6b7ac 0060:Ret advapi32.RegQueryValueExW() retval=00000000 ret=00e6b7ac 0060:Call advapi32.RegCloseKey(000007f0) ret=00e6b7ea 0060:Ret advapi32.RegCloseKey() retval=00000000 ret=00e6b7ea 0060:Call KERNEL32.GetModuleHandleA(0147c064 "kernel32.dll") ret=00e48eee 0060:Ret KERNEL32.GetModuleHandleA() retval=7b810000 ret=00e48eee 0060:Call KERNEL32.GetProcAddress(7b810000,01541d88 "Wow64DisableWow64FsRedirection") ret=00e48f04 0060:Ret KERNEL32.GetProcAddress() retval=7b82597c ret=00e48f04 0060:Call KERNEL32.GetProcAddress(7b810000,01541d68 "Wow64RevertWow64FsRedirection") ret=00e48f10 0060:Ret KERNEL32.GetProcAddress() retval=7b825994 ret=00e48f10 0060:Call KERNEL32.Wow64DisableWow64FsRedirection(060de970) ret=00e48f23 0060:Ret KERNEL32.Wow64DisableWow64FsRedirection() retval=00000000 ret=00e48f23 0060:Call KERNEL32.CreateFileW(0668f228 L"C:\Program Files\Steam\package",80000000,00000007,00000000,00000003,00000000,ffffffff) ret=00e4d09a 0060:Ret KERNEL32.CreateFileW() retval=ffffffff ret=00e4d09a 0060:Call KERNEL32.CreateFileW(0668f228 L"C:\Program Files\Steam\package",80000000,00000007,00000000,00000003,02000000,ffffffff) ret=00e4d0b9 0060:Ret KERNEL32.CreateFileW() retval=000007f0 ret=00e4d0b9 0060:Call KERNEL32.GetFileInformationByHandle(000007f0,060de930) ret=00e4d0e7 0060:Ret KERNEL32.GetFileInformationByHandle() retval=00000001 ret=00e4d0e7 0060:Call msvcrt.memcpy(060de6b8,060de710,00000008) ret=00e6d14a 0060:Ret msvcrt.memcpy() retval=060de6b8 ret=00e6d14a 0060:Call msvcrt.memset(060de6c1,00000000,0000002f) ret=00e6d1b7 0060:Ret msvcrt.memset() retval=060de6c1 ret=00e6d1b7 0060:Call KERNEL32.CloseHandle(000007f0) ret=00e4d103 0060:Ret KERNEL32.CloseHandle() retval=00000001 ret=00e4d103 ... --- snip ---
Pretty much the standard Steam DRM/integrity scheme where local folder/filesystem/volume info (GetFileInformationByHandle -> inode numbers) is used to generate and validate PE images and locally 'bind' them to a machine.
Unfortunately the 'integrity checker' thread dies with unexpected fault shortly after this sequence:
--- snip --- 0060:Call KERNEL32.InterlockedCompareExchange(01b171ec,00000001,00000001) ret=00e57d38 0060:Ret KERNEL32.InterlockedCompareExchange() retval=00000000 ret=00e57d38 0060:Call KERNEL32.InterlockedExchange(01b171ec,00000001) ret=00e57d5e 0060:Ret KERNEL32.InterlockedExchange() retval=00000000 ret=00e57d5e 0060:trace:seh:raise_exception code=c0000005 flags=0 addr=0x9c0047 ip=009c0047 tid=0060 0060:trace:seh:raise_exception info[0]=00000001 0060:trace:seh:raise_exception info[1]=c1ceb97c 0060:trace:seh:raise_exception eax=10561b70 ebx=10566d30 ecx=0000002a edx=00000900 esi=105667f0 edi=2c5e2783 0060:trace:seh:raise_exception ebp=060dea2c esp=060de9e0 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00010216 0060:trace:seh:call_vectored_handlers calling handler at 0xe550c0 code=c0000005 flags=0 0060:trace:seh:call_vectored_handlers handler at 0xe550c0 returned 0 0060:trace:seh:call_stack_handlers calling handler at 0x121706e code=c0000005 flags=0 0060:trace:seh:call_stack_handlers handler at 0x121706e returned 1 060:trace:seh:call_stack_handlers calling handler at 0xe6f9f4 code=c0000005 flags=0 0060:Call msvcrt._except_handler3(060de988,060dea48,060de6bc,060de60c) ret=7bc7be8d 0060:trace:seh:_except_handler3 exception c0000005 flags=0 at 0x9c0047 handler=0xe6f9f4 0x60de6bc 0x60de60c semi-stub 0060:trace:seh:_except_handler3 level 0 prev -1 filter 0x9b0d6d 0060:trace:seh:_except_handler3 filter returned CONTINUE_SEARCH 0060:trace:seh:_except_handler3 reached TRYLEVEL_END, returning ExceptionContinueSearch 0060:Ret msvcrt._except_handler3() retval=00000001 ret=7bc7be8d 0060:trace:seh:call_stack_handlers handler at 0xe6f9f4 returned 1 0060:trace:seh:call_stack_handlers calling handler at 0x7bc923c0 code=c0000005 flags=0 0060:Call KERNEL32.UnhandledExceptionFilter(060de548) ret=7bc92405 ... 0060:Call KERNEL32.CreateFileA(060de31c "C:\users\gyebro\Temp\bugsplat.log",c0000000,00000000,060de17c,00000004,00000080,00000000) ret=10027825 0060:Ret KERNEL32.CreateFileA() retval=000007f0 ret=10027825 ... 0060:Call KERNEL32.CreateThread(00000000,00000000,1000e191,0246ac80,00000000,060de470) ret=1000e29b 0060:Ret KERNEL32.CreateThread() retval=000007f4 ret=1000e29b 0060:Call KERNEL32.WaitForSingleObject(000007f4,00007530) ret=10005fad 0060:Ret KERNEL32.WaitForSingleObject() retval=00000000 ret=10005fad 0060:Call KERNEL32.TerminateProcess(ffffffff,fffffffd) ret=10005fd1 0060:Call PE DLL (proc=0xb4d6c080,module=0xb4d60000 L"imm32.dll",reason=PROCESS_DETACH,res=(nil)) 0060:Call KERNEL32.TlsFree(0000000b) ret=b4d69fa2 0060:Ret KERNEL32.TlsFree() retval=00000001 ret=b4d69fa2 0060:Call user32.UnregisterClassW(b4d6d48c L"IME",00000000) ret=b4d69fbb 0060:Call winex11.drv.CreateDesktopWindow(00010020) ret=7ec91cfc 0060:Ret winex11.drv.CreateDesktopWindow() retval=00000001 ret=7ec91cfc 0060:err:ntdll:RtlpWaitForCriticalSection section 0x110060 "heap.c: main process heap section" wait timed out in thread 0060, blocked by 0063, retrying (60 sec) --- snip ---
The critsec timeout/borked shutdown sequence is definitely another issue to be looked at.
The reason for the fault isn't obvious to me. Can you try to validate the local files? It's called "verify integrity of game cache" in game properties/settings.
If anything fails, it will be re-downloaded. Additionally this forces some PE binaries to be re-signed/updated with actual filesystem metadata. Make sure the game install is 100% valid before launching the game (try to validate multiple times) ... this could be one reason for weird behaviour.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #11 from GyB gyebro69@gmail.com 2013-12-04 11:34:10 CST --- I validated the game files in Steam four times in a row and each time Steam reported that 1 file was re-downloaded and it was the game executable (SpaceMarine.exe). The checksums of the executable are always different between validations. Now what?
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #12 from Anastasius Focht focht@gmx.net 2013-12-04 11:44:02 CST --- Hello GyB,
--- quote --- I validated the game files in Steam four times in a row and each time Steam reported that 1 file was re-downloaded and it was the game executable (SpaceMarine.exe). The checksums of the executable are always different between validations. Now what? --- quote ---
that means something is fishy with the DRM scheme. Do you have another, maybe smaller steam game to test with, possibly within the same prefix? Can you do the same steps for that game and check if it exhibits same problem (at least one failure, re-download)?
Additionally can you attach the following log file from your steam prefix:
"C:\Program Files\Steam\logs\content_log.txt"
To avoid getting all the old crap either cut out non-Warhammer 40k related parts or start over as follows:
1) shutdown Steam 2) delete all files in the log folder 3) start Steam and re-do the steps, validating game cache multiple times 4) attach newly created content log
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #13 from GyB gyebro69@gmail.com 2013-12-04 12:34:57 CST --- Created attachment 46734 --> http://bugs.winehq.org/attachment.cgi?id=46734 Steam content.log
I installed some more games in the same prefix, validated their files and they were verified successfully, so it seems only Space Marine has the issue. Here i'm attaching content.log generated by Steam after validating Space Marine.
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #14 from Anastasius Focht focht@gmx.net 2013-12-04 13:48:35 CST --- Hello GyB,
the content log indicates two files are the culprit:
"C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\installscript.vdf" (716 bytes)
"C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\SpaceMarine.exe"
--- snip --- [2013-12-04 18:54:47] Validating files (active,full) ... [2013-12-04 18:59:20] Validation: size mismatch "C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\installscript.vdf" [2013-12-04 19:02:05] File validation finished: 3192 files (9517330699 bytes) total, 1 files (716 bytes) mismatched (437729 msec). ... [2013-12-04 19:02:15] Validating files (active,full) ... [2013-12-04 19:06:55] Validation: size mismatch "C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\installscript.vdf" [2013-12-04 19:09:49] File validation finished: 3192 files (9517330699 bytes) total, 1 files (716 bytes) mismatched (453743 msec). ... 2013-12-04 19:13:11] Validating files (active,full) ... [2013-12-04 19:13:19] Validation: size mismatch "C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\SpaceMarine.exe" [2013-12-04 19:18:00] Validation: size mismatch "C:\Program Files\Steam\steamapps\common\Warhammer 40,000 Space Marine\installscript.vdf" [2013-12-04 19:21:01] File validation finished: 3192 files (9517330699 bytes) total, 2 files (22810316 bytes) mismatched (470660 msec). ... --- snip ---
What type/content is that 716 byte file "installscript.vdf"? I doubt Wine/Steam corrupts such small files every time ... it would affect more files and even other games.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #15 from GyB gyebro69@gmail.com 2013-12-04 22:09:50 CST --- Created attachment 46738 --> http://bugs.winehq.org/attachment.cgi?id=46738 Steam installscript.vdf
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #16 from Anastasius Focht focht@gmx.net 2013-12-05 02:16:50 CST --- Hello GyB,
that looks like a small script/text file. I checked the log and the size is always reported with 716 bytes.
Looking for reasons for this kind of error message I found this:
https://github.com/Facepunch/garrysmod-issues/issues/84
--- quote --- Noticed steam is retrieving a particular file on each cache verification. ... [2013-06-09 22:34:29] Validating files (active,full) ... [2013-06-09 22:36:14] Validation: size mismatch ... ... Possibly validating against the wrong code branch? Also, character case mismatch on the path again. --- quote ---
Maybe the server (database) metadata (length, SHA1) is somehow wrong/inconsistent, pointing to a different version of the actual content.
Do you have a Windows machine by chance (VM?) to check the file size and content of "installscript.vdf" against the file in Steam WINEPREFIX (just download, install, re-validate content)?
Regard
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #17 from GyB gyebro69@gmail.com 2013-12-05 11:19:19 CST --- (In reply to comment #16)
Hello GyB,
that looks like a small script/text file. I checked the log and the size is always reported with 716 bytes.
Looking for reasons for this kind of error message I found this:
https://github.com/Facepunch/garrysmod-issues/issues/84
--- quote --- Noticed steam is retrieving a particular file on each cache verification. ... [2013-06-09 22:34:29] Validating files (active,full) ... [2013-06-09 22:36:14] Validation: size mismatch ... ... Possibly validating against the wrong code branch? Also, character case mismatch on the path again. --- quote ---
Maybe the server (database) metadata (length, SHA1) is somehow wrong/inconsistent, pointing to a different version of the actual content.
Do you have a Windows machine by chance (VM?) to check the file size and content of "installscript.vdf" against the file in Steam WINEPREFIX (just download, install, re-validate content)?
Regard
I don't have Windows installed, but I tried the game in Virtualbox (Windows XP guest). The game when started gets a bit further than in Wine, intro videos are played but the game crashes before reaching the menu. What's more interesting was that verifying the game files resulted in the same problem: the 2 files (SpaceMarine.exe and installscript.vdf) were mismatched and were downloaded each time I performed file verification.
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #18 from Anastasius Focht focht@gmx.net 2013-12-05 12:16:54 CST --- Hello GyB,
--- quote --- What's more interesting was that verifying the game files resulted in the same problem: the 2 files (SpaceMarine.exe and installscript.vdf) were mismatched and were downloaded each time I performed file verification. --- quote ---
Indeed interesting. Maybe there is an inconsistency in the appdb/metadata on the server side of Valves content delivery system.
-> not Wine's fault ;-)
--- quote --- I don't have Windows installed, but I tried the game in Virtualbox (Windows XP guest). The game when started gets a bit further than in Wine, intro videos are played but the game crashes before reaching the menu. --- quote ---
Hmm ... I'm not sure if it's worth to waste time on this if the game crashes even on Windows as well (although a bit further). If more Steam games exhibit a similar issue (crash in DRM scheme/integrity part) - maybe.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #19 from TestSubject sirbubbles01@gmail.com 2013-12-05 13:23:21 CST --- (In reply to comment #18)
Hmm ... I'm not sure if it's worth to waste time on this if the game crashes even on Windows as well (although a bit further). If more Steam games exhibit a similar issue (crash in DRM scheme/integrity part) - maybe.
Regards
Actually, I have gotten a fair way into WH40K Space Marine under windows 8, and there is no similar behaviour as far as crashing goes. If there is a similar issue regarding file verification, I don't think it has any bearing on the game refusing to launch. Not sure how to investigate or prove this myself, does anyone have any suggestions?
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #20 from GyB gyebro69@gmail.com --- *** Bug 35140 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rob2098@gmail.com
--- Comment #21 from Anastasius Focht focht@gmx.net --- *** Bug 30997 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Warhammer 40,000: Space |Multiple Steam games crash |Marine (Steam) fails to |on startup (Steam game |start |cache validation | |fails)(Warhammer 40,000: | |Space Marine, CoD:MW3 | |single player, LotR: War in | |the North)
--- Comment #22 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary to collect dupes here.
$ wine --version wine-1.7.16-134-g0ff879b
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |obfuscation Summary|Multiple Steam games crash |Steam games protected with |on startup (Steam game |Valve's CEG (Custom |cache validation |Executable Generation) DRM |fails)(Warhammer 40,000: |scheme fail |Space Marine, CoD:MW3 |validation/crash on startup |single player, LotR: War in |(Warhammer 40K: Space |the North) |Marine, CoD:MW3 SP, LotR: | |War in the North, Total | |War: Shogun 2)
--- Comment #23 from Anastasius Focht focht@gmx.net --- Hello folks,
refining summary.
All the games in question here have one binary generated using Valve's CEG (Custom Executable Generation) DRM scheme and that doesn't work properly with Wine.
'The Lord of the Rings: War in the North': http://steamdb.info/app/32800
--- snip --- cegpublickey
30819D300D06092A864886F70D010101050003818B0030818702818100C985496E19A56ED8D0FC357D1A75FCC94ACB1C83B91BD7B8A20DE894335FD1E99BCB340E9C7C6CC34676525C8CBD8AF064D5AA598FDA7BE3AF7CD63825593D3CD16FFE6AB5930F170BFF3121A7A16F7F324B3BBED1E4DEB262D41C0538525F132DFE25D49F925E765E188696A09B9CB26A2E56817E80FDB06EB578FCED0601D5020111
checkguid witn.exe --- snip ---
'Warhammer 40,000 Space Marine': http://steamdb.info/app/55150/
--- snip --- cegpublickey 30819D300D06092A864886F70D010101050003818B0030818702818100B01850A97649ACD1D9DB362E518B59264274DCEF9557050B8FB82B952811E324AF808E18D987C54DE169631A1E5C9EDE0480B295A7B849C4D7BF2E5E2A5290076E2EEA4C1811A3742B8D87C531DB7AE0084FA4A6B7C3021D7470D01149F24F8BFD80FE476940B71E767612083AF64894FC6615C0E32C9E5EE3D1EEF6E1FDB1BB020111
checkguid SpaceMarine.exe checkguids spacemarine.exe --- snip ---
'Total War: SHOGUN 2': http://steamdb.info/app/34330
--- snip --- cegpublickey
30819D300D06092A864886F70D010101050003818B0030818702818100AF336E35AD7B492545BA32DE317F4EB1D73BCD5E471A7D16E2796D30071AE019B210C26BF0655DCA68D061F1BE6CF3FFF5C668B28D1F1CD5B213BE649DD78CF79452E6E484681D177E30A2E36315E5DFA51D9BC3A9D2B43CEC3C97C1066DA3D28BEA05C73CE83A77B99522C31BD03B61AF094F2175B4063633CB6354276026C3020111
checkguid Shogun2.dll --- snip ---
You can verify by (re)running game cache validation. It will always flag these CEG binaries as inconsistent (size mismatch) and tries to update it.
--- snip --- ... [2014-04-22 23:01:01] AppID 34330 state changed : 0x00020104 = Fully Installed,Update Running,Validating, [2014-04-22 23:01:01] Validating files (active,full) ... [2014-04-22 23:01:09] Validation: size mismatch "C:\Program Files\Steam\steamapps\common\Total War SHOGUN 2\Shogun2.dll" [2014-04-22 23:03:10] File validation finished: 4440 files (20744526337 bytes) total, 1 files (26974720 bytes) mismatched (128774 msec). [2014-04-22 23:03:10] AppID 34330 state changed : 0x00020126 = Update Required,Fully Installed,Files Missing,Update Running,Validating, [2014-04-22 23:03:10] AppID 34330 state changed : 0x00000126 = Update Required,Fully Installed,Files Missing,Update Running, [2014-04-22 23:03:10] AppID 34330 state changed : 0x00080126 = Update Required,Fully Installed,Files Missing,Update Running,Preallocating, [2014-04-22 23:03:10] AppID 34330 state changed : 0x00000126 = Update Required,Fully Installed,Files Missing,Update Running, [2014-04-22 23:03:10] AppID 34330 state changed : 0x00000526 = Update Required,Fully Installed,Files Missing,Update Running,Update Started, [2014-04-22 23:03:10] AppID 34330 state changed : 0x00300526 = Update Required,Fully Installed,Files Missing,Update Running,Update Started,Downloading,Staging, [2014-04-22 23:03:10] Starting update AppID 34330: download 0/11939808, store 0/0, reuse 0/0, stage 0/26974720 ... --- snip ---
An alternate method: run 'ProtectionID' tool on the binary to show the CEG metadata
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready... Scanning -> c:\Program Files\Steam\SteamApps\common\Total War SHOGUN 2\Shogun2.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 26974720 (019B9A00h) Byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000000 (0x0404C000) [Entrypoint Section Entropy] : 6.35 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x515EB206 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x69 (105) AddressOfRawData : 0x17FD74C | PointerToRawData : 0x17FBF4C CvSig : 0x53445352 | SigGuid FEC6E4EE-D7B9-4DC0-9AF4896A1C34300D Age : 0x1E | Pdb : t:\branches\shogun2\otomo\shogun2\binaries\Symbols\Empire.zIntelUnityRelease.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : B99556D5-E248-4031-8827-46FA4C0921FC [.] CEG Build Machine : neilk2 [!] Possible CD/DVD-Key or Serial Check -> Serial Number [CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005) - Scan Took : 1.18 Second(s) [0000007BEh tick(s)] [229 scan(s) done] --- snip ---
Regards
https://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |panayk@gmail.com
--- Comment #24 from Anastasius Focht focht@gmx.net --- *** Bug 31007 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |moser.jonas@gmail.com
--- Comment #25 from Anastasius Focht focht@gmx.net --- *** Bug 32322 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #26 from Anastasius Focht focht@gmx.net --- Hello folks,
another game with CEG: 'Saints Row the Third'
http://store.steampowered.com/app/55230/
http://steamdb.info/app/55230/
--- snip --- cegpublickey
30819D300D06092A864886F70D010101050003818B0030818702818100B7306EBD2D2083870925750DB72452A6B4D464D8FF047C09EBB6E25C97CC3239E94026CB0DD4CD28EE154E7240D50D3FA67D2150AF682AC5839C8685D624F78E2D7F9929585E1694F8E4177B1CBE6EE6391DA2B1BC99706028EF347C65043BB1207853A1909A4CB5D2E9B5C03B7E903C6434D1A53B31088261F07503CF12698B020111
checkguid SaintsRowTheThird_DX11.exe
checkguids saintsrowthethird_dx11.exe;saintsrowthethird.exe --- snip ---
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready...
Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Saints Row the Third\SaintsRowTheThird.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 16260760 (0F81E98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0F81000h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000100 (0x0404C004) [Entrypoint Section Entropy] : 6.71 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4F58ED0D | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x4F (79) AddressOfRawData : 0xEA3170 | PointerToRawData : 0xEA2170 CvSig : 0x53445352 | SigGuid 722A8F19-290A-4D47-9413412FD3105356 Age : 0x1 | Pdb : D:\projects\sr3\pc_rc\sr3\sr3_pc_release_final_drm.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : D38EFE72-7B28-49ec-98E5-D93E7729EECA [.] CEG Build Machine : neilk2 [!] Possible CD/DVD-Key or Serial Check -> SerialNumber [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) - Scan Took : 1.171 Second(s) [000000725h tick(s)] [533 scan(s) done] --- snip ---
$ wine --version wine-1.7.17-129-gb84e112
Regards
https://bugs.winehq.org/show_bug.cgi?id=32515
Jonathan Strander mblackwell1024@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mblackwell1024@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32515
Johan Gardhage johan.gardhage@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |johan.gardhage@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32515
Kevin Turner kevinperson@topicbox.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kevinperson@topicbox.com
https://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |andrzej.kardas@kardasa.pl
--- Comment #27 from Anastasius Focht focht@gmx.net --- *** Bug 31509 has been marked as a duplicate of this bug. ***
http://bugs.winehq.org/show_bug.cgi?id=32515
Christopher Larson kergoth@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kergoth@gmail.com
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #28 from Anastasius Focht focht@gmx.net --- Hello folks,
another game with CEG: 'Age of Mythology: Extended Edition'
http://store.steampowered.com/app/266840/
http://steamdb.info/app/266840/config/
--- snip --- launch
0/config/oslist: windows 0/description: Launch 0/executable: Launcher.exe
cegpublickey 30819D300D06092A864886F70D010101050003818B0030818702818100C20F95CD3007AC0E2BAA9C0AFF740B949792CDF46454F2272A28D8CCEC4829A2F625B22FD4A588E1975F74708123A9DCFA8F1B8D01E40760871899F3CABCF717F17F8A5574DD8533C139359F319AA5BBC9A1326B220FD8D9B40D8158831CA45B3A397A9AB71ABECF65B07031E356BA70F2B3A252701212E2481611B55941C8D5020111
checkguid AoMX.exe --- snip ---
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready...
Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Age of Mythology\aomx.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 8625816 (0839E98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0839000h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000100 (0x0404D004) [Entrypoint Section Entropy] : 6.56 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x536D18E2 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x43 (67) AddressOfRawData : 0x6C7510 | PointerToRawData : 0x6C6110 CvSig : 0x53445352 | SigGuid B5CAACEA-753D-4761-A3F63B79B926B484 Age : 0x1 | Pdb : D:\projects\AoM\src\rts3\FinalCEG\AoMX.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : FD1C45EF-0376-4524-B3A4-BBF65E7A1F1D [.] CEG Build Machine : neilk [!] Possible CD/DVD-Key or Serial Check -> CDKey [CompilerDetect] -> Visual C/C++ - Scan Took : 0.815 Second(s) [00000032Fh tick(s)] [533 scan(s) done]
Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Age of Mythology\Launcher.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 1664512 (0196600h) Byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000000 (0x0404D000) [Entrypoint Section Entropy] : 5.89 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x53698096 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x3E (62) AddressOfRawData : 0x6928 | PointerToRawData : 0x5728 CvSig : 0x53445352 | SigGuid 5F16F2FE-FE92-4808-9FF6253A92E31114 Age : 0x23 | Pdb : D:\Projects\aom_mainline\Launcher.pdb
[!] Steam api usage detected [CompilerDetect] -> Visual C/C++ - Scan Took : 0.380 Second(s) [00000017Ch tick(s)] [533 scan(s) done] --- snip ---
$ wine --version wine-1.7.19
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
yoyoheadshrinker@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |yoyoheadshrinker@gmx.net
http://bugs.winehq.org/show_bug.cgi?id=32515
Gethyn ThomasQuail xylem2020@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |xylem2020@gmail.com
--- Comment #29 from Gethyn ThomasQuail xylem2020@gmail.com --- What's interesting is that Saints Row: The Third now launches fine meaning it's not affected by this bug anymore?
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #30 from Adam Bolte abolte@systemsaviour.com --- I don't have an issue launching Saints Row: The Third either, however I only just installed it so am not sure that it was ever a problem.
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #31 from Anastasius Focht focht@gmx.net --- Hello folks,
--- quote --- What's interesting is that Saints Row: The Third now launches fine meaning it's not affected by this bug anymore? --- quote ---
the launcher executable is not CEG protected, see my comment #26
Try to play a game and see how it "works" for you. It should still crash.
Also 'SaintsRowTheThird.exe' should fail checksum validation ("Validate Integrity of Game Cache"), forcing a re-download every time.
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #32 from Adam Bolte abolte@systemsaviour.com --- No, I went into the main game menu, changed graphical setting such as screen resolution, heard the music playing, etc. Was working fine (although didn't actually select "new game" at the menu, but surely I wouldn't have to go that far). I suspect the issue might be region-specific - we may not have the same binary.
I'll have to take a look at this ProtectionID app at some point. I'm also not at my game machine right now so can't paste the binary checksum.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #33 from Anastasius Focht focht@gmx.net --- Hello folks,
another game with CEG: 'Sniper Elite V2' (DirectX 10 and 11)
http://store.steampowered.com/app/63380/
http://steamdb.info/app/63380/config/
--- snip --- launch
0/executable: bin\SniperEliteV2.exe
cegpublickey 30819D300D06092A864886F70D010101050003818B0030818702818100A464748EA2D3D774C2AB9E886C8D834B34F4B543C2F0620F0552050DD2B61011F068E8EFC87000EEB8121E3A652CE30D9433FA7565B38CB9BD3D7969B802A89C53B9C69C975E95C21232347F59E57B39AF8D511DED572DC4309A50F23F65D11F8E24D357E6817CECB271185A1EE61C0BEA3F66259DC0B9126A8A9ED9BB07BAE9020111 checkguid SniperEliteV2.exe --- snip ---
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready... Scanning -> Z:\home\focht\wine-games\wineprefix-steam\wineprefix\drive_c\Program Files\Steam\SteamApps\common\Sniper Elite V2\bin\SniperEliteV2.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 7095448 (06C4498h) Byte(s) -> File Appears to be Digitally Signed @ Offset 06C3600h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000100 (0x0404D004) [Entrypoint Section Entropy] : 6.68 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x537F671A | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x5B (91) AddressOfRawData : 0x63DB90 | PointerToRawData : 0x63C990 CvSig : 0x53445352 | SigGuid 8CDD67EB-8B5F-41E6-AA0281C6ECBEF277 Age : 0x1 | Pdb : L:\SniperV2\PC_Release\bin_local\SniperV2_D3D11_CEG_Submission.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 6687AAA7-E9A8-44c2-9280-F6689F904933 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) - Scan Took : 0.847 Second(s) [00000034Fh tick(s)] [533 scan(s) done] --- snip ---
$ wine --version wine-1.7.19-70-gd6a59f7
Regards
http://bugs.winehq.org/show_bug.cgi?id=32515
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mthees08@gmail.com
--- Comment #34 from Béla Gyebrószki gyebro69@gmail.com --- *** Bug 36862 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #35 from Anastasius Focht focht@gmx.net --- Hello folks,
another game with CEG: 'Company of Heroes 2' (DirectX 10 and 11)
http://store.steampowered.com/app/231430/
http://steamdb.info/app/231430/config/
--- snip --- launch
0/config/oslist: windows 0/description: Standard 0/executable: RelicCoH2.exe
cegpublickey 30819D300D06092A864886F70D010101050003818B0030818702818100D7F9EA4871FFA471DCCA8915F038DF378E1A47CCF9224E4CB66A9088FD8155475B28D0D8CEF5759424180F7697B8463AF0010423ED02CC481D3A4D4A1ADB782B43CD9DAB73FAE57BB44BCF7382244A29EC2F4C31482B9972F8485B57A4067A3EDF8DE38927B694E05B773B0F55F304ED2C47D2E2900B522B6AEF6799D98D8375020111 checkguid RelicCoH2.exe --- snip ---
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready... Scanning -> C:\Program Files\Steam\SteamApps\common\Company of Heroes 2\RelicCoH2.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 35699992 (0220BD18h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0220B000h, size : 0D18h / 03352 byte(s) [File Heuristics] -> Flag : 00000100000000001001000000000100 (0x04009004) [Entrypoint Section Entropy] : 6.73 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x53BDD471 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x56 (86) AddressOfRawData : 0x192F4E4 | PointerToRawData : 0x192F4E4 CvSig : 0x53445352 | SigGuid 22B0E40A-6C5F-4C38-ACB29E2568F608AF Age : 0x5 | Pdb : e:\projects\coh2-ui\bia\obj\Win32\CEG_CoH_2\bin\RelicCoH2.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 271703CA-78E6-4877-AFAA-5DCAADAD252A [.] CEG Build Machine : neilk [!] Possible CD/DVD-Key or Serial Check -> SerialNumber [CompilerDetect] -> Visual C++ 10.0 (Visual Studio 2010) - Scan Took : 2.461 Second(s) [0000009EBh tick(s)] [533 scan(s) done] --- snip ---
$ wine --version wine-1.7.22
Regards
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #36 from Béla Gyebrószki gyebro69@gmail.com --- I checked the games in my Steam library with Protection Id and found some more games with Valve's CEG. The main executable in these games (sometimes a .dll with CEG) always fails file validation and re-downloaded. Interestingly, these games all start for me (some of them needs native d3dx9*, xact*). Some of the games listed here has demo on Steam with CEG if you want to test it.
Age of Empires II: HD Edition (AoK HD.exe) http://steamdb.info/app/221380/config/ Scanning -> C:\Program Files\Steam\SteamApps\common\Age2HD\AoK HD.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 4996888 (04C3F18h) Byte(s) -> File Appears to be Digitally Signed @ Offset 04C3200h, size : 0D18h / 03352 byte(s) [File Heuristics] -> Flag : 00000000000001001101000000000100 (0x0004D004) [Entrypoint Section Entropy] : 6.60 [!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : FD1C45EF-0376-4524-B3A4-BBF65E7A1F1D [.] CEG Build Machine : neilk [!] Possible CD/DVD-Key or Serial Check -> serial number [CompilerDetect] -> Visual C/C++ ---
Duke Nukem Forever (Engine.dll) http://steamdb.info/app/57900/config/ Scanning -> C:\Program Files\Steam\steamapps\common\duke nukem forever\System\Engine.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 7472128 (0720400h) Byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000000 (0x0404C000) [Entrypoint Section Entropy] : 6.59 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4ED80CC2 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x3F (63) AddressOfRawData : 0x510520 | PointerToRawData : 0x50EB20 CvSig : 0x53445352 | SigGuid E9A67490-47DA-43B8-A591B395061E1C0E Age : 0x1 | Pdb : r:\BUCKEYE-PCSTABLE\System\Enginef.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 36A43932-B494-4eb3-A521-E4D2B0872EA9 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) ---
Sid Meier's Civilization V (civilizationv_tablet.exe;civilizationv_dx11.exe;civilizationv.exe) http://steamdb.info/app/8930/config/ ---
F.E.A.R 3 (F.E.A.R. 3.exe) http://steamdb.info/app/21100/config/ Scanning -> C:\Program Files\Steam\SteamApps\common\F.E.A.R. 3\F.E.A.R. 3.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 22415512 (01560898h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0155FA00h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000100 (0x0404C004) [Entrypoint Section Entropy] : 6.63 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4E0D0B76 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x3C (60) AddressOfRawData : 0x110B5D0 | PointerToRawData : 0x110ABD0 CvSig : 0x53445352 | SigGuid A6E5002F-31A7-49E8-B0DD34C5A851220D Age : 0x6 | Pdb : e:\FEAR2Code\output\bin\Game_wf.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 36A43932-B494-4eb3-A521-E4D2B0872EA9 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) ---
Left 4 Dead 2 (client.dll) http://steamdb.info/app/550/config/ Scanning -> C:\Program Files\Steam\SteamApps\common\Left 4 Dead 2\left4dead2\bin\client.dll File Type : 32-Bit Dll (Subsystem : Win GUI / 2), Size : 8818328 (0868E98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0868000h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001101000000000100 (0x0404D004) [Entrypoint Section Entropy] : 6.71 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x53598874 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x69 (105) AddressOfRawData : 0x704FE8 | PointerToRawData : 0x7035E8 CvSig : 0x53445352 | SigGuid 515B8436-1C59-4B75-B831A0805AB5B995 Age : 0x1 | Pdb : c:\buildslave\l4d2_rel_win32\build\src\game\client\Release_left4dead2\client.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2038 [.] CEG Build GUID : A4ABE88C-9326-44d8-9CB7-B010AA12644F [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 10.0 (Visual Studio 2010) ---
Lara Croft: Guardian of Light (lcgol.exe) http://steamdb.info/app/35130/config/ Has demo: http://store.steampowered.com/app/35130 Scanning -> C:\Program Files\Steam\SteamApps\common\Lara Croft and the Guardian of Light\lcgol.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 7827096 (0776E98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0776000h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000000001000000000000100 (0x04008004) [Entrypoint Section Entropy] : 6.61 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4CFD752C | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x4D (77) AddressOfRawData : 0x6151D8 | PointerToRawData : 0x6151D8 CvSig : 0x53445352 | SigGuid 66721B60-8137-474B-8605D1B2D1A75A76 Age : 0x1 | Pdb : d:\trd\output\win32_gmceg\game\lcgol_win32_gmceg.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2038 [.] CEG Build GUID : 4994E1F5-5255-4bee-A6EE-696CB9BF35A9 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005) ---
Spec Ops: The Line (SpecOpsTheLine.exe) http://steamdb.info/app/50300/config/ Has demo: http://store.steampowered.com/app/50300 Scanning -> C:\Program Files\Steam\SteamApps\common\SpecOps_TheLine\Binaries\Win32\SpecOpsTheLine.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 18700952 (011D5A98h) Byte(s) -> File Appears to be Digitally Signed @ Offset 011D4C00h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000100 (0x0404C004) [Entrypoint Section Entropy] : 6.59 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x50041F0C | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x54 (84) AddressOfRawData : 0xFAF0F0 | PointerToRawData : 0xFAE0F0 CvSig : 0x53445352 | SigGuid 29A0C37A-778B-48D0-B048E991FA4ECAFF Age : 0x1 | Pdb : c:\depot\PC\UnrealEngine3\Binaries\Win32\SpecOpsTheLine.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : D38EFE72-7B28-49ec-98E5-D93E7729EECA [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) ---
Mafia 2 (Mafia2.exe) http://steamdb.info/app/50130/config/ Has demo: http://store.steampowered.com/app/50130 Scanning -> C:\Program Files\Steam\SteamApps\common\Mafia II\pc\mafia2.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 24343192 (01737298h) Byte(s) -> File Appears to be Digitally Signed @ Offset 01736400h, size : 0E98h / 03736 byte(s) [File Heuristics] -> Flag : 00000100000001001100000000000100 (0x0404C004) [Entrypoint Section Entropy] : 6.47 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4D2745BA | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x39 (57) AddressOfRawData : 0x167455C | PointerToRawData : 0x167255C CvSig : 0x53445352 | SigGuid D40076C1-440E-4B1D-9684EA3052D307D2 Age : 0x2 | Pdb : D:\IS_GAMES\MAFIA2\pc\Mafia2.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2041 [.] CEG Build GUID : CC580516-8153-4477-95D2-F2357FF170F0 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) ---
XCOM: Enemy Unknown (XComGame.exe) http://steamdb.info/app/200510/config/ Has demo: http://store.steampowered.com/app/200510 Scanning -> C:\Program Files\Steam\SteamApps\common\XCom-Enemy-Unknown\Binaries\Win32\XComGame.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 28428568 (01B1C918h) Byte(s) -> File Appears to be Digitally Signed @ Offset 01B1BC00h, size : 0D18h / 03352 byte(s) [File Heuristics] -> Flag : 00000100000001001001000000000100 (0x04049004) [Entrypoint Section Entropy] : 6.65 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x5293C800 | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x73 (115) AddressOfRawData : 0x183ED88 | PointerToRawData : 0x183E188 CvSig : 0x53445352 | SigGuid 62A66F26-5707-4526-861DDF87C24FE1B1 Age : 0x1 | Pdb : C:\BuildAgent\work\f8dad38555ce5470\branches\UE3_XComPC\Binaries\Win32\XComGame-RETAIL.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 57FFEFBE-3993-4f28-BCAC-C55C7297F8E3 [.] CEG Build Machine : neilk [CompilerDetect] -> Visual C++ 10.0 (Visual Studio 2010) ---
Games with Valve's CEG I haven't tested yet due to lack of time: The Bureau: XCOM Declassified http://steamdb.info/app/65930/config/
Red Faction: Armageddon http://steamdb.info/app/55110/config/
Deus Ex: Human Revolution http://steamdb.info/app/28050/config/ ---
Tested with wine-1.7.24-14-gd1749b5
https://bugs.winehq.org/show_bug.cgi?id=32515
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sebastian@fds-team.de
--- Comment #37 from Sebastian Lackner sebastian@fds-team.de --- I wanted to reproduce this issue, and decided to install the Demo of "Lara Croft: Guardian of Light". A check using the ProtectionId tool looks like it indeed uses CEG:
--- snip --- -=[ ProtectionID v0.6.5.5 OCTOBER]=- (c) 2003-2013 CDKiLLER & TippeX Build 31/10/13-21:09:09 Ready... Scanning -> C:\Program Files\Steam\SteamApps\common\Lara Croft and the Guardian of Light\lcgol_demo.exe File Type : 32-Bit Exe (Subsystem : Win GUI / 2), Size : 7822616 (0775D18h) Byte(s) -> File Appears to be Digitally Signed @ Offset 0775000h, size : 0D18h / 03352 byte(s) [File Heuristics] -> Flag : 00000100000000001000000000000100 (0x04008004) [Entrypoint Section Entropy] : 6.61 [Debug Info] Characteristics : 0x0 | TimeDateStamp : 0x4CFD7C9B | MajorVer : 0 / MinorVer : 0 -> (0.0) Type : 2 -> CodeView | Size : 0x5A (90) AddressOfRawData : 0x613FC8 | PointerToRawData : 0x613FC8 CvSig : 0x53445352 | SigGuid 00FF2B0F-A75F-4C57-9BBFEDF7D2825959 Age : 0x1 | Pdb : d:\trd\output\win32_gmcegdemo\game\lcgol_demo_win32_gmcegdemo.pdb
[!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2038 [.] CEG Build GUID : 4994E1F5-5255-4bee-A6EE-696CB9BF35A9 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 8.0 (Visual Studio 2005) - Scan Took : 1.993 Second(s) [0000003EFh tick(s)] [533 scan(s) done] --- snip ---
But... I cannot reproduce the issues with file validation (succeeds without downloading new files, no message on terminal), and the game also seems to work properly (besides some wined3d rendering issues... most likely needs CSMT or strict draw ordering). Testing with wine-1.7.24-14-gd1749b5, without any additional patches.
The title of this bug report is probably a bit misleading, as it doesn't seem to affect all CEG protected games. I will test with the demo linked in the description (http://store.steampowered.com/app/55150/) as a next step.
Regards, Sebastian
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #38 from Sebastian Lackner sebastian@fds-team.de --- Just tested with the Warhammer 40K: Space Marine demo. ProtectionId also reports that it uses CEG, but works properly in wine-1.7.24-14-gd1749b5 for me.
--- snip --- Scanning -> C:\Program Files\Steam\SteamApps\common\Warhammer 40,000 Space Marine Demo\SpaceMarine.exe [...] [!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2100 [.] CEG Build GUID : 1EF1F09E-A8ED-410f-A888-8EDCAAFA28B3 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) --- snip ---
Does this problem still exist in the current development branch? Does someone know a demo which can be used to reproduce this issue?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #39 from Béla Gyebrószki gyebro69@gmail.com --- (In reply to Sebastian Lackner from comment #37)
I wanted to reproduce this issue, and decided to install the Demo of "Lara Croft: Guardian of Light".
But... I cannot reproduce the issues with file validation (succeeds without downloading new files, no message on terminal), and the game also seems to work properly (besides some wined3d rendering issues...
If you open the file content_log.txt in ../Steam/logs after performing file validation you should see that the game executable 'lcgol_demo.exe' has failed validation and was re-downloaded.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #40 from Sebastian Lackner sebastian@fds-team.de --- Ah, thanks - I expected that there would also be some visible output on the terminal, the download of this file was so fast, that I didn't notice it. ;)
I can confirm that it redownloads the executable each time when validating the demo, here is an example diff: http://ix.io/dU5 .
In the meantime I've also tested with the Mafia II demo, but same result as always: CEG executable, but works well in Wine...
--- snip --- Scanning -> C:\Program Files\Steam\SteamApps\common\Mafia II - Public Demo\pc\mafia2.exe [...] [!] Steam api usage detected [i] additional feature ; Valve CEG - Custom Executable Generation [.] CEG Version : 1, 1, 0, 2041 [.] CEG Build GUID : CC580516-8153-4477-95D2-F2357FF170F0 [.] CEG Build Machine : neilk2 [CompilerDetect] -> Visual C++ 9.0 (Visual Studio 2008) --- snip ---
https://bugs.winehq.org/show_bug.cgi?id=32515
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Steam games protected with |Steam games protected with |Valve's CEG (Custom |Valve's CEG (Custom |Executable Generation) DRM |Executable Generation) DRM |scheme fail |scheme fail game cache |validation/crash on startup |validation |(Warhammer 40K: Space | |Marine, CoD:MW3 SP, LotR: | |War in the North, Total | |War: Shogun 2) |
--- Comment #41 from Anastasius Focht focht@gmx.net --- Hello folks,
changing the summary to target the Steam game cache validation issue only here.
Since some of the mentioned games are reported to work, it might be useful to split out individual bugs.
Regards
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.pcguy.inci@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |chris.pcguy.inci@gmail.com
--- Comment #42 from Christian Inci chris.pcguy.inci@gmail.com --- Hello,
I think, that the reason for the crash after GetFileInformationByHandle and the verifying issue is that CEG is depending on FileIndex.u.HighPart being non-zero.
FileIndex.u.LowPart is the inode number, like it should be. FileIndex.u.HighPart should be the MFT Record Sequence Number, but it's zero.
Kind regards, Chris
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #43 from Sebastian Lackner sebastian@fds-team.de --- Hi Christian,
my idea was similar, i thought its probably the zero serial-number (returned by the same function) that confuses the copy-protection. I didn't have time to test this yet, and moreover I think the problem with crashing applications was way more problematic. Does this other issue have a separate bug report now?
Regards, Sebastian
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #44 from Christian Inci chris.pcguy.inci@gmail.com --- Hi Sebastian,
I've already tried to set the serial-number to 0xdeadbeef, which didn't made a difference.
So it either seems to be only about the FileIndex or about both.
I also tried to fix it in kernel32.dll and ntdll.dll but CEG flipped me the bird. (At the Installation window on 1%: error codes 2, 3 and either 53 or 55 idk.) (Didn't happened when only changing the serial-number)
I'm not sure how to properly fix/hack this. Ways could be to change the file system driver(s), hooking fstat (the previous two would need support for 64-bit inode numbers), hacking ntdll.dll and wineserver.
Kind regards, Chris
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #45 from Christian Inci chris.pcguy.inci@gmail.com --- I've tested it by hooking multiple stat functions (and by setting VolumeSerialNumber to 0xdeadbeef). It doesn't solve any of these issues.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #46 from Adam Bolte abolte@systemsaviour.com --- Still an issue in 1.7.47.
https://bugs.winehq.org/show_bug.cgi?id=32515
tt_1 herrtimson@yahoo.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |herrtimson@yahoo.de
https://bugs.winehq.org/show_bug.cgi?id=32515
aaahaaap@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |aaahaaap@gmail.com
--- Comment #47 from aaahaaap@gmail.com --- Is there anything we (as users) can do to move this forward? Is there any kind of additional info we can provide or does this simply need an experienced dev?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #48 from Christian Inci chris.pcguy.inci@gmail.com --- Coincidentally I just looked at it a few hours ago after letting it rest for many months.
Short answer: No. Maybe Focht could take another look at it, pretty please? :-)
Longer answer: For me, it's only a "cosmetic" bug, as with a fast internet connection this shouldn't hurt anybody. At least with CoD MW3 SP, a crash is also happening. Maybe it has the same cause.
The exact same crash also occurs under Windows if OllyDbg is attached to iw5sp.exe. It looks like a debugger-check or an anti-tamper check gone mad.
There weren't any progress for over three years. Personally I've lost all hope to ever see a fix for it. I hope that Valve could implement a workaround for it or make it more Wine compatible.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #49 from Christian Inci chris.pcguy.inci@gmail.com --- I've got some informations.
Steps used by CEG (more or less): various checksum runs creating a custom TEB (FS with ESP as base) int3 (creating all debug register entries, this doesn't seem to work on wine with the custom TEB) breakpoint triggered by data address (modifying all debug register entries, lower code address breakpoint is now in DR0) CreateFile, GetFileInformationByHandle breakpoint triggered by code address (modifying all debug register entries and data returned by GetFileInformationByHandle) two(?) checksum runs ... calling method at 0x737290 (0x7372ea crashing on wine)
I embedded a very dirty hack inside GetFileInformationByHandle in order to modify four dwords without needing to start a debugger, which allowed me to see the intro movie (it crashed between skipping the movie and showing the main menu. 0x7372ea again), but the actual bug seems to be the int3 with the custom TEB.
By the way, debugging works great with x64dbg when you're starting the game using steam (starting it using the debugger will lead into a "late" crash) and attach to it afterwards. (e.g. when a "safe mode" dialog like the one from iw5sp.exe is showing)
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #50 from Christian Inci chris.pcguy.inci@gmail.com --- This CEG issue seems to be the result of some rarely used CEG features.
There seem to be multiple (Wine code) bugs involved, some when creating the CEG file and some others when running it. The Valve support, when asking for at least some CEG test cases and telling them that more and more people are complaining about the bug, is basically telling me: "Go fuck yourself!" (In "nicer" words, but anyway.) I don't have much time to spend on this, but I'm trying to do what I can.
The bugs seems to be in File/Directory/Volume/Exception/SectionTable-handling functions.
When creating the CEG file, something in steamservice.dll is writing 1028 (this stands for C:\WINDOWS\system32\1028) in xor'ed form to the executable. Under Wine, it'll write garbage to it. This seems to be a remainder in/of the stack. It seems like Wine's kernel32.dll needs to be somewhat stack compatible.
When running the CEG file, some int3 calls with a custom TEB are working, but others seems to be silently ignored. Even when it works, there are e.g. some differences in the EXCEPTION_RECORD and CONTEXT structures. Some members of Wine's TEB (struct in the header) doesn't seem to be in the right place and some of Wine's private members doesn't seem to be used at all.
Valve did some great work there. e.g. some multiple KiB big functions, are basically just one extremely simple and tiny loop, because 99 percent of the functions aren't used at all.
CEG seems to be actually very simple, but the hard things are e.g. to filter the irrelevant/unused parts, to circumvent the anti-debug code, the obfuscation and the code designed to distract.
This reminds me more and more of malware analysis. What are those CEG features designed to work against? Is it specific anti-Wine/anti-ReactOS code?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #51 from Christian Inci chris.pcguy.inci@gmail.com --- Created attachment 57690 --> https://bugs.winehq.org/attachment.cgi?id=57690 Testcase
There might be a problem in FindNextFile, which results in a discrepancy at the generated executable. I don't know if fixing it will resolve this bug.
I've reverse-engineered the part of CEG which is used when generating the executable. This executable is a nearly one-to-one copy of it and a testcase too. That's the closest I can get without removing some MingW parts. Which means that the output of the "algorithm" isn't a bitexact copy.
I can provide the source code on request.
Btw: Valve blacklisted the MachineGUID of one of my debugging VMs. It were simply evaded by just changing the MachineGUID registry value.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #52 from Christian Inci chris.pcguy.inci@gmail.com --- It doesn't return the correct groups, which should be able to read the directories.
Is: "S-1-1-0" Should: "S-1-5-32-545" or "S-1-5-11"
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #53 from Christian Inci chris.pcguy.inci@gmail.com --- Created attachment 57699 --> https://bugs.winehq.org/attachment.cgi?id=57699 Testcase src
The function AccessAllowed should return TRUE.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #54 from Christian Inci chris.pcguy.inci@gmail.com --- Created attachment 57700 --> https://bugs.winehq.org/attachment.cgi?id=57700 HACK to fix the game cache validation issue
This HACK seems to fix the game cache validation issue. The game crash is unfortunately unaffected from it.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #55 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57763 --> https://bugs.winehq.org/attachment.cgi?id=57763 HACK?: Second bugfix for #32515
This patch is extremely similiar to Andrew Wesie's patch. (https://source.winehq.org/patches/data/127713) I could swear that I already tried this exactly same modification many times, but it's now working for some odd reasons.
The result of this patch is the same as the result of my previous non-public patch (dirty patch in GetFileInformationByHandle), but it's cleaner now as it won't manipulate internal game values. At the example of CoD MW3, this means that it'll now crash between the intro screen and the main menu instead of crashing immediately, but hey, a progress is a progress.
It *doesn't* depend on the fix for the game cache validation issue.
Valve's CEG might decide to use different code paths based on time, weekday, timezone and other weird shit. So try to restart the game a few times if it's still crashing too early.
e.g.: // choose codepath based on time & date __cdecl BOOL sub_006ce230(void) { SYSTEMTIME SystemTime; TIME_ZONE_INFORMATION TimeZoneInformation; GetSystemTime(&SystemTime); if (SystemTime.wDayOfWeek == 6 || SystemTime.wDayOfWeek == 1 || SystemTime.wDayOfWeek == 4) return TRUE; // 0x006ce263 DWORD ecx = var_028231e8+1; DWORD eax = ((ecx/0x2fb)*0x2fb); var_028231e8 = ecx; if ((ecx-eax) == 1) { // 0x006ce298 if (GetTimeZoneInformation(&TimeZoneInformation) != TIME_ZONE_ID_INVALID) { eax = (TimeZoneInformation.Bias/10)-((TimeZoneInformation.Bias/90)*9); if (!eax || eax == 1 || eax == 6) return TRUE; } } // 0x006ce2e8 if (GetTimeZoneInformation(&TimeZoneInformation) != TIME_ZONE_ID_INVALID) { eax = (TimeZoneInformation.Bias/10)-((TimeZoneInformation.Bias/90)*9); if (eax != 2 && eax != 6 && eax != 8) return FALSE; } return TRUE; }
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #56 from tt_1 herrtimson@yahoo.de --- Tried both hacks from #54 and #55 on top of wine 2.5 , but unfortunatley this has not changed a thing for Shogun2. Same pagefault as before when entering the menue.
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57763|0 |1 is obsolete| |
--- Comment #57 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57770 --> https://bugs.winehq.org/attachment.cgi?id=57770 Second bugfix for #32515, now hopefully for real
Screw you Valve and screw you CEG, I finally made it. At least with CoD MW3, which is the only game I've tested it with. I'm able to start a singleplayer campaign and to play without crashing. Unfortunately there are some graphical artifacts and stuttering in (e.g. intro or mid-play) videos. Tested on: Gentoo AMD64 Unstable, Wine staging 2.4, Radeon RX 470 8GB
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #58 from Christian Inci chris.wine@broke-the-inter.net --- Comment on attachment 57700 --> https://bugs.winehq.org/attachment.cgi?id=57700 HACK to fix the game cache validation issue
diff --git a/server/file.c b/server/file.c index 85bd9501..8e98e03b 100644 --- a/server/file.c +++ b/server/file.c @@ -336,7 +336,7 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID ACL *dacl; SID *sid; char *ptr; - const SID *world_sid = security_world_sid; + const SID *builtin_users_sid = security_builtin_users_sid; const SID *local_system_sid = security_local_system_sid;
dacl_size = sizeof(ACL) + FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) + @@ -348,7 +348,7 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID (!(mode & S_IXUSR) && (mode & (S_IXGRP|S_IXOTH)))) dacl_size += FIELD_OFFSET(ACCESS_DENIED_ACE, SidStart) + security_sid_len( user ); if (mode & S_IRWXO) - dacl_size += FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) + security_sid_len( world_sid ); + dacl_size += FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) + security_sid_len( builtin_users_sid );
sd = mem_alloc( sizeof(struct security_descriptor) + security_sid_len( user ) + security_sid_len( group ) + @@ -430,14 +430,14 @@ struct security_descriptor *mode_to_sd( mode_t mode, const SID *user, const SID current_ace = &aaa->Header; aaa->Header.AceType = ACCESS_ALLOWED_ACE_TYPE; aaa->Header.AceFlags = (mode & S_IFDIR) ? OBJECT_INHERIT_ACE | CONTAINER_INHERIT_ACE : 0; - aaa->Header.AceSize = FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) + security_sid_len( world_sid ); + aaa->Header.AceSize = FIELD_OFFSET(ACCESS_ALLOWED_ACE, SidStart) + security_sid_len( builtin_users_sid ); aaa->Mask = 0; if (mode & S_IROTH) aaa->Mask |= FILE_GENERIC_READ | FILE_GENERIC_EXECUTE; if (mode & S_IWOTH) aaa->Mask |= FILE_GENERIC_WRITE | DELETE | FILE_DELETE_CHILD; sid = (SID *)&aaa->SidStart; - memcpy( sid, world_sid, security_sid_len( world_sid )); + memcpy( sid, builtin_users_sid, security_sid_len( builtin_users_sid )); }
return sd; @@ -511,7 +511,7 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) ad_ace = (const ACCESS_DENIED_ACE *)ace; sid = (const SID *)&ad_ace->SidStart; mode = file_access_to_mode( ad_ace->Mask ); - if (security_equal_sid( sid, security_world_sid )) + if (security_equal_sid( sid, security_builtin_users_sid )) { bits_to_set &= ~((mode << 6) | (mode << 3) | mode); /* all */ } @@ -529,7 +529,7 @@ mode_t sd_to_mode( const struct security_descriptor *sd, const SID *owner ) aa_ace = (const ACCESS_ALLOWED_ACE *)ace; sid = (const SID *)&aa_ace->SidStart; mode = file_access_to_mode( aa_ace->Mask ); - if (security_equal_sid( sid, security_world_sid )) + if (security_equal_sid( sid, security_builtin_users_sid )) { mode = (mode << 6) | (mode << 3) | mode; /* all */ new_mode |= mode & bits_to_set;
https://bugs.winehq.org/show_bug.cgi?id=32515
Gijs Vermeulen acescopezz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |acescopezz@gmail.com
--- Comment #59 from Gijs Vermeulen acescopezz@gmail.com --- (In reply to Christian Inci from comment #58)
-snip-
Thank you Christian for putting so much work into this. I'll test this with Saints Row 3. So I need the patches from Comment 57 and 58? Or are is the one from 54 also requiered?
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57700|0 |1 is obsolete| |
--- Comment #60 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57776 --> https://bugs.winehq.org/attachment.cgi?id=57776 Cleaner hack for the game cache validation issue. (Your wine prefix needs to be "chmod o+r" to make it work)
#54 is actually a very dirty HACK, which can break many things in unintended ways. I'm not very used to Bugzilla, #58 were my try to remove/changing #54 without needing to upload anything.
Please test #57 and #58, but take the text from #58, or simply try to use #57, and this upload instead of #54 and #58. Which is "https://source.winehq.org/patches/data/132144" minus the unnecessary (for now) testcase patch.
Short said: use #57 and this.
I'd like to add that I can't reproduce the crash, tt_1 is experiencing, but I'm trying to help him get it fixed. (It doesn't look like a Wine issue.) Shogun 2 is working fine for me even without any patches, except for the dismissable "piracy screen" but my patches won't get it away.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #61 from Adam Bolte abolte@systemsaviour.com --- Thanks for your efforts.
With attachment 57770 and attachment 57776 applied to an otherwise clean Wine 2.5 installed on Debian Stretch, I can now run Call of Duty: Modern Warfare 3 and Warhammer 40,000: Space Marine - games I never expected would run. I also tested Saints Row 2 and Saints Row: The Third which also now run fine too.
I did not have to run any chmod commands to get everything going. If it helps, my shell umask is set to 0027. I did have to re-validate Space Marine cache in Steam at one point, but nothing else.
There was some minor graphics corruption in Space Marine, so I tried applying 57770 and 57776 to Wine 2.4 along with the Gallium on Nine patches, and the graphics started rendering correctly (although there was an initial freeze in the main menu which strangely disappeared after hitting Alt+Tab a couple of times). Clearly those are issues unrelated.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #62 from Christian Inci chris.wine@broke-the-inter.net --- Thanks for letting me know.
Please could you retest with only "https://source.winehq.org/patches/data/132374%22?
The game cache validation issue seems unrelated to the game crash issue and the other (now removed) parts of the game crash patch are only needed if some random copy protection will rely on the reserved bits of DR6/DR7 being set when e.g. fiddling around with NtSetContext/NtGetContext. CEG doesn't seem to do that. I just set them because I didn't liked that visual difference in x64dbg.
@AJ, if you read that: Don't you worry about my horrible patches, I'm just trying to replace Jeremy White at the Julliard rank. ;-)
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #63 from Adam Bolte abolte@systemsaviour.com --- Tested the same games with only that small patch against Wine 2.5. Everything ran fine, no problem! Even played MW3 for a few hours without a hitch (aside from the intro cut scene before the main menu being played at about 1 FPS - no big deal).
Congratulations on moving a bunch of games from a garbage rating to gold!
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #64 from Christian Inci chris.wine@broke-the-inter.net --- Thank you very much for letting me know that it works for you. I were really surprised that the solution ended up being that simple.
Have fun gaming!
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #65 from tt_1 herrtimson@yahoo.de --- Has anyone tested Shogun2 with a nvidia card and the official nvidia-drivers? I have an almost instant crash when the menu is showing up and would like to open a seperate bug for this if others can confirm this!?
Amd gpu with amdgpu drivers seem to work, can this be confirmed by an Amd user?
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57770|0 |1 is obsolete| |
--- Comment #66 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57801 --> https://bugs.winehq.org/attachment.cgi?id=57801 Second bugfix for #32515, version n^2
With the Windows API, there are infinite ways of fixing a random bug.
The actual cause of the bug seems to be that a newly created thread shouldn't have any debug registers set.
Please *retest*. Yes, again. :'(
I'm going to lose my sanity if I've to look at more assembler code.
@AJ, if you read this: I hope that this patch will be good enough for you.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #67 from Adam Bolte abolte@systemsaviour.com --- Sorry - I ran into problems with that last patch.
When I ran winecfg (which I always do after changing a Wine release used for a prefix to work around bug #22974) the pop-up took quite a while to appear. Clicking the Drives tab showed the error:
"Failed to connect to the mount manager, the drive configuration cannot be edited."
No drives were listed. The console output (for starting winecfg, clicking Drives and then clicking Cancel) was as follows:
$ winecfg fixme:service:service_control_dispatcher failed to open service L"Winedevice1" fixme:service:scmdatabase_autostart_services Auto-start service L"MountMgr" failed to start: 1053 err:seh:setup_exception_record nested exception on signal stack in thread 0024 eip 7bc80169 esp 7ffc7030 stack 0x752000-0x850000 err:seh:raise_exception Unhandled exception code 80000004 flags 0 addr 0x7bc4cba2 err:service:process_send_command service protocol error - failed to read pipe r = 0 count = 0! fixme:service:scmdatabase_autostart_services Auto-start service L"PlugPlay" failed to start: 1053 fixme:service:service_control_dispatcher failed to open service L"Winedevice2" err:ntdll:RtlpWaitForCriticalSection section 0x110060 "/mnt/gaming/applications/wine/git/dlls/ntdll/heap.c: main process heap section" wait timed out in thread 002c, blocked by 002b, retrying (60 sec) fixme:service:scmdatabase_autostart_services Auto-start service L"WineBus" failed to start: 1053 fixme:iphlpapi:NotifyIpInterfaceChange (family 0, callback 0x6a0cb608, context 0x9387a8, init_notify 0, handle 0x116e7c4): stub fixme:service:service_control_dispatcher failed to open service L"Winedevice3" wine client error:3b: write: Bad file descriptor wine: configuration in '/mnt/gaming/wineprefixes/digital_downloads/steamprefixes/steam-warhammer_40000-space_marine' has been updated. err:winecfg:open_mountmgr failed to open mount manager err 2 $
I didn't test any further.
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57801|0 |1 is obsolete| |
--- Comment #68 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57811 --> https://bugs.winehq.org/attachment.cgi?id=57811 Second bugfix for #32515, version n^3
My idea that recent compilers would zero-initialize local-variables is deeply wrong. Please retest. (Works for me on Wine 2.3 Vanilla)
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #69 from Gijs Vermeulen acescopezz@gmail.com --- (In reply to Christian Inci from comment #68)
Created attachment 57811 [details] Second bugfix for #32515, version n^3
My idea that recent compilers would zero-initialize local-variables is deeply wrong. Please retest. (Works for me on Wine 2.3 Vanilla)
I can confirm this works for me. Saints Row The Third (steam) on macOS 10.10. With plain wine I get the "Completing Installation %1" hang in steam, works with this hack. Saints Row The Third used to crash when trying to start the campaign too, but that's gone as well.
I did not need any other hack/patch than this one.
https://bugs.winehq.org/show_bug.cgi?id=32515
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #70 from winetest@luukku.com --- (In reply to Gijs Vermeulen from comment #69)
(In reply to Christian Inci from comment #68)
Created attachment 57811 [details] Second bugfix for #32515, version n^3
My idea that recent compilers would zero-initialize local-variables is deeply wrong. Please retest. (Works for me on Wine 2.3 Vanilla)
I can confirm this works for me. Saints Row The Third (steam) on macOS 10.10. With plain wine I get the "Completing Installation %1" hang in steam, works with this hack. Saints Row The Third used to crash when trying to start the campaign too, but that's gone as well.
I did not need any other hack/patch than this one.
Could you also respond to bugs bug 42395 and bug 38407 ? We never get bugs closed if people arent more active. It would help a lot. To clean bug database on bugs that arent valid anymore.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #71 from Christian Inci chris.wine@broke-the-inter.net --- Gijs, great to hear. Adam, does it work for you too?
I'm sorry for the blind assumption that people would automatically look somewhere else for a more recent version of the patch. I should've it uploaded here more ealier.
I'll upload the already done v5 of the patch in atmost 24 hours.
https://bugs.winehq.org/show_bug.cgi?id=32515
Jeff Zaroyko jeffz@jeffz.name changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|panayk@gmail.com |
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #72 from Christian Inci chris.wine@broke-the-inter.net --- This patch is dropped from the patch series. I'll look how to achieve the same thing in the wineserver part. There's no need to test it anymore. Thank you very much. :-)
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57811|0 |1 is obsolete| |
--- Comment #73 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57821 --> https://bugs.winehq.org/attachment.cgi?id=57821 Second bugfix for #32515, version n^4
Please retest. Thank you very much in advance!
https://bugs.winehq.org/show_bug.cgi?id=32515
Christian Inci chris.wine@broke-the-inter.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Attachment #57821|0 |1 is obsolete| |
--- Comment #74 from Christian Inci chris.wine@broke-the-inter.net --- Created attachment 57822 --> https://bugs.winehq.org/attachment.cgi?id=57822 Second bugfix for #32515, version n^5
Initializing the debug registers to zero just to be safe. I'm sorry for the noise. Also, please retest.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #75 from Adam Bolte abolte@systemsaviour.com --- (In reply to Christian Inci from comment #74)
Created attachment 57822 [details] Second bugfix for #32515, version n^5
Initializing the debug registers to zero just to be safe. I'm sorry for the noise. Also, please retest.
Just tested this patch against an otherwise clean 2.6. Tested the same four games I tried previously - CoD:MD3, Saints Row 2, Saints Row: The Third and Warhammer 40,000: Space Marine. The all ran fine just as well as the earlier patch - no issues found (except for the unrelated graphics corruption in Space Marine). Looks good!
https://bugs.winehq.org/show_bug.cgi?id=32515
tokktokk fdsfgs@krutt.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fdsfgs@krutt.org
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #76 from Gijs Vermeulen acescopezz@gmail.com --- (In reply to Christian Inci from comment #74)
Created attachment 57822 [details] Second bugfix for #32515, version n^5
Initializing the debug registers to zero just to be safe. I'm sorry for the noise. Also, please retest.
I can also confirm that this patch fixes the Saints Row The Third crash when going in game. (I confirmed that the crash still happens with Wine2.6)
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #77 from winetest@luukku.com --- Is bug 41413 duplicate of this one?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #78 from Christian Inci chris.wine@broke-the-inter.net --- Somehow, yes. This bug actually only describes the first bug with the game cache validation, which is caused by a "improper" DACL. It's a duplicate of the second bug, which is likely there because the debug register cache is being inherited from the parent's debug register cache.
https://bugs.winehq.org/show_bug.cgi?id=32515
Anthony Jagers noonetinone@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |noonetinone@gmail.com
--- Comment #79 from Anthony Jagers noonetinone@gmail.com --- Am I correct that I will have to apple 'Christian Inci's patch? That it hasn't been merge into staging yet?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #80 from Christian Inci chris.wine@broke-the-inter.net --- You'll need to apply this patch "https://bugs.winehq.org/attachment.cgi?id=57822" in order to (hack)fix the second bug. (the crash) Afaik my patches for this bug aren't being included anywhere. They're highly experimental and need much much more testing.
https://bugs.winehq.org/show_bug.cgi?id=32515
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #81 from fjfrackiewicz@gmail.com --- (In reply to Christian Inci from comment #80)
You'll need to apply this patch "https://bugs.winehq.org/attachment.cgi?id=57822" in order to (hack)fix the second bug. (the crash) Afaik my patches for this bug aren't being included anywhere. They're highly experimental and need much much more testing.
If your patches need more testing, why not consider sending them either to Wine-devel or Wine Staging ( https://dev.wine-staging.com/ ) ?
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #82 from Christian Inci chris.wine@broke-the-inter.net --- It's too experimental for staging.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #83 from winetest@luukku.com --- (In reply to Christian Inci from comment #82)
It's too experimental for staging.
You sure?
https://github.com/wine-compholio/wine-staging/commit/1447b56eebada42cc720a8...
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #84 from Christian Inci chris.wine@broke-the-inter.net ---
What the heck? I'm not that sure anymore. Where did the comment about the debug registers came from? Did they tested it too? I only sent my test results to Julliard, which were the same (except with 2.6.28). (I've tested it with Linux 2.6.28, 4.10.x, MacOS 10.10, 10.12, FreeBSD 11)
Julliard wrote to me, that the set_thread_context call will slow down thread creation. I guess that it's preferred to fix it at the kernel instead of calling that function everytime and the cached values shouldn't be inherited if the actual values won't be either. Calling this function isn't required for this specific bug, as Valve's CEG will only check the cached debug registers instead of the actual values/registers for some reason, but it's there for consistency. I don't know if it's the correct behaviour to clear the debug registers or if it's even specified to do it, but only Microsoft and Apple are doing it (maybe even correctly) and I hate them for that.
Anyway, many thanks to the staging team for merging, cleaning and fixing up my patches.
https://bugs.winehq.org/show_bug.cgi?id=32515
Michael Müller michael@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |michael@fds-team.de
--- Comment #85 from Michael Müller michael@fds-team.de --- Yes, I have tested it on all three platforms my self. For more information: https://dev.wine-staging.com/patches/105/
It could be a bug in the Linux Kernel. The breakpoints are explicitly cleared in [1], but the dr6/dr7 registers [2] are copied as part of the memcpy in [3]->[4]->[5]. Anyway, this does not really matter from my point of view. Even if this is considered as a bug and gets fixed today, it would take a long time till every one uses a recent enough kernel. On FreeBSD the behavior of copying all registers might even be intentional. After all, this is a design decision of the operating system and there is no right or wrong solution. So, we might need this code anyway, even if it has a small effect on the performance, unless AJ would like to keep this bug (i.e. the wrong register values) unfixed. We could add an #ifndef __APPLE__ though, if the behavior is consistent across all OS X versions.
[1] http://elixir.free-electrons.com/linux/latest/source/arch/x86/kernel/process... [2] http://elixir.free-electrons.com/linux/latest/source/arch/x86/include/asm/pr... [3] http://elixir.free-electrons.com/linux/latest/source/kernel/fork.c#L1551 [4] http://elixir.free-electrons.com/linux/latest/source/kernel/fork.c#L505 [5] http://elixir.free-electrons.com/linux/latest/source/arch/x86/kernel/process...
https://bugs.winehq.org/show_bug.cgi?id=32515
Matteo Bruni matteo.mystral@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |secondroms@gmail.com
--- Comment #86 from Matteo Bruni matteo.mystral@gmail.com --- *** Bug 38407 has been marked as a duplicate of this bug. ***
https://bugs.winehq.org/show_bug.cgi?id=32515
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED
--- Comment #87 from Alexandre Julliard julliard@winehq.org --- It should be fixed now, please retest.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #88 from Christian Inci chris.wine@broke-the-inter.net --- (In reply to Alexandre Julliard from comment #87)
It should be fixed now, please retest.
It works for CoD MW 3. Tested on today's git master without staging on Gentoo Unstable AMD64 Multilib. What's about the game cache validation issue, which occurs because Steam thinks that neither of the groups Users and Authenticated Users are allowed to read some directories?
Many thanks to all of you for testing and improving my patches. Thank you very much Alexandre for fixing it on vanilla Wine.
https://bugs.winehq.org/show_bug.cgi?id=32515
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|1 |0 Resolution|FIXED |--- Status|RESOLVED |UNCONFIRMED
--- Comment #89 from Sebastian Lackner sebastian@fds-team.de --- (In reply to Alexandre Julliard from comment #87)
It should be fixed now, please retest.
This bug is about the game cache validation issue, and not really fixed yet (at least for me). I assume you wanted to close bug 38322, which is about zeroing of debug registers.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #90 from Alexandre Julliard julliard@winehq.org --- (In reply to Sebastian Lackner from comment #89)
(In reply to Alexandre Julliard from comment #87)
It should be fixed now, please retest.
This bug is about the game cache validation issue, and not really fixed yet (at least for me). I assume you wanted to close bug 38322, which is about zeroing of debug registers.
Yes that's better, thanks.
https://bugs.winehq.org/show_bug.cgi?id=32515
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sa@whiz.se
--- Comment #91 from Sven Arvidsson sa@whiz.se --- The game Mafia II still seems to suffer from this.
Launching the game with Wine 3.0 simply stops with this message from Steam:
"The Steam servers are too busy to handle your request for Mafia II. Error Code (2)"
and this terminal output:
fixme:gameux:GameExplorerImpl_VerifyAccess (0xacc6148, L"Z:\home\sa\Media\Games\SteamWin2\steamapps\common\Mafia II\pc\GamesExplorerGDF.dll", 0x33de08)
The game will start with 2.21-staging. But exits (AFAICT it doesn't crash) when loading Chapter 2, or the DLC campaigns (with the exception of Jimmy's Vendetta).
The version of the game that doesn't require Steam works quite well with both Wine releases tested.
Let me know if I should file a separate bug for this.
https://bugs.winehq.org/show_bug.cgi?id=32515
mirh mirh@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mirh@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=32515
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=32515
mrniex@protonmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrniex@protonmail.com
--- Comment #92 from mrniex@protonmail.com --- Warhammer 40.000: Space Marine still doesn't work on Steam. I don't know if this is the same bug, but I didn't want to open duplicates, it sounds like it's a case of this. Attached the terminal output.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #93 from mrniex@protonmail.com --- Created attachment 62543 --> https://bugs.winehq.org/attachment.cgi?id=62543 W40K:Space Marine Steam version log output
https://bugs.winehq.org/show_bug.cgi?id=32515
pattietreutel katyaberezyaka@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |katyaberezyaka@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=32515
maniikarabera@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |maniikarabera@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=32515
Erich E. Hoover erich.e.hoover@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |erich.e.hoover@gmail.com
--- Comment #94 from Erich E. Hoover erich.e.hoover@gmail.com --- (In reply to Christian Inci from comment #60)
Created attachment 57776 [details] Cleaner hack for the game cache validation issue. (Your wine prefix needs to be "chmod o+r" to make it work) ...
I just stumbled upon this, I'm curious if you've established which files/folders need the builtin users SID and whether or not the application is happy if it gets both the world SID and the builtin one.
https://bugs.winehq.org/show_bug.cgi?id=32515
--- Comment #95 from mirh mirh@protonmail.ch --- Bug 46472 is fixed now, and it should cover all the debug registers woes. Even though I'm not 100% sure all the proton ntdll work found its way back upstream yet, can anybody retest on 6.21+?
https://bugs.winehq.org/show_bug.cgi?id=32515
Neko-san nekoNexus@protonmail.ch changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |nekoNexus@protonmail.ch
https://bugs.winehq.org/show_bug.cgi?id=32515
soredake broaden_acid002@simplelogin.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|broaden_acid002@simplelogin | |.com |
https://bugs.winehq.org/show_bug.cgi?id=32515
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
--- Comment #96 from Fabian Maurer dark.shadow4@web.de --- Any news?