ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.63k stars 1.07k forks source link

Mortal Kombat 11 (976310) #2594

Open NTMan opened 5 years ago

NTMan commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-976310.log

Symptoms

Game crashes immediately after start.

Reproduction

Just launch the game.

NTMan commented 4 years ago

@GloriousEggroll With new Proton GloriousEggroll build issue with gamepad still not fixed.

Vladislavuz commented 4 years ago

2019-12-30 07-50-27 steamos

joeyj40 commented 4 years ago

can some one help me to get mk11 running on psxitarch v3 i been trying to figure it out for 5 days does any one have a detailed guide im new to linux

joeyj40 commented 4 years ago

The game is working fine with NVIDIA! <Link removed by moderator> I also write a guide for you guys.

can you write a guide to get it running on psxitarch v3 that would be great

mozo78 commented 4 years ago

It's the same for all distributions. I tried it on Arch and it's working fine.

joeyj40 commented 4 years ago

do u have a guide i can follow that has step by step i tried following this but i really dont understand it <Link removed by moderator> if you can help me i would appreciate it i been trying to figure this out for 5 days trying to get this to run on ps4 psxitarch v3

mozo78 commented 4 years ago

This is the guide and it's explained very well :)

joeyj40 commented 4 years ago

im new to linux i have steam for windows installled the rest with wine prefix i dont understand and where to put the patched mk11 file and other stuff can you explain to me

mozo78 commented 4 years ago

You have to compile Wine with the patches but it's a hard task. For this reason I put a link for a prepped version of Wine with the patches compiled.

joeyj40 commented 4 years ago

how do i install that version and mfplat and i dont understand do i type export wine prefix in the terminal to show where mk11 is

joeyj40 commented 4 years ago

im trying to do this as we speak if you can walk me threw this that would be great

mozo78 commented 4 years ago

Yes, you export wine prefix in terminal or if you use your system Wine prefix you shouldn't export it for the system will use it by default. Your default Wine prefix is located in /home/$USER/.wine.

joeyj40 commented 4 years ago

so if my mk11 game is in steam apps what do i type in the terminal

joeyj40 commented 4 years ago

im going to bed if you can help me out tomorrow with this that would be great or even if you can make a step by step guide on youtube showing how to do this that would be better i would pay you 50 dollars

joeyj40 commented 4 years ago

some times a video is better then literature i can understand it better

mozo78 commented 4 years ago

so if my mk11 game is in steam apps what do i type in the terminal

It's in your hard disk, usually ~/.local/share/Steam but you can install you anywhere you want. The Steam clien asks you when installing a game. But this not mess with the Wine prefix. It's on /home/$USER/.wine by default or anywhere you created it.

kisak-valve commented 4 years ago

Hello @joeyj40, @mozo78, this issue tracker is not suitable for discussion of legally problematic workarounds and guides which reference those workarounds.

There's ongoing work upstream to improve support for Media Foundation. In the mean time, if there's a workaround that does not involve third party redistribution of copyrighted libraries, then that can be discussed.

@mozo78, you're already aware of this and if you continue encouraging people to use illegal workarounds, you're going to force me to take action.

joeyj40 commented 4 years ago

kisak valve sorry just need some help with this monzo do you think u can help me by using team vewier on pxitarch linux and is there another way i can reach u so we dont get in trouble on this site

mozo78 commented 4 years ago

@kisak-valve I just trying to help.

@joeyj40 Contact me at mo78@abv.bg

nvaert1986 commented 4 years ago

Someone on ProtonDB commented he got this to work, after launching the game on Microsoft WIndows: https://www.protondb.com/app/976310 The game does seem to star on Linux after it was recently launched on Microsoft Windows.

Could this be related to: Denuvo Anti-tamper? Could this be a similar situation? Like what happened to Doom Eternal, which stopped working after Denuvo Anti Cheat was introduced? Perhaps Denuvo Anti-tamper was updated in the game recently?

junaru commented 4 years ago

@nvaert1986 no, game activates and runs without ever being installed on windows. The 5 daily activations do get enforced if you experiment with multiple builds, but reset no problem after 24hrs. You need mfplat, the Guy1524 patch and in -tkg variants case - setting _proton_fs_hack to false. In my testing if the pfx is ever touched by proton flavor with mentioned _proton_fs_hack set to true it breaks the prefix and game hangs on launcher regardless of what proton build you will use later on. In that case you will need to delete the pfx and initialize it with _proton_fs_hack="false" build again. More info on progress: <Link removed by moderator>

kisak-valve commented 4 years ago

Hello @junaru, the workaround guide you posted includes a legally problematic workaround and has been removed.

gardotd426 commented 4 years ago

Has anyone tried this with the new GE proton with the legal mfplat fixes?

nvaert1986 commented 4 years ago

Has anyone tried this with the new GE proton with the legal mfplat fixes?

It doesn't start. It hangs at the loading screen. There's only one fork of proton that actually starts the game and gets you past the loading screen, but it still requires mfplat from your official Microsoft Windows install media to be extracted and various dll overrides to be performed in order to get in game.

gardotd426 commented 4 years ago

Well I have my own Windows dlls from my Windows machine, I don't need any of that, but what's the fork of Proton?

nvaert1986 commented 4 years ago

Well I have my own Windows dlls from my Windows machine, I don't need any of that, but what's the fork of Proton?

Well I have my own Windows dlls from my Windows machine, I don't need any of that, but what's the fork of Proton?

I can't reference to it, as it contains a tutorial with links to files that could be perceived as legally problematic by the moderators here, but a usual search on Google or GitHub should get you there.

gardotd426 commented 4 years ago

That does nothing, there are millions of forks of proton out there. I don't need a tutorial or anything, I just need to know which fork of Proton it is. TKG? GE? 4.19, 4.21, 5.0, etc?

mozo78 commented 4 years ago

I think it's Proton GE 4.19.

nvaert1986 commented 4 years ago

That does nothing, there are millions of forks of proton out there. I don't need a tutorial or anything, I just need to know which fork of Proton it is. TKG? GE? 4.19, 4.21, 5.0, etc?

You can get it launched using Proton-4.21-GE-2. Be sure to perform a rm -rf on your: "/WhatEver/steamapps/compatdata/976310" folder if you tried to launch the game before using another version of Proton or Wine, otherwise it'll still fail to launch. This is likely due to Denuvo. After the intro screens, the game crashes, which can be fixed by installing MFPlay from your original Microsoft Windows installation media.

The game works pretty good, aside from multiplayer, no input response from a gamepad and initial micro stutter when launching a fight.

@kisak-valve There seems to be some regression going from Proton 4.21 to Proton 5.0 or from Wine 4.21 to Wine 5.0, because with version 5.0 and after, the game just does not launch and hangs at the loading screen.

gardotd426 commented 4 years ago

There's no regression, I have it working on proton-tkg 5.9 with the FULLY LEGAL mf implementation, and with a patch for getting gamepads to work. The only thing that's actually an issue from your list is online play.

<Link removed by moderator>

nvaert1986 commented 4 years ago

There's no regression, I have it working on proton-tkg 5.9 with the FULLY LEGAL mf implementation, and with a patch for getting gamepads to work. The only thing that's actually an issue from your list is online play. <Link removed by moderator>

As far as I know it only works with a wireless Xbox 360 controller and it doesn't work with a wired Xbox 360 controller or a wired Xbox One controller (which I'm using)

kisak-valve commented 4 years ago

Hello @gardotd426, @nvaert1986, unfortunately, the issue report you linked is tainted by a guide with a legally problematic workaround which is why it has been removed.

gardotd426 commented 4 years ago

@kisak-valve okay, I wasn't even linking to that fix I was linking to the thread showing that the game is working with that (fully legal) build of proton, I'll just link the repo instead:

https://github.com/Frogging-Family/wine-tkg-git

To get it working, you need _proton_fshack set to false, mk11_fix set to true, and if you're using an AMDGPU you also need to use AMDVLK or vulkan-amdgpu-pro because it's broken with Mesa. You also need to add guy1524_mfplat_WIP.mypatch to the community-patches array in proton-tkg.cfg.

Also, if you want gamepad support, you need this patch:

From f445a9f05e4ad097c55d690f08fd5f1e71940d79 Mon Sep 17 00:00:00 2001
From: Pnevmoslon <psn8402@gmail.com>
Date: Wed, 27 May 2020 12:23:59 +0300
Subject: [PATCH] mk11 gamepad fix

---
 dlls/wbemprox/class.c | 23 +++++++++++++----------
 1 file changed, 13 insertions(+), 10 deletions(-)

diff --git a/dlls/wbemprox/class.c b/dlls/wbemprox/class.c
index ba7720b098..6cc439c6fb 100644
--- a/dlls/wbemprox/class.c
+++ b/dlls/wbemprox/class.c
@@ -116,6 +116,7 @@ static HRESULT WINAPI enum_class_object_Next(
     struct table *table;
     static int once = 0;
     HRESULT hr;
+    ULONG i;

     TRACE("%p, %d, %u, %p, %p\n", iface, lTimeout, uCount, apObjects, puReturned);

@@ -124,16 +125,18 @@ static HRESULT WINAPI enum_class_object_Next(
     if (lTimeout != WBEM_INFINITE && !once++) FIXME("timeout not supported\n");

     *puReturned = 0;
-    if (ec->index >= view->result_count) return WBEM_S_FALSE;
-
-    table = get_view_table( view, ec->index );
-    hr = create_class_object( table->name, iface, ec->index, NULL, apObjects );
-    if (hr != S_OK) return hr;
-
-    ec->index++;
-    *puReturned = 1;
-    if (ec->index == view->result_count && uCount > 1) return WBEM_S_FALSE;
-    if (uCount > 1) return WBEM_S_TIMEDOUT;
+
+    for (i=0; i<uCount; ++i)
+    {
+        if (ec->index >= view->result_count) return WBEM_S_FALSE;
+        table = get_view_table( view, ec->index );
+        hr = create_class_object( table->name, iface, ec->index, NULL, apObjects );
+        if (hr != S_OK) return hr;
+
+        apObjects++;
+        ec->index++;
+        ++*puReturned;
+    }
     return WBEM_S_NO_ERROR;
 }

--
2.26.2

You can clone the community-patches repo from https://github.com/frogging-family/community-patches.gitand put it in the same directory as thewine-tkg-gitrepo, so just run thegit clonefor each from the same directory, then copy the patch into a file with a .mypatch extension, put it incommunity-patches/wine-tkg-git/`, and add the name of the file to the same patches array where you put the guy1524 mf patch.

gardotd426 commented 4 years ago

@kisak-valve I'm sure you're already aware of the guy1524 patch and it's legality, but I'm happy to post the contents here if you want them.

gardotd426 commented 4 years ago

Also, @kisak-valve I spoke to @tk-glitch and he has removed the link, to make your life easier. So that issue thread no longer has the problematic link.

gardotd426 commented 4 years ago

@nvaert1986 also you're wrong about the patch:

Patch fixes segfault of thread reading gamepad events. No hardware-specific things. I tested Thrust Master Dual Trigger 3-in-1 and Logitech F310.

Neither of those are Xbox 360 Wireless controllers, although that's also been tested by someone else. I don't know if you're talking about something else, but that patch was only posted a couple hours before I made the first comment about it, so I imagine you weren't aware. That said, I specifically mentioned a patch for gamepads, and you should look into things before saying something doesn't work.

It seems, like I said, that using TKG's Proton build the game is fully functional except for online matches at this point. I haven't personally tested the gamepad yet, but other people (as well as the patch creator) have, and I have personally tested that the game does work with no mf nonsense with guy1524's patch Yet another long-difficult/not-working-at-all game now playable.

artemyto commented 4 years ago

Now also works with this Proton: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-1-NR

ivanich commented 4 years ago

Now also works with this Proton: https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-1-NR

Confirming, the one thing is broken, besides online, is freeze at the last battle at the towers of time with Kronika before cut scene.

NTMan commented 4 years ago

I can also confirm that the game became successfully starting and became playable with a gamepad on Proton 5.9-GE-1-NR.

But all game cinematic videos played with incorrect colors and without sound.

![Screenshot from 2020-05-29 01-23-13](https://user-images.githubusercontent.com/200750/83191750-fa2c9180-a14d-11ea-908e-7c6ed043c597.png) ![Screenshot from 2020-05-29 01-22-42](https://user-images.githubusercontent.com/200750/83191772-03b5f980-a14e-11ea-9ecb-9862a47cbb69.png) ![Screenshot from 2020-05-29 01-21-53](https://user-images.githubusercontent.com/200750/83191785-0a447100-a14e-11ea-895c-5fb37625db6c.png)

@GloriousEggroll

nvaert1986 commented 4 years ago

I can also confirm the game is playable with a gamepad using Proton 5.9-GE-1-NR and there's only a few issues left:

GloriousEggroll commented 4 years ago

There is a problem with Proton's fullscreen hack implementation that causes the game to hang at the scorpion logo.

Both my build and TKG's build use a patch from Derek Lesho which allows the game to run in 'protonified' wine with the fullscreen hack removed.

The Work In Progress (WIP) patches for media foundation from Derek are also necessary, however without them the game should still at least launch and then crash before the main menu.

Currently not having the fullscreen hack working with this is a major blocker.

Tk-Glitch commented 4 years ago

I'll add that the issue with Proton's FS hack seems to have started after the 5.0 rebase, which would indicate a regression.

GloriousEggroll commented 4 years ago

I spent the weekend sorting through the patchset and can verify it is regarding the rebase itself, and -not- any of the vulkan extension additions that have been made afterwards. I even went as far as patching the clean wine branch from valve, and reverting all of the winevulkan patches back to 5.0 release, and it was still hanging. This further leads me to believe the problem is strictly with the winex11.drv implementation.

GloriousEggroll commented 4 years ago

I took a week off work and tried to debug this during that time. still no luck. really need someone from valve's side to take a look, but without valve having both upstream mfplat work in their build as well as derek's mfplat patches, in addition to the required MK11 patch, i feel like sadly this is not going to get attention any time soon.

the easiest way to debug it would be to download one of my builds that has fshack (5.8-GE-2-MF is a solid build that has it): https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.8-GE-2-MF

set debug flags, then try to run mk11.

ive tried +x11drv,+xrandr,+xvidmode,+graphics,+event,+vulkan,+trace and cant find any kind of error or issue. Not sure what other flags i can check or if i missed anything

Log attached:

steam-976310.log

gardotd426 commented 4 years ago

@GloriousEggroll is there any word on what the hold-up is for merging the mf stuff from Codeweavers and Derek? I guess probably not, or else you'd have mentioned it.

I'm happy to try and help test/debug but it seems like we're at an impasse that requires Valve's intervention. But if there's anything I can do, please let me know.

Tk-Glitch commented 4 years ago

@gardotd426 The only thing you can do right now is being patient 🐸

gardotd426 commented 4 years ago

@Tk-Glitch I think you know me well enough to know that's way outside my wheelhouse image

gardotd426 commented 4 years ago

That's a Nematode, right there ^

GloriousEggroll commented 4 years ago

Finally found the cause of the multiplayer desync. It was actually found because the same thing was happening in Age of Empires II: DE here: https://github.com/ValveSoftware/Proton/issues/3189#issuecomment-554685892. Credits to @sulix for finding that one

It's because the vcrun2015/17/19 installers don't install ucrtbase.dll. Winetricks used to install it as a workaround until a bug was fixed that allowed the official installer to work, but it still doesnt get copied over. I modified winetricks's vcrun2019 verb to a custom one that copies the files over and both aoeII and MK11's multiplayer worked, finally.

Here is a test build that should have it working in both games: https://drive.google.com/file/d/1Bj5qKFeWYYKBkkGywCnyshaaGbq-icy5/view?usp=sharing

gardotd426 commented 4 years ago

OMG you're a legend.

On Sun, Oct 4, 2020 at 12:01 AM Thomas Crider notifications@github.com wrote:

Finally found the cause of the multiplayer desync. It was actually found because the same thing was happening in Age of Empires II: DE here: #3189 (comment) https://github.com/ValveSoftware/Proton/issues/3189#issuecomment-703175646

It's because the vcrun2015/17/19 installers don't install ucrtbase.dll. Winetricks used to install it as a workaround until a bug was fixed that allowed the official installer to work, but it still doesnt get copied over. I modified winetricks's vcrun2019 verb to a custom one that copies the files over and both aoeII and MK11's multiplayer worked, finally.

Here is a test build that should have it working in both games:

https://drive.google.com/file/d/1Bj5qKFeWYYKBkkGywCnyshaaGbq-icy5/view?usp=sharing

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ValveSoftware/Proton/issues/2594#issuecomment-703198510, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM5Y33Z4WHY3KZBJ5GB677DSI7XSVANCNFSM4HH6K3BA .