DOOM
DOOM > General Discussions > Topic Details
ENABLE^ Dec 14, 2016 @ 7:51pm
[LINUX, WINE] DOOM (closed)
20 hours of coding and DOOM IS FINALY ON LINUX!

i7 2600k
HD 7870
8 GB RAM

Arch Linux
linux-mainline 4.9.0
catalyst (fglrx) from mirror.hactar.xyz/Vi0L0/catalyst/$arch (see AUR)

( mesa-git won't work [at least on 7870] because DOOM requires OpenGL 4.3 Compatibility Profile )

WINE 2.0 with patched bCrypt dll


http://steamcommunity.com/sharedfiles/filedetails/?id=818511168

i will upload WINE patch and instructions to github soon

looks good
http://steamcommunity.com/sharedfiles/filedetails/?id=818531485

but still some bugs...
http://steamcommunity.com/sharedfiles/filedetails/?id=818531783

the only functions to implement:
http://steamcommunity.com/sharedfiles/filedetails/?id=818534991

Since lib gnutls has no way to copy HASH/HMAC hashing machine state in the middle of feeding it with data, i had to implement some mad algo to allow the correct execution of BCryptDuplicateHash..

but, since it's just a proof of work, the next thing i (or anyone who's going to try it) should do - change the crypto implementation from libgnutls to something more friendly with hash duplicating on the fly...

sorry guys, going to sleep now, kinda tired of staring at it for 24 hours..

git and links will be tomorrow.

http://steamcommunity.com/sharedfiles/filedetails/?id=818549059
http://steamcommunity.com/sharedfiles/filedetails/?id=818549343
http://steamcommunity.com/sharedfiles/filedetails/?id=819016001

http://steamcommunity.com/sharedfiles/filedetails/?id=819016345

UPD:
fixed the strings bug (was my bad, didn't provided the game with amount of decrypted bytes, so it though it decrypted 0 bytes of content)

but this created a new issue: game now crashes because of, as i think, a race condition in winhttp module, because it's trying to connect to id/bethesda servers.
plus it's reporting fatal error: memory currupted (before the actual race conditing happens)
// bypassed the crash using 127.0.0.1 as server IPs in /etc/hosts

// tech info: the hostname resolver (resolve_hostname function) is started as a new thread, it's a common practice so the main thread won't hang, but i'm not sure why this all is crashing.

so, now i'm asking you guys: is there any C/C++ coder who's interested in launching this on linux and can at least understand pointers? ;)

maybe someone would like to help me with this..
add me in steam and/or skype: (don't want spam bots, so its a base64 encoded):
dGhldm9pZG5u

UPD:
git repo:
https://github.com/thevoidnn/wine20-bcrypt-doom

UPD:
updated the README on github.

Current progress:

Shortly after loading the game is going online to obtain auth tickets from services.bethesda.net and intialize your saved profiles. At this point it will hang on the red screen (still trying to figure out why it's doing so). The only way to prevent it from hanging is to disallow the game to initialize the auth ticket and stuff. Which means:

* settings won't save between game restarts
* no save games (checkpoints are okay while the game is still running)
* no multiplayer

To prevent it from hanging you can block services.bethesda.net

UPD:
irc chat:
https://webchat.freenode.net/
#doom-wine

UPD:
if you want to try vulkan, you have to use wine-staging instead of wine-2.0:
https://github.com/wine-compholio/wine-patched

UPD:
with latest wine patches everything should work fine.
you don't need my workaround anymore, just get the latest wine-staging and enjoy!


// unsubscribing from thread before trolls flood it :D
may the --force be with -Syu
Last edited by ENABLE^; Dec 26, 2016 @ 2:13pm
< >
Showing 1-15 of 112 comments
Hohoo what about performance ?
Prophet Dec 14, 2016 @ 8:15pm 
Silly Dev
This may be fake but the latest Wine made huge progress, it won't suprise me if this becomes real in short time ;)
ENABLE^ Dec 14, 2016 @ 9:33pm 
Originally posted by LINUX facePlanted:
Hohoo what about performance ?
I never tested it on Windows with this hardware, so nothing to compare with.

for now - I've noticed some fps drops in large areas.

btw i saw wine has implemented Vulkan api, but i cannot test it because my hardware has no vulkan support yet :( but that should add some more fps (see Windows tests)
tusy-x Dec 14, 2016 @ 9:33pm 
You are really cool! Turn on debug info in Doom options.. FPS, etc..
Snake Plissken Dec 14, 2016 @ 9:36pm 
One man's hard work paves for others to enjoy

:D
ENABLE^ Dec 14, 2016 @ 10:03pm 
Originally posted by tusy-x:
You are really cool! Turn on debug info in Doom options.. FPS, etc..
attached some fps pics
Te3-BloodyIron Dec 14, 2016 @ 10:35pm 
FUQ YEAH!
novatiny Dec 14, 2016 @ 11:13pm 
You are hero! I will try it later
Kaptain KOS Dec 15, 2016 @ 3:03am 
omfg I just had the most amazing nerdgasm reading that!
JackInTheBoxX Dec 15, 2016 @ 3:35am 
You are my hero! I guess I have a reason to buy Doom now.
Wurfenking Dec 15, 2016 @ 4:12am 
Originally posted by ENABLE^:
Originally posted by LINUX facePlanted:
Hohoo what about performance ?
I never tested it on Windows with this hardware, so nothing to compare with.

for now - I've noticed some fps drops in large areas.

btw i saw wine has implemented Vulkan api, but i cannot test it because my hardware has no vulkan support yet :( but that should add some more fps (see Windows tests)
Are the specs listed in your post not your hardware? Cause HD 7k has Vulkan support.
🅱🅾🆁🅶 Dec 15, 2016 @ 4:15am 
Hmm performance don't look to good though. You'r screenshots really low FPS in areas which are the least demanding!

is it just your hardware?
Last edited by 🅱🅾🆁🅶; Dec 15, 2016 @ 4:16am
war4head Dec 15, 2016 @ 4:20am 
Cool !!! Please give link for testing ....
I don't even have Linux, and nor do i know how an alcoholic beverage can help run a game on the system, but congrats on the feat!

Is this all possible due to the removal of the anti-tamper Denuvo, or is it merely a coincidence that it came shortly after?
< >
Showing 1-15 of 112 comments
Per page: 15 30 50

DOOM > General Discussions > Topic Details
Date Posted: Dec 14, 2016 @ 7:51pm
Posts: 113