mf-install
mf-install copied to clipboard
Threadripper/CPU's with more than 8 cores need additional launch options
The mf-install fix does not work with Threadripper CPU's with more than 8 cores (I guess not Intel CPU's either). The games behave either like you just had not installed the fix at all, or they get stuck on a black screen. I compared this myself between a TR 1900X and 1920X CPU.
A workaround to this is to limit the cores the games uses with a launch option, with Steam launch option "taskset -c 1-8 %command%" or "taskset -c 1-16 %command%" (not sure what really is the optional value, or if there is a better way to do this) made the games playable for me using Proton.
This problem does not appear to occur with the mf-install cab variant.
Basically I just wanted to get this information out there, as I spent a whole lot of time troubleshooting this before realizing it was an issue related to core count of the CPU. Maybe this might be worth mentioning in the instructions, but at least now it has been mentioned on github so someone with the same issue may see this :smile:
That's extremely interesting, I'd love to confirm this but I only have a 6c/12t Ryzen 3600.
Maybe it only happens on older kernels, or certain versions of packages?
I have been observing this issue with Linux Mint 19.2 and 19.3 (these dists don't have the most recent packages but I do keep GPU drivers and kernel updated), here are some testing notes:
Proton | Kernel | Mesa | Launch Option | Did it Work? |
---|---|---|---|---|
4.11-11 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | none | FAIL |
4.11-11 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | taskset -c 1-8 %command% | SUCCESS |
3.16-9 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | none | FAIL |
3.16-9 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | none | FAIL |
4.11-11 | 5.1.21-050121-lowlatency | Mesa 19.3.1 - kisak-mesa PPA | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.1.21-050121-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | none | FAIL |
4.11-11 | 5.1.21-050121-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.2.11-050211-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | none | FAIL |
4.11-11 | 5.2.11-050211-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.2.11-050211-lowlatency | 20.0.0-devel (valve-experimental ppa) | none | FAIL |
4.11-11 | 5.2.11-050211-lowlatency | 20.0.0-devel (valve-experimental ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.3.4-050304-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | none | FAIL |
4.11-11 | 5.3.4-050304-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.4.6-050406-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | none | FAIL |
4.11-11 | 5.4.6-050406-lowlatency | 20.0.0-devel (git-be691ca 2019-12-25 bionic-oibaf-ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.4.6-050406-lowlatency | 20.0.0-devel (valve-experimental ppa) | none | FAIL |
4.11-11 | 5.4.6-050406-lowlatency | 20.0.0-devel (valve-experimental ppa) | taskset -c 1-8 %command% | SUCCESS |
4.11-11 | 5.4.6-050406-lowlatency | 19.3.1 - kisak-mesa PPA | none | FAIL |
4.11-11 | 5.4.6-050406-lowlatency | 19.3.1 - kisak-mesa PPA | taskset -c 1-8 %command% | SUCCESS |
So from what I have seen, the issue follows the number of CPU cores used. :thinking: (These results can be replicated with Layers of Fear 2, Blair Witch, Araya and Man of Medan.)
Well let's hope eventually Wine developers implement proper Media Foundation support. I have no clue why this wouldn't work when using above 8 cores.
Personally I'd still rather have dshow/wmp/quartz/wmv whatever support first, as older games that play videos like that don't have any workaround at all.
Just want to confirm this! Upon testing taskset -c 1-16 %command% today, cutscenes now play. I'm running an AMD Ryzen 9 3900x. Previously they did not even after applying the script. Seems like @AwesamLinux is on to something big. Thank you!
This vodoo actually made Borderlands 3 cutscenes work on my ryzen 3950x, which did not play at all after installing MF from here. Now I launch lutris with taskset -c 0-7 lutris
and EGS and BL3 from there and everything works. So a big thank you from me to @AwesamLinux too! What a unlikely fix ...
My system contains two Xeon E5-2690s for a total of 16 cores / 32 threads.
I installed mf-install, and the videos now play for me in Obduction (via Steam). I did not have to use taskset or do anything else. It just worked.
I'm running Ubuntu 18.04 with kernel 4.15.0-76.
Good to know @illumina23, maybe it is only newer (5x?) kernels, 4.15 is quite an old kernel.
@illumina23, Interesting, maybe that means that the issue only occurs on AMD CPU's. Or that it is only a problem when a single CPU has more than 8 cores
Good to know @illumina23, maybe it is only newer (5x?) kernels, 4.15 is quite an old kernel.
The other day I upgraded to 5.3.0-40-generic, and the behavior is unchanged. mf-install continues to work as intended without needing any workarounds.
If I'm not wrong, each individual CPU only has 8 physical cores, even though you have 2 CPUs for a total of 16, maybe that has something to do with it?
It might only happen when there is more than 8 physical cores on a single CPU, it may be AMD-only, it may be a lot of things actually.
@z0z0z yea it would be interesting to hear if any Intel user with a single CPU with more than 8 core has encountered this issue. So that we can rule out if this is an AMD specific bug or if it only depends on how many cores are used per individual CPU.
I can confirm for Borderlands 3 on Arch Linux with a Threadripper 2920X the mp4 scenes only work with the cpu-list defined. Took me hours to get this game running, now its perfect, thank you @z0z0z @AwesamLinux!
Edit: Tested some cpu lists fail: no cpu list
taskset -c 0-23
working:
taskset -c 0-23:2 taskset -c 0-11 taskset -c 9-16 taskset -c 12-23
I can also confirm for Borderlands 3 on Gentoo Linux with mf-install and mf-installcab workarounds applied.
CPU: Ryzen 9 3900X
(12 cores, 24 threads)
Kernel: 5.6.3
working: taskset -c 0-15
not working: taskset -c 0-16
Lust wanted to chime in on how to deal with that when using Lutris in a better way. Launching Lutris with taskset -c 1-8 lutris
like @termac suggested works, but will apply to all your games in Lutris and might be undesirable. But you can also do this per-game using Lutris itself:
- Open Lutris normally
- Select the game / program you have issues with and go to "Configure"
- Go to the "System options" tab and scroll down to "Command prefix"
- Paste
taskset -c 1-8
(or whatever taskset option works for the game in question) - Hit save & run your game.
Here's a screenshot where I applied the settings:
In case anybody is wondering: I did this to the Epic Games Store and the taskset CPU restrictions were applied to both the store and the game I launched through it.
I hope this helps someone. A huge thank you from me to @AwesamLinux for figuring out this weird issue and also to @z0z0z for pointing to this issue in the README file. You have both saved me a lot of time troubleshooting.
So is there still no word on what's causing this? I upgraded from a 3800X to a 5800X and finally to a 5900X, and ran into this issue. It'd really suck if media foundation stuff only works if you use 8 physical cores or less.
So is there still no word on what's causing this? I upgraded from a 3800X to a 5800X and finally to a 5900X, and ran into this issue. It'd really suck if media foundation stuff only works if you use 8 physical cores or less.
It's very likely we won't ever know why. It's even less likely/impossible that it would ever be fixed in this repo.
The good news is, Media Foundation support in upstream Wine, Proton-GE, Proton-TKG, and even regular Proton with (coming soon) Valve's media converter, are all coming along great and have made this workaround obsolete in most cases.
The good news is, Media Foundation support in upstream Wine, Proton-GE, Proton-TKG, and even regular Proton with (coming soon) Valve's media converter, are all coming along great and have made this workaround obsolete in most cases.
Yeah I know that, I've used wine-tkg that I build myself for almost two years now, but unfortunately Star Wars Jedi Fallen Order still requires mf-install
(but not mf-installcab
), so I was hoping for some good news. But absolutely, it'll be nice when all the Media Foundation stuff is finally ready.