mf-install icon indicating copy to clipboard operation
mf-install copied to clipboard

Threadripper/CPU's with more than 8 cores need additional launch options

Open AwesamLinux opened this issue 5 years ago • 17 comments

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:

AwesamLinux avatar Dec 26 '19 19:12 AwesamLinux

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?

z0z0z avatar Dec 26 '19 20:12 z0z0z

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.)

AwesamLinux avatar Dec 27 '19 00:12 AwesamLinux

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.

z0z0z avatar Dec 27 '19 05:12 z0z0z

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!

Zyneris avatar Jan 06 '20 05:01 Zyneris

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 ...

termac avatar Jan 11 '20 18:01 termac

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.

illumina23 avatar Feb 03 '20 16:02 illumina23

Good to know @illumina23, maybe it is only newer (5x?) kernels, 4.15 is quite an old kernel.

z0z0z avatar Feb 04 '20 01:02 z0z0z

@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

AwesamLinux avatar Feb 21 '20 19:02 AwesamLinux

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.

illumina23 avatar Feb 26 '20 20:02 illumina23

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 avatar Feb 26 '20 20:02 z0z0z

@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.

AwesamLinux avatar Feb 26 '20 20:02 AwesamLinux

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

soehub avatar Mar 07 '20 13:03 soehub

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

Ultimator14 avatar Apr 13 '20 13:04 Ultimator14

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: image

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.

Takuto88 avatar Jul 01 '20 20:07 Takuto88

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.

gardotd426 avatar May 24 '21 01:05 gardotd426

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.

z0z0z avatar May 24 '21 12:05 z0z0z

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.

gardotd426 avatar May 24 '21 12:05 gardotd426