-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Certain Games will not launch via Proton If you have a high CPU Thread Count but will on native Windows #5927
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Warhammer 40,000: Dawn of War II (Issue Thread Needed) Warhammer 40,000 Dawn of War II - Retribution (#2517) I am also noticing that Proton Versions 5 and below do not support |
Far Cry 2 (#775) Far Cry 3 (#727) I don't own Far Cry 5 or 6. Also don't own Primal. So I can't test those. Far Cry 1 does work. Also tested several Assassins Creed games and none of them had the issue. The Witcher 2: Assassins of Kings Enchanced Edition (#2309) I think that covers more or less all of my Steam library. Forgot to mention, I have a 5950X which is 32 thread. If you have a CPU with more threads more games might be effected by this issue. |
@ChaosBlades I have Far Cry Primal (and have been trying all sorts of reported fixes to try to get it to launch)...I can verify that the Far Cry 2 & 4 CPU topology fix also works perfectly for Primal. Thank you and @Blisto91 for your awesome work!!! Also, for what it's worth Far Cry 5 and 6 work with Proton right out of the box, no launch options needed. And my CPU is an AMD Ryzen 9 5950X. |
Hi. I've checked some games mentioned here. My findings (Ryzen 5950X 16c/32t):
I'm yet to test FC3, FC Primal but that's the same engine as other Far Cries. Since those are game bugs that require workarounds even on their native OS we'll have to start overriding the topology. I'm working on implementing this in a way that's topology-aware. |
Where can I find documentation for how to use I honestly find wine & proton to be really badly documented overall, but I'd happy to be proven wrong in general not just in regards to |
If the game is developed for dual core but it still launches and runs on higher core count systems then WINE_CPU_TOPOLOGY isn't going to do anything for you. The game will just use 2 of your 6 cores. Looking at protondb the game seems to run without issue as long as you don't have an issue with the launcher. The games listed here will not launch at all without tricking the translation layer into thinking the CPU has less cores. For example Crysis 1 is designed for dual core systems and runs without issue for me. It just maxes out 2 cores and my GPU is left underutilized. First gen Ryzen isn't known for high single thread performance. That may be your issue. If you really want to try it would be |
Except it's a gamebryo fork further busted up by Bethesda and the engine is absolute garbage as a result...
But are they logical cores or physical cores? On a ryzen cpu with 2 CCX that can make a pretty big difference... |
Logical |
To add to that since I did a bit of testing, Warhammer 40,000: Dawn of War II(AppID:15620) breaks at 32 cores, I suspect Warhammer 40,000: Dawn of War II: Chaos Rising(AppID:20570) is the exact same as both are basically the same game(DoW II shows Chaos Rising main menu when launched). |
Hello @RipleyTom, please be explicitly clear with which game you are referring to. |
Adding another to the pile. I checked out both Tomb Raider: Anniversary and Tomb Raider: Legend while i was at it but they both work fine with my default 32. |
Dirt Rally fails to start with WINE_CPU_TOPOLOGY=16:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 but runs with 15 cores. |
Cyberpunk 2077 (#4450) Kingdom Come |
On my Ryzen 9 3950X PC running Ubuntu 23.10, I was only able to get the game working with a maximum of 14 cores using: WINE_CPU_TOPOLOGY=14:0,1,2,3,4,5,6,7,8,9,10,11,12,13 %command% |
Posting here as well for more visibility. Game ( Burnout Paradise Ultimate Box) needs cpu topology set to 4, otherwise it doesn't launch. |
@Root-Core Of note, the VRChat 40 thread limit is only for the legacy EasyAntiCheat 32-bit bootstrapper that they still ship with. If they update to the February 2023 or newer I think it's worthwhile having a section just for games using an older EasyAntiCheat bootstrapper. |
Probably also worth sorting them a bit more than that e.g so the unity games that just have bad performance on high core counts are distinct from games that doesn't work. Though some are already semi sorted by engine, noting what the issue is with a game might be nice. |
@digitalcircuit Yes, that was a goal... but lacking the hardware and licences to test the games, I wasn't able to do so. The real question is, is there any benefit to giving games more than X cores? The problem is also present on Windows, so it could be an argument for Linux gaming. @Blisto91 True, the (some?) performance issues seem to be related to SMT. I'm not sure if the crashes are purely the core count or also SMT or multiple CCX etc. Some kind of spreadsheet could help with sorting.. I'm not sure, if it's worth yet. |
Some games simply have autodetection issues on very high CPU or CPU-Thread count, in which case the best option is to lie to them about the count, then use affinity to prefer the use of the same threads when possible. Efficiency cores should typically always be set to be ignored and core affinity should be removed. I have not experienced issues with The Sims 3 on this, myself, but I'm sure others have. As a note, many games need to default to having V-Sync turned on as well, to implement a second throttling method. This is of major concern on games like The Sims 3 that desynchronize their game tick from their display tick and have quite a few shaders that can spin out of control generating several thousand fps of sparkles. |
You mean several thousand milliseconds(of frametime) worth of particles? |
We've added an override for some of the games discussed here: https://github.com/ValveSoftware/Proton/blob/experimental_9.0/proton#L1148 You can also use We'll keep going through games behaving badly with too many cores and keep on adding them to the list after confirming it's a game issue and not a different Proton bug. |
@ivyl If there's any way I can help with determining where the fault lies with the legacy EasyAntiCheat launch error (32-bit bootstrapper launching 64-bit Windows app with 64-bit Linux EAC module), let me know! I've still got the absolute-minimum sample project I created for EOS' Developer Support to recreate the problem. That said, it looks like VRChat has finally switched to the 64-bit bootstrapper with the latest update, so it's no longer a problem for a friend. But I've let them know they can shorten the workaround launch option to I've also reconfirmed with them that the old 32-bit bootstrapper still causes the launch error, even with Proton Experimental (9.0). |
I noticed you have Death end re;Quest (990050) in your list. The sequel Death end re;Quest 2 (1266220) has the same issue as the original. In these two games it isn't a failure to launch but really bad performance and stuttering. The GPU load and clock is very low so it's almost like it doesn't realize it needs to clock up and get to work. The bug #2705 you referenced starts out with failures launching in 2019 but those seem to be resolved and then it shifts to the performance/stuttering issues and the first mention of adding |
@ivyl This is a good start, there are certainly a lot of games in the list that could benefit from this. Games like |
Apex Legends also doesn't like launching when using too many threads. I'm now using |
No, I mean the shader (which is typically a billboard or cubemap) will redraw itself thousands of times a second. Somehow this leads to a denial of GPU functionality to other elements in the game, resulting in the shader drawing at a high refresh rate, but anything waiting for a different gpu thread to grind to a halt. |
Disney Universe crashes immediately on startup unless i limit to 16 |
Quantum Break has a limit of 51 cores, if you try to run it with more than that, it will crash with the message:
It's a weird limit, for sure. Can be bypassed on Proton with: |
I have two more games to add to this list. THRONE AND LIBERTY outright crashes on high core counts and requires WINE_CPU_TOPOLOGY=32 to be able to start. Less cores reduce frame latency and increase fps count but I don't have the exact numbers now. Torment: Tides of Numenera. Although this game has a Linux port it has visual artifacts on wayland with nvidia 565.77. Using Proton the game runs with 5-8 fps on a 3080 with an Intel 10980XE, with an aearage of 500-800ms frame latency accorrding to DXVK hud. Disabling FSYNC jumps the framerate to 15 fps.
|
Hard Truck Apocalypse: Rise Of Clans / Ex Machina: Meridian 113 will not start unless i limit it to 31. The other two Hard Truck games on Steam does not seem to have this issue. |
Won't start at 32 or more cores. ValveSoftware/Proton#5927 (comment)
Won't start at 32 or more cores. ValveSoftware/Proton#5927 (comment)
Does WINE_CPU_TOPOLOGY work anymore? I've tried this on Far Cry 4 and it does nothing to FarCry4.exe or upc.exe
|
While Prototype 2 is already mentioned I'm just going to add that it more specifically crashes here before main menu if
@chikenpotpi If it is the Steam version of the game then there already is a builtin limit for the game in Proton 9. |
I am opening this issue to track all the games that will not launch specifically on high thread count systems with Proton but launch on native Windows without issue. The commands
taskset
andnumactl
will not work. It has to beWINE_CPU_TOPOLOGY
. The specific issue threads listed below seem to already have plenty of logs pertaining to this issue.Far Cry 4 (#2143)
Will not launch if you have more than 31 threads.
WINE_CPU_TOPOLOGY=31:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30 %command%
Warhammer 40,000: Space Marine (#934)
Will not launch if you have more than 26 threads.
WINE_CPU_TOPOLOGY=26:0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 %command%
Lara Croft and the Guardian of Light (#249)
Will not launch on high thread count systems. I am not certain of the exact thread count it breaks at but it will launch on 12 threads but not on 26 threads.
WINE_CPU_TOPOLOGY=12:0,1,2,3,4,5,6,7,8,9,10,11 %command%
The text was updated successfully, but these errors were encountered: