I will admit I am truly surprised at how quickly people managed to find a way to run Halo: The Master Chief Collection on Linux with Steam Play.
343 Industries included an option to turn off Easy Anti-Cheat, to allow people to play single-player and mess around with modding which was the first thing needed to get it working on Linux. While Easy Anti-Cheat supports Linux, it does not work with Proton/Wine.
Sadly though, there was a major problem right at release—it required a login that didn't work with Proton/Wine. However, user LukasRuppert managed to find a workaround for that and posted it on GitHub (with updates after too). So it only took around 8 hours after launch and someone found a way to play Halo: The Master Chief Collection on Linux, simply amazing.
There's a caveat though, it probably will take multiple tries to login before it gets through. It goes without saying but I will anyway, use this at your own risk.
If you don't fancy messing around with building your own Wine with the linked patches, you don't have too. Proton GE already has a test build up on their GitHub. Download it, extract it and place the contents into:
~/.steam/root/compatibilitytools.d/
Restart Steam and then you will be able to select it by right clicking on the game, going to Properties and at the bottom you will see it:
Actually logging in really can take a while. Sometimes it will give a fatal error and need you to restart it, but eventually it should tell you login failed and allow you to hit retry until it works. Took me a good 5 minutes to get in, and even after that you then need to link up an Xbox Live account which also takes multiple tries (so make sure you have a password ready to copy/paste…).
Eventually though, you get in. After that, you can play the campaign and custom multiplayer modes (no matchmaking due to EAC). Here's a video I took earlier of it running on Manjaro Linux:
Direct Link
If you want all the details shown in the left HUD, use this as a launch command:
DXVK_HUD=full %command%
Performance is actually good, once you get past the usual shader compiling stutter and everything else works as expected. I didn't try messing with any VSync settings, which is why the gameplay is locked to 60FPS. Unless you're a Halo super-fan though, it might be better to wait for a less finicky fix. Hopefully a more complete solution will be worked on and make its way into the official Wine and Proton builds.
This is a great start and it's hard not to appreciate being able to play one of Microsoft's top new PC releases on Linux, that's pretty incredible really. Who would have thought 2-3 years ago, or even 1 year ago that this would be at all possible.
You can find the Halo: The Master Chief Collection on Steam here.
Update 13/12: The latest version of Steam Play Proton adds out of the box support.
Quoting: EhvisIf it's that weak then why can't we just convince the dang thing it's talking to the kernel even though it isn't? Sure, that might not be an ideal solution from the game developers' point of view, but hey, if they don't like it they can make Linux versions of their games.Quoting: fagnerlnJust a question, how good is EAC? I know that VAC has a lot of vulnerabilities, and there's cheaters in all valve's games.
It's curious how fast EAC conquested the market, and most of the newer games have it.
It's really "cheater-free"?
I think it's more like a virus scanner. It weeds out the easy to catch stuff. I've heard plenty of reports from cheaters in games that have anti-cheat (any kind). While some reports might be sore losers, I have no doubt there are people with enough time on their hands to beat it. Just like any other cracking, it becomes a sport in itself.
Quoting: XpanderQuoting: EhvisAnyway, never played Halo in my life, so nostalgia for me to worry about.
I only played the first one on PC back in the days and it looked outdated even then and controls were slow and unresponsive, story seemed to be nonexistent and it was really not fun to play.
So yeah no nostalgia for me either.
Rest of the games were mostly on consoles only is what i hear. Since i havent owned a console since the first NES, i havent even heard about the rest of the Halo games lol
The 2nd one was released for PC, but surprise, surprise Vista only. There are(were) patches to make it run on XP and 7, no idea about how well it works for newer Win versions or Wine.
I and a friend would beat the game at least twice in each difficulty in some sort of speed running craze.
IF they add offline split screen they may ignite my nostalgia flame, otherwise i am on the same boat as you, plus i know even without checking they won't.
Last edited by rkfg on 5 December 2019 at 10:16 am UTC
Quoting: rkfgI think the biggest issue with EAC is how intrusive it is. It clearly includes a kernel-level driver (I found issues describing BSoDs caused by EasyAntiCheat.sys) and Wine, being a userspace set of libraries, simply can't emulate kernel APIs because it would require root access and a kernel module. So Epic/Valve will either develop such a module and provide a way to build/load it from Steam (more likely) or drop the low-level part of anticheat which would make Linux a more preferable platform for cheaters (much less likely). Or maybe they'll find a middleground and do whatever's possible from userspace but with elevated privileges (access to /dev/mem, /dev/kmem and such).
TBH, I don't like any of these possibilities because this anticheat gets full access to your memory, processes and devices and can potentially steal passwords, keys and whatnot.
Are you a 100% of all you mention? I know for a fact that EAC has a Linux client version and it doesn't require root privileges in order to run. Also, if they install a driver on Windows I would expect that Windows users have to give privileges to Steam installer.
Last edited by x_wing on 4 December 2019 at 8:34 pm UTC
Quoting: x_wingThis is true for the Windows version, of course. Steam on Windows has a privileged service running that might help installing EAC transparently so the user doesn't need to supply any administrator credentials. That Steam service had a privilege escalation vulnerability that's been found and discussed recently btw. On Linux it's all more "user"-friendly.Quoting: rkfgI think the biggest issue with EAC is how intrusive it is. It clearly includes a kernel-level driver (I found issues describing BSoDs caused by EasyAntiCheat.sys) and Wine, being a userspace set of libraries, simply can't emulate kernel APIs because it would require root access and a kernel module. So Epic/Valve will either develop such a module and provide a way to build/load it from Steam (more likely) or drop the low-level part of anticheat which would make Linux a more preferable platform for cheaters (much less likely). Or maybe they'll find a middleground and do whatever's possible from userspace but with elevated privileges (access to /dev/mem, /dev/kmem and such).
TBH, I don't like any of these possibilities because this anticheat gets full access to your memory, processes and devices and can potentially steal passwords, keys and whatnot.
Are you a 100% of all you mention? I know for a fact that EAC works has a Linux client version and it doesn't require root privileges in order to run. Also, if they install a driver on Windows I would expect that Windows users have to give privileges to Steam installer.
Quoting: anodraeusnot to sound like a complete noob, but I don't have a /.steam/compatibilitytools.d/ folder/file, so I have no idea how to use this work around on manjaroYou should create it. It must be at the same level where SteamApps and userdata are located.
Quoting: Purple Library GuyQuoting: EhvisIf it's that weak then why can't we just convince the dang thing it's talking to the kernel even though it isn't? Sure, that might not be an ideal solution from the game developers' point of view, but hey, if they don't like it they can make Linux versions of their games.Quoting: fagnerlnJust a question, how good is EAC? I know that VAC has a lot of vulnerabilities, and there's cheaters in all valve's games.
It's curious how fast EAC conquested the market, and most of the newer games have it.
It's really "cheater-free"?
I think it's more like a virus scanner. It weeds out the easy to catch stuff. I've heard plenty of reports from cheaters in games that have anti-cheat (any kind). While some reports might be sore losers, I have no doubt there are people with enough time on their hands to beat it. Just like any other cracking, it becomes a sport in itself.
Probably. But that would be an exploitable flaw which will then be fixed and the cycle has to start all over again. Nice for those enjoying that challenge, but not really practical for Linux gamers.
Quoting: anodraeusnot to sound like a complete noob, but I don't have a /.steam/compatibilitytools.d/ folder/file, so I have no idea how to use this work around on manjaroExample:
mkdir ~/.steam/root/compatibilitytools.d
wget https://github.com/GloriousEggroll/proton-ge-custom/archive/4.21-GE-1-MCC.tar.gz
tar -xf 4.21-GE-1-MCC.tar.gz -C ~/.steam/root/compatibilitytools.d/
See more from me