https://bugs.winehq.org/show_bug.cgi?id=41951
Bug ID: 41951 Summary: Unimplemented function bcrypt.dll.BCryptDuplicateHash prevents DOOM from running Product: Wine Version: 1.9.24 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: bcrypt Assignee: wine-bugs@winehq.org Reporter: strider@strycore.com Distribution: ---
Created attachment 56337 --> https://bugs.winehq.org/attachment.cgi?id=56337 Wine output with +bcrypt
With the recent removal of Denuvo in DOOM, we are closer to having a working game but some features are still missing.
Aside form bug #40418, the call to bcrypt.dll.BCryptDuplicateHash seems to crash the game.
I'm attaching a log from Wine 1.9.24 running with WINEDEBUG="+bcrypt" and a crash report from the game itself.
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #1 from Mathieu Comandon strider@strycore.com --- Created attachment 56338 --> https://bugs.winehq.org/attachment.cgi?id=56338 Crash report produced by DOOM itself
https://bugs.winehq.org/show_bug.cgi?id=41951
Adam Bolte abolte@systemsaviour.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |abolte@systemsaviour.com
https://bugs.winehq.org/show_bug.cgi?id=41951
thesaxophonist@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |thesaxophonist@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Luke Bratch luke@bratch.co.uk changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |luke@bratch.co.uk
https://bugs.winehq.org/show_bug.cgi?id=41951
David Gámiz Jiménez david.gamiz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |david.gamiz@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
kaito.linux@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |kaito.linux@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Nguyen Thai Ngoc Duy pclouds@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pclouds@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Bruno Jesus 00cpxxx@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Blocks| |40418
https://bugs.winehq.org/show_bug.cgi?id=41951
david@tpflug.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |david@tpflug.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Matthew Krafczyk krafczyk.matthew@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |krafczyk.matthew@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Anton Romanov theli.ua@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |theli.ua@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Johannes Brandstätter jbrandst@2ds.eu changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jbrandst@2ds.eu
--- Comment #2 from Johannes Brandstätter jbrandst@2ds.eu --- Created attachment 56346 --> https://bugs.winehq.org/attachment.cgi?id=56346 Log of DOOMx64.exe with the missing methods.
I hacked away at the issue but sadly just now found out about the patch for AES support that Hans Leidekker already provided in another bug.
Anyway was a fun exercise.
So it may really just be up to the duplicate hash method to get it running.
For what it's worth I attached the log with +bcrypt and all missing methods at least as stubs.
The output from the game's console changed as well:
FATAL ERROR: Loading unverified resource. Verify files with Steam or set 'devMode_enable' to allow unverified resources: index file C:\Program Files (x86)\Steam\steamapps\common\DOOM\base\gameresources.index Set cvar 'devMode_enable' to enable Dev Mode.
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #3 from Mathieu Comandon strider@strycore.com --- Someone suggested trying out setting bcrypt.dll to native. I have tried that and bcrypt fails to initialize but that's maybe because I'm using the wrong version of the dll. Specifically, I'm looking for a proper dll from Windows 7 64bit.
@Johannes have you tried the 'devMode_enable' option as stated in the error message? Setting this will disable multiplayer and taint any existing save games but getting the game to launch would be a start.
You can try setting it in $WINEPREFIX/drive_c/users/[username]/Saved Games/id Software/DOOM/base/DOOMConfig.cfg
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #4 from Johannes Brandstätter jbrandst@2ds.eu --- Yes, I tried setting it, but via adding "+cvar devMode_enable" on the command line.
It only tried to show a confirmation dialog which was completely black. I clicked randomly on the black surface, as well as pressing Enter and so on... but nothing happened.
https://bugs.winehq.org/show_bug.cgi?id=41951
Mike Ellery mellery@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mellery@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
Sven Arvidsson sa@whiz.se changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |sa@whiz.se
https://bugs.winehq.org/show_bug.cgi?id=41951
Wylda wylda@volny.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |wylda@volny.cz
https://bugs.winehq.org/show_bug.cgi?id=41951
C0rn3j spleefer90@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |spleefer90@gmail.com
--- Comment #5 from C0rn3j spleefer90@gmail.com --- Someone supposedly hacked around this and made the game run(although with missing labels), they said they'll release the code after a nap.
No code yet - "git and links will be tomorrow."
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #6 from C0rn3j spleefer90@gmail.com --- Someone supposedly hacked around this and made the game run(although with missing labels), they said they'll release the code after a nap.
No code yet - "git and links will be tomorrow."
http://steamcommunity.com/app/379720/discussions/0/152391995402132325/
https://bugs.winehq.org/show_bug.cgi?id=41951
Jordyn quietraccoon@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |quietraccoon@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #7 from C0rn3j spleefer90@gmail.com --- The source is out, it's a big hack ^^
https://github.com/thevoidnn/wine20-bcrypt-doom
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #8 from Anton Romanov theli.ua@gmail.com ---
it's a big hack
Well, yeah. As gnutls doesn't have any way to duplicate state there is no clear way to avoid hacks.
https://bugs.winehq.org/show_bug.cgi?id=41951
Ivan Epifanov isage.dna@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |isage.dna@gmail.com
--- Comment #9 from Ivan Epifanov isage.dna@gmail.com --- Hello. I rewrote bcrypt using libgcrypt https://github.com/isage/wine-doom Saving/loading works too, but still needs proper binary-safe padding implementation for Encrypt/Decrypt.
https://bugs.winehq.org/show_bug.cgi?id=41951
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |STAGED CC| |dmitry@baikal.ru, | |erich.e.hoover@wine-staging | |.com, michael@fds-team.de, | |sebastian@fds-team.de Staged patchset| |https://github.com/wine-com | |pholio/wine-staging/tree/ma | |ster/patches/bcrypt-Improve | |ments
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #10 from Ivan Epifanov isage.dna@gmail.com --- Two users confirmed that with latest wine-staging game works properly. Thank you!
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #11 from Matthew Krafczyk krafczyk.matthew@gmail.com --- I can also confirm that the game seems to be working properly. I only tested single player.
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #12 from Adam Bolte abolte@systemsaviour.com --- I was unable to get multiplayer loading at all, even with staging rc2. I attempted to load it maybe 5 times. Clicking the multiplayer button from the main menu results in the game attempting to restart, which always crashes for me.
Once the game crashes during loading, it always seems to crash during loading until I exit Steam and run `wineserver -k` before trying again.
The game also seems to fail to shutdown cleanly a lot of the time (maybe 2 times out of 3), and the DOOM exe process has to be killed off manually.
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #13 from C0rn3j spleefer90@gmail.com --- Created attachment 56557 --> https://bugs.winehq.org/attachment.cgi?id=56557 Doom trying to connect to MP match
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #14 from C0rn3j spleefer90@gmail.com --- Actually clicking on Multiplayer tries to restart the game, which hangs for good 5-10 minutes and then launches fine.
After that I can queue up with people but it never connects and throws me back into the menu, presumably because of unimplemented things in bcrypt which are in the log I attached.
https://bugs.winehq.org/show_bug.cgi?id=41951
dylanmc pinturiano@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pinturiano@gmail.com
--- Comment #15 from dylanmc pinturiano@gmail.com --- With Playonlinux, Doom updated without denuvo, wine 2.0-rc2-staging AMD64 the game started and works, now I have only to test gameplay :)
https://bugs.winehq.org/show_bug.cgi?id=41951
--- Comment #16 from Sebastian Lackner sebastian@fds-team.de --- (In reply to C0rn3j from comment #14)
After that I can queue up with people but it never connects and throws me back into the menu, presumably because of unimplemented things in bcrypt which are in the log I attached.
This issue should be fixed in Wine Staging 2.0-rc3 when using a GnuTLS version
= 3.0. As it turned out, multiplayer requires additional bcrypt functionality
(AES-GCM support to be precise). Please note that it is preferred to have each issue in a separate bug report, so if you notice any other issues, please open a new bug report for it.
https://bugs.winehq.org/show_bug.cgi?id=41951
fjfrackiewicz@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |fjfrackiewicz@gmail.com
--- Comment #17 from fjfrackiewicz@gmail.com --- Looks like this function is implemented now:
https://source.winehq.org/git/wine.git/commit/da8853f06226f97e2486066b45785b...
https://bugs.winehq.org/show_bug.cgi?id=41951
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|STAGED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |da8853f06226f97e2486066b457 | |85be7894afca2
--- Comment #18 from Sebastian Lackner sebastian@fds-team.de --- (In reply to fjfrackiewicz from comment #17)
Looks like this function is implemented now:
https://source.winehq.org/git/wine.git/commit/ da8853f06226f97e2486066b45785be7894afca2
Yes, this particular issue is fixed (probably not sufficient for DOOM, though).
https://bugs.winehq.org/show_bug.cgi?id=41951
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #19 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 2.4.
https://bugs.winehq.org/show_bug.cgi?id=41951
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |2.0.x
https://bugs.winehq.org/show_bug.cgi?id=41951
Michael Stefaniuc mstefani@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|2.0.x |--- CC| |mstefani@winehq.org
--- Comment #20 from Michael Stefaniuc mstefani@winehq.org --- Removing the 2.0.x Target Milestone as this is not enough for Doom 4. The other 10 patches in Devel as well as the 27 patches from Staging are needed too.