Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Halo: The Master Chief Collection (976730)

Open trymeouteh opened this issue 4 years ago • 734 comments

Compatibility Report

  • Name of the game with compatibility issues: Halo: The Master Chief Collection
  • Steam AppID of the game: 976730

System Information

  • GPU:
  • Driver/LLVM version:
  • Kernel version:
  • Link to full system information report as Gist:
  • Proton version:

I confirm:

  • [ ] that I haven't found an existing compatibility report for this game.

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/

trymeouteh avatar Jul 24 '19 19:07 trymeouteh

I can also confirm that the issue is that Microsoft login prompt doesn show up.

warriormaster12 avatar Jul 24 '19 20:07 warriormaster12

Hello @warriormaster12, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

kisak-valve avatar Jul 24 '19 20:07 kisak-valve

Dug into the latest Flighting build. Notes:

  • EAC binaries in the root folder
  • Appears to use UE4's Chromium support?!
  • Audio is FMOD-based EDIT: Still references XAudio2, fsbs are just l18n...
  • Movies appear to be Bink2 this time around (previously it was WMA)

The game boots but fails to prep Xbox Live, so not much has changed.

steam-1064280.log

flibitijibibo avatar Aug 24 '19 17:08 flibitijibibo

Also tried, goes to the menu screen but get error when trying to proceed further.

d10sfan avatar Aug 24 '19 18:08 d10sfan

+1 comments don't extend the discussion. Just use thumbs up.

I've tried adding win10 and dxvk to no avail, maybe dependant on some gfwl libs?

elken avatar Aug 24 '19 19:08 elken

I do not have the beta but I heard this game is supported for Windows 7. Maybe try setting the wine config to Windows 7 to get the Xbox Live part to work?

trymeouteh avatar Aug 24 '19 20:08 trymeouteh

I do not have the beta but I heard this game is supported for Windows 7. Maybe try setting the wine config to Windows 7 to get the Xbox Live part to work?

It looks like the default is Windows 7 from what I saw in winecfg. I attempted to set to Windows 10 and got the same result.

Like you said, since the game is supposed to work under Windows 7, it seems it would have the necessary pieces to login to Xbox Live in the actual game, but not sure.

Maybe there's something wrong with the loading of CEF itself to show the login window. Are there any necessary manually installed libraries for the webview to work for other games/tools?

d10sfan avatar Aug 24 '19 20:08 d10sfan

CEF by design is pretty much 100% standalone, though lots of files get involved even in a minimal package. Where things get bad, in my experience, is the Chromium subprocesses. I have zero evidence that it’s relevant here.

flibitijibibo avatar Aug 24 '19 20:08 flibitijibibo

Apparently I’m insanely far behind on my MCC news. The core UI engine is actually UE4 now! So it’s UE4 at the base with each game’s original engine running on top. This is likely because Scaleform’s dead, so they had to move to something...

If there exists a UE4 CEF demo app, that might be a good thing to test with upstream Wine.

flibitijibibo avatar Aug 24 '19 22:08 flibitijibibo

It's possible they are using the ue4 web browser (https://docs.unrealengine.com/en-US/Engine/UMG/UserGuide/WidgetTypeReference/WebBrowser/index.html), unless they did their own implementation of the cef integration.

It could also be useful to try cef by itself. From what I remember these packages have example cef browsers that could be useful for determining compatibility: http://opensource.spotify.com/cefbuilds/index.html

I saw that a while back people were recommending using wine staging patches for cef to work properly in wine, not sure if that's still the case

d10sfan avatar Aug 24 '19 23:08 d10sfan

As an experiment, I took the Windows 64-bit sample app from cefbuilds and ran it on the following:

  • wine-4.13 - webview portion blank
  • Proton 4.11 - webview portion blank
  • Proton-GE 4.14 - webview loads, trying to go anywhere but google redirects back, may be limitation of sample app
  • Proton-tgk 4.12 - webview loads, trying to go anywhere but google redirects back, may be limitation of sample app

The last two proton forks look to provide the wine staging patches, with some of them probably helping with getting CEF to work. I tried MCC with Proton-GE 4.14, and got a different result, where pressing enter caused a "Fatal Error" popup to occur. I've attached the logs below, it may be getting a bit closer: steam-1064280.log

d10sfan avatar Aug 25 '19 00:08 d10sfan

This issue is for Halo: The Master Chief Collection - INSIDER, app id 1064280 and should probably be updated to keep pre-release issues separate from release issues.

craftycodie avatar Aug 25 '19 11:08 craftycodie

There does appear to be a lot of OutputDebugString calls for HttpClient, with the addresses and functions lining up with this library here:

https://github.com/microsoft/libHttpClient

Kind of makes me wonder what the CEF part is all about if the Xbox Live sign-in is going through this instead.

flibitijibibo avatar Aug 26 '19 13:08 flibitijibibo

https://www.protondb.com/app/976730

It will appear that this game uses EasyAntiCheat. I hope Anti Cheat can be worked around in the near future.

trymeouteh avatar Oct 13 '19 03:10 trymeouteh

steam-1064280.log

Here's another log. Same issue, Error signing into XBox Live. Sign in dialogue doesn't show. Also don't seem to hear any sound in the menus and during the logo animations.

Kylindrias avatar Nov 01 '19 08:11 Kylindrias

Log from the Flight 3 build:

steam-1064280.log.zip

Audio seems fine here, as are all the videos now that they're on Bink2. The base engine appears to use standard UE4 audio through XAudio2, but Reach's audio is stored as FMOD Studio banks and the FMOD library is statically linked into the game DLL. Logging in still doesn't work, still seems to be HttpClient compatibility issues.

flibitijibibo avatar Nov 13 '19 16:11 flibitijibibo

Steam release, running the EAC-disabled version I get stuck at the xbox live login screen.

Log below.

steam-976730.log

solenum avatar Dec 03 '19 18:12 solenum

Tried the release version with 4.11 with an updated bcrypt+winhttp, didn't get past login. Noticing that it hits a stub for WSALookupServiceBeginW.

steam-976730.log

flibitijibibo avatar Dec 03 '19 18:12 flibitijibibo

Stuck on connecting to xbox live.

KDE neon User Edition 5.17 5.0.0-37 kernel

steam-976730.log

jerebare avatar Dec 03 '19 18:12 jerebare

So I launched the game, got a dialog box: one with anti cheat and one without. When trying the without anti cheat option I have the same issue with the xbox live login.

Here is my steam log steam-976730.log

KeithSantamaria avatar Dec 03 '19 18:12 KeithSantamaria

Game launches but doesn't manage to get to the login, "Errors encountered while signing into Xbox Live"

Running the game without EAC: steam-976730.log

dennis1248 avatar Dec 03 '19 18:12 dennis1248

i have the same issue as everybody else it seems. gets to title screen, but cannot proceed because of an Xbox Live error. steam-976730.log

i believe this is the error causing the xbox live issue. ERROR:network_change_notifier_win.cc(156)] WSALookupServiceBegin failed with: 8

mathew2214 avatar Dec 03 '19 19:12 mathew2214

The game is launching but couldn't signing into Xbox Live

steam-976730.log

Screenshot from 2019-12-04 00-16-04

NTMan avatar Dec 03 '19 19:12 NTMan

i have the same error can't sign in steam-976730.log

Manjaro Nvidia

McMarius11 avatar Dec 03 '19 19:12 McMarius11

Does the following line indicate an issue: fixme:bcrypt:key_asymmetric_generate algorithm 11 not supported ? Wine spews it each time I try to hit 'Retry'. P. S. 11 corresponds to the ALG_ID_ECDSA_P256 enumeration value.

ltodoto avatar Dec 03 '19 19:12 ltodoto

looks like an issue with wine's bcrypt and winhttp implementations. is there a way to force Proton to use a newer version of wine instead of the default 4.11? there have been a number of commits to wine that relate to bcrypt since 4.11.

mathew2214 avatar Dec 03 '19 20:12 mathew2214

@mathew2214 It doesn't work on a recent wine staging with windows steam either, I'm taking a look at fixing this.

Guy1524 avatar Dec 03 '19 20:12 Guy1524

This game is pretty broken even on Windows. As in I've been troubleshooting all day and can't get the damn thing to get past that sign in error even on an actual Windows 10 Pro installation.

It's ironic that at this rate, the Linux community might get it working in Linux before it's even functional for most people on Windows.

Xeraster avatar Dec 03 '19 21:12 Xeraster

Update: I've refactored bcrypt's key_asymmetric_sign to use pgnutls_privkey_sign_hash2 and handle more hash/sign algorithms.

However, Halo passes in 0 for flags, meaning we have no way to tell gnutls what hashing algorithm generated the data.

This case isn't documented by the MSDN, and a quick test of it yields STATUS_INVALID_PARAMETER on Windows 10 with the RSA signing algorithm. Maybe there is a special case for the ECDSA signing algorithm.

I can confirm that Halo passing in 0 is not a bug triggered by wine, as disassembling Halo reveals it unconditionally passes in 0.

I'll look further tomorrow.

Guy1524 avatar Dec 03 '19 22:12 Guy1524

Apparently, lines related to bcrypt library are not so important. I've just tried a quick patch with private key signature generation implemented for ECDSA algos, and the error still occurs. P. S. Spoke too soon, it looks like I was wasting my time with it...

ltodoto avatar Dec 03 '19 23:12 ltodoto