ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.63k stars 1.07k forks source link

Halo: The Master Chief Collection (976730) #2907

Open trymeouteh opened 5 years ago

trymeouteh commented 5 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Game will not launch

Reproduction

  1. Start Game 2.Will not show Microsoft Login Prompt

Notes

I do not have this game but I got the details of this issue from this reddit post.

https://www.reddit.com/r/linux_gaming/comments/c6xh55/halo_reach_through_proton/

mathew2214 commented 4 years ago

@hilts-vaughan if my build ever finishes, then yes.

hilts-vaughan commented 4 years ago

:laughing: Sounds good. I should have spun up a nice 64 core machine on a GCE instance or something. ;)

thebozzcl commented 4 years ago

We need a Discord channel or something.

d10sfan commented 4 years ago

It worked for me just now with the build I made. It seems (at least from my attempts) that enabling the logging makes it worse. Not sure why that'd be, but I crashes 5 times in a row with logging on. Turned it off, and after seeing the can't connect message popup a few times, it was able to login.

[edit] After doing it again, it got the fatal error with logging off, so it seems it's just luck of the draw.

CuriousTommy commented 4 years ago

@LukasRuppert I was wondering, does the game send any data back to Microsoft when you do the login?

I am worried if this patch would send any weird or invalid responses back to Microsoft's servers. I don't want Microsoft to ban Linux users from being able to (or at least attempt to) login because of how this patch works.

GloriousEggroll commented 4 years ago

@CuriousTommy you run that risk no matter what game you run in proton/steam play/wine as you are ultimately running it on software it was not intended for, on a platform it was not intended for. It is up to the discretion of the company that makes the game to decide if a ban is given whether or not it's valid, however they are not entitled to give you a free pass for running the game on an unsupported platform.

That being said, you are probably safer running the no anti-cheat version, but I can't guarantee that and neither can anyone else but Microsoft.

Gman0064 commented 4 years ago

Having trouble using the proton build that @hilts-vaughan provided. Can't get passed the login and hitting retry a couple of times doesn't seem to amount to anything. Same outcome from building my own copy of Proton GE as well.

Distro: Manjaro 18.1.3 Kernel: 5.3.12 Proton Runner: Proton-4.21-GE-1-MCC

hilts-vaughan commented 4 years ago

That build is bad. Something didn't go right. :) I'll try again.

Skivet commented 4 years ago

My build is finishing up, I'll post it here once I verify it is functional.

thebozzcl commented 4 years ago

lol I was about to ask about that, @hilts-vaughan . So I guess my build worked. I'll upload it if I can confirm it works.

hilts-vaughan commented 4 years ago

For those following the above: from the README -- you need to make sure you actually applied the patch: game-patches-testing/proton-prep.sh

Skivet commented 4 years ago

and remember to include the --recurse-submodules flag when cloning the repo

cybik commented 4 years ago

@hilts-vaughan unfortunately your build doesn't look like it's letting me in there even after spamming the retry button like a madman.

edit: ah. makes sense now.

thebozzcl commented 4 years ago

I managed to get to the login pop-up using this build: (EDIT: lol nvm)

Can't get past that yet, maybe somebody else will have better luck?

Skivet commented 4 years ago

I'm still stuck at the "retry" logging into Xbox Live with my build it seems.

GloriousEggroll commented 4 years ago

https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/4.21-GE-1-MCC

Same as all the others - login is hit or miss but eventually it works.

Skivet commented 4 years ago

How many times did you have to retry?

Gman0064 commented 4 years ago

@rjbozzol I'm able to reach the login for XBL, but once I submit my credentials it can't connect and I have to retry again. Has this happened to you?

thebozzcl commented 4 years ago

@Gman0064 exactly the same thing. I'm trying @GloriousEggroll 's release now.

hilts-vaughan commented 4 years ago

Yeah, my new build I j ust tested as well has the same problem.

I guess -- how many is "eventually"? ;)

thebozzcl commented 4 years ago

I did a quick diff of my build versus GE's and there's a few differences here and there, so it's entirely possible I did something wrong.

Gman0064 commented 4 years ago

Funny thing is that I was able to reset my password for my account in the game, it was only when I submit it that it messes up. I'm assuming this is the "hit or miss" patch on bcrypt?

CuriousTommy commented 4 years ago

@CuriousTommy you run that risk no matter what game you run in proton/steam play/wine as you are ultimately running it on software it was not intended for, on a platform it was not intended for. It is up to the discretion of the company that makes the game to decide if a ban is given whether or not it's valid, however they are not entitled to give you a free pass for running the game on an unsupported platform.

That being said, you are probably safer running the no anti-cheat version, but I can't guarantee that and neither can anyone else but Microsoft.

@GloriousEggroll I don't disagree, but we shouldn't be reckless with our implementation. I don't want to have another dumb ban like the Destiny 2 fiasco.

It's one thing to ban user because of they are using wine/proton. It another thing if the ban was caused by a bad 3rd party patch.

dennis1248 commented 4 years ago

I am having no luck with any of the builds. It pretends it's connecting and after about 10 seconds it gives a "Unreal Engine Fatal Error". I never even get to the login screen.

Gman0064 commented 4 years ago

Tested with @GloriousEggroll's new build. After roughly 4-5 attempts at signing in I'm passed the login screen

vsod99 commented 4 years ago

I am having no luck with any of the builds. It pretends it's connecting and after about 10 seconds it gives a "Unreal Engine Fatal Error". I never even get to the login screen.

What graphics hardware are you running?

LukasRuppert commented 4 years ago

Updated version using gnutls_decode_rs_value: halo_mcc_hack.txt

dennis1248 commented 4 years ago

@vsod99 AMD RX 5700 :smile:

Unsure if it's a graphics issue, the game keeps running in the background until I close the error message.

Skivet commented 4 years ago

@LukasRuppert Thanks for the update! I'll get started on a new build

vsod99 commented 4 years ago

@vsod99 AMD RX 5700 smile Did you make sure to install the correct drivers for use with Proton? See here

dennis1248 commented 4 years ago

@vsod99 Of course. The 5700 is a modern card, only runs on AMDGPU + Mesa with full Vulkan support and all the bells and whistles. Don't confuse it with the 10 year old HD 5000 series.

vsod99 commented 4 years ago

I'm having an interesting issue myself with the current build - my game crashes after the "Xbox Game Studios" intro. Did not have this issue with Proton 4.11-9, other than the obvious lack of a live login box..

@dennis1248 just wanted to make sure to eliminate the obvious

Edit: no longer crashing at the intro, but I am hanging at a black screen with a cursor

thebozzcl commented 4 years ago

@LukasRuppert sweet, I can't try it tonight but I'll check it out tomorrow morning. Did you have any issues logging in with it?

GloriousEggroll commented 4 years ago

@CuriousTommy you run that risk no matter what game you run in proton/steam play/wine as you are ultimately running it on software it was not intended for, on a platform it was not intended for. It is up to the discretion of the company that makes the game to decide if a ban is given whether or not it's valid, however they are not entitled to give you a free pass for running the game on an unsupported platform. That being said, you are probably safer running the no anti-cheat version, but I can't guarantee that and neither can anyone else but Microsoft.

@GloriousEggroll I don't disagree, but we shouldn't be reckless with our implementation. I don't want to have another dumb ban like the Destiny 2 fiasco.

It's one thing to ban user because of they are using wine/proton. It another thing if the ban was caused by a bad 3rd party patch.

There was never a "reckless implementation" with Destiny 2. It was a custom patch that had a very large disclaimer on the bug report stating "don't use this" -and- removed an important callback without replacing it with proper functionality, yet people did anyway.

The same thing applies here - if you don't want to risk a ban, don't use it. It's not provided by Valve, CodeWeavers, Microsoft or any officially involved source currently.

GloriousEggroll commented 4 years ago

@LukasRuppert

../../../../proton/wine/dlls/bcrypt/gnutls.c:1183:13: error: called object 'pgnutls_decode_rs_value' is not a function or function pointer
             pgnutls_decode_rs_value(&signature, &r, &s);
             ^
Skivet commented 4 years ago

typo of "gnutls_decode_rs_value"?

Edit 2: This isn't a typo, just a pointer. Make sure to add MAKE_FUNCPTR(gnutls_decode_rs_value);

and

LOAD_FUNCPTR(gnutls_decode_rs_value);

LukasRuppert commented 4 years ago

@LukasRuppert

../../../../proton/wine/dlls/bcrypt/gnutls.c:1183:13: error: called object 'pgnutls_decode_rs_value' is not a function or function pointer
             pgnutls_decode_rs_value(&signature, &r, &s);
             ^

You need to add

   MAKE_FUNCPTR(gnutls_decode_rs_value);

and

   LOAD_FUNCPTR(gnutls_decode_rs_value);

in gnutls.c which is new in the updated patch.

Otherwise, I had not much time to test it so far. But the one time I did start Halo, the login worked first time.

With the previous one I also started getting login issues (xbox live telling me I was offline).

vsod99 commented 4 years ago

Building with those changes now, no hunk errors in the log, we'll see how it goes!

David-Stanley commented 4 years ago

Hey everybody,

I'm a bit of a dummy, but I've been trying to follow along...

I downloaded the tar from: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/4.21-GE-1-MCC and I extracted and copied it to the compatibility.d folder after creating it. I am able to launch this custom proton on my game.

I am getting same error as dennis1248 with the fail error.

This is probably because I have not copied the halo_mcc_hack.txt into the game fixes folder... Where would this folder be located? Also once I have copied it over, is that all that is left?

Sorry if I'm being dumb/ ignorant. I did try a good google

dennis1248 commented 4 years ago

@David-Stanley You don't need the .txt. The .txt just contains the patch which is already patched in to Proton build you downloaded. When you get that error you did it right. Keep trying, eventually the game will launch like normal and you can login. When you login it will also fail most of the time, keep trying until it works.

I managed to login by just trying over and over. (Just a shame the game is unplayable for me because 5700 drivers..)

David-Stanley commented 4 years ago

@David-Stanley You don't need the .txt. The .txt just contains the patch which is already patched in to Proton build you downloaded. When you get that error you did it right. Keep trying, eventually the game will launch like normal and you can login. When you login it will also fail most of the time, keep trying until it works.

I managed to login by just trying over and over. (Just a shame the game is unplayable for me because 5700 drivers..)

Ok, so I'm meant to get a fatal error? Cool, I'll keep trying. Annoying the game keeps crashing tho, but so excited to play!

I'm lucky I'm using a gtx 970 I guess then

Also thanks for reply!

vsod99 commented 4 years ago

It seems the build was successful, I'm about to test in game but I'll also upload it for all y'all. Not sure if it'll work for me because of aformentioned black screen issue.

Edit: I still get the black screen but I did with the earlier version too. I pushed up a build for anyone to try, see below

aeikum commented 4 years ago

For anyone distributing builds to other users, make redist is the best target for that. You can tarball up the result and hand it off to someone else to unpack into their ~/.steam/steam/compatibilitytools.d/ directory. It'll then appear in Steam as a new Proton build after a restart.

danilw commented 4 years ago

Ok, so I'm meant to get a fatal error?

I had fatal error also, and it easy to fix

fatal error happened becuse old-prefix, I fix it by setting Proton version to Proton 4.2-9(default build in to steam) pressing launch(it will launch to menu) then select that custom 4.21-GE-1-MCC version, and it launch (to menu also)

im still stuck on login, now I have no error, it inf-spinning...update - wow I have login screen https://i.imgur.com/2NwhfV6.png , login prompt popup, still error on login(click like 10 times)

mathew2214 commented 4 years ago

i cant get proton to compile at all with this patch. every attempt i make fails with make: *** [../proton/build/makefile_base.mak:17: nested_make] Error 2 how are you guys working around this to make proton build?

vsod99 commented 4 years ago

Ok, so I'm meant to get a fatal error?

I had fatal error also, and it easy to fix

fatal error happened becuse old-prefix, I fix it by setting Proton version to Proton 4.2-9(default build in to steam) pressing launch(it will launch to menu) then select that custom 4.21-GE-1-MCC version, and it launch (to menu also)

im still stuck on login, now I have no error, it inf-spinning...update - wow I have login screen https://i.imgur.com/2NwhfV6.png , login prompt popup, still error on login(click like 10 times)

Have you tried the newer release? https://github.com/vsod99/mcc_linux_builds/releases

i cant get proton to compile at all with this patch. every attempt i make fails with make: *** [../proton/build/makefile_base.mak:17: nested_make] Error 2 how are you guys working around this to make proton build?

Did you make sure to run ./game-patches-testing/proton-prep.sh &> patchlog.txt and take a look at the output before building?

mathew2214 commented 4 years ago

@vsod99 i did run that script before attempting to compile. i remade my vagrant machine and am trying a clean build now. UPDATE: a clean build makes no difference. i must be misinterpreting the readme file.

danilw commented 4 years ago

Have you tried the newer release?

same, inf spinner, and randomly once per 5-10 restarts I have login popup, login accept data(login/pass) but repeat login again, max I have it "try again" web-button after my profile popup(in that web window)...

McMarius11 commented 4 years ago

i have the same problem as you danilw steam-976730.log spinning and crash with vsod99 build this is with GE's build spinning and crash, if im lucky i type in my login data and get this error "Make sure that you're online, then try again. We can't connect at the moment." steam-976730.log

vsod99 commented 4 years ago

Strange, it seems the updated patch may not be working as intended then.

Any thoughts @LukasRuppert