Proton: EA SPORTS FIFA 21 (1313860)

Created on 1 Oct 2020  路  27Comments  路  Source: ValveSoftware/Proton

Compatibility Report

  • Name of the game with compatibility issues: EA SPORTS FIFA 21
  • Steam AppID of the game: 1313860

System Information

I confirm:

  • [X] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.


steam-1313860.log

Symptoms

When I press play, nothing happens after the first time setup (waited for 15+ minutes). With custom Proton versions (Proton-GE and Proton-tkg for example) it straight up closes.

It doesn't even install Origin.

Surprising because older Fifa versions were at least launching through Lutris, but this is the first game in the series to make its debut on Steam.

Reproduction

Force the latest Steam Play Proton for EA SPORTS FIFA 21, launch the game.

.NET .NET-winforms Game compatibility - Unofficial

Most helpful comment

I pushed some fixes for the launcher to wine-mono:
https://github.com/madewokherd/winforms/commit/21958434597c6b81ea35e6a6f430cbb65ec66667
https://github.com/madewokherd/mono/commit/a8e476d42ea21bdcb6709211b2bca87e6c4612fa

These will be included in the next wine-mono release (5.1.2 or later). Unfortunately, the game itself crashes here.

All 27 comments

After copying the Origin folder at the root of the game's installation to the __Installer I managed to get Origin installed.

But it still closes after that.

steam-1313860.log

Hello @yossef-dev, this looks like a couple lines of interest from the log:

Unhandled Exception:
System.InvalidProgramException: Invalid IL code in DXHelper.DisplayInfo:InitDisplayModeList (): IL_0024: calli     0x11000009

Hello @yossef-dev, this looks like a couple lines of interest from the log:

Unhandled Exception:
System.InvalidProgramException: Invalid IL code in DXHelper.DisplayInfo:InitDisplayModeList (): IL_0024: calli     0x11000009

Hello, I don't really know what could cause that exception.

Just by intuition I tried doing what Lutris suggested for Fifa 19:

.NET fails to download (using FIFA 19 as an example):

Copy vc_redist.x64.exe found in drive_c/Program Files (x86)/Origin Games/FIFA 19/__Installer/vc/vc2015/redist
Place vc_redist.x64.exe into the dotnet redist folder __Installer/dotnet/dotnet4client/redist
Rename dotNetFx40_Client_x86_x64.exe to dotNetFx40_Client_x86_x64.exe.bak and rename vc_redist.x64.exe to dotNetFx40_Client_x86_x64.exe
Continue with your install

From there: https://github.com/lutris/docs/blob/master/Origin.md

But no luck unfortunately.

So I did a protontricks 1313860 dotnet40 and I got to the launcher of the game at least, but when I press play nothing happens.

steam-1313860.zip

I'd need to see the whole IL listing for that method to figure out why Mono considers it invalid. One case I've been seeing a lot is calls to a pinvoke method that has variable arguments, which isn't implemented in Mono.

You could try running with MONO_VERBOSE_METHOD=InitDisplayModeList, which will show an IL listing with what Mono believes is the stack size after each instruction, as well as the method being called here.

I'd need to see the whole IL listing for that method to figure out why Mono considers it invalid. One case I've been seeing a lot is calls to a pinvoke method that has variable arguments, which isn't implemented in Mono.

You could try running with MONO_VERBOSE_METHOD=InitDisplayModeList, which will show an IL listing with what Mono believes is the stack size after each instruction, as well as the method being called here.

Would the info from that flag be written in the same log as Proton? If so here it is:
steam-1313860.log

A little bit more of experimentation since the game officially came out, launching the game and skipping the fifaconfig.exe/Fifa Setup (FYI you can do that by editing FIFASETUP/config.ini and adding AUTO_LAUNCH = 1 ) logs another exception and a more curious one?

Unhandled Exception:
System.ComponentModel.Win32Exception (0x80004005): File not found.

  at System.Diagnostics.Process.StartWithShellExecuteEx (System.Diagnostics.ProcessStartInfo startInfo) [0x00102] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at System.Diagnostics.Process.Start () [0x00032] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.Start()
  at System.Diagnostics.Process.Start (System.Diagnostics.ProcessStartInfo startInfo) [0x0001b] in <f508ff7dc2d3475abfc25b6b60600edf>:0 
  at fifasetup_csharp.StartingForm.LaunchAndFocusGame () [0x0004c] in <2bbbed7c04124792b7176326d70b57d8>:0 
  at fifasetup_csharp.Program.DoAutoLaunch () [0x0000d] in <2bbbed7c04124792b7176326d70b57d8>:0 
  at fifasetup_csharp.Program.Main (System.String[] args) [0x0002c] in <2bbbed7c04124792b7176326d70b57d8>:0

steam-1313860.log

Seems to be an issue where mono thinks the stack types don't match the function signature in that "icall" instruction. If I remove that check, the launcher shows up, and attempting to start the game gives me that same ShellExecute error.

It seems the issue is that Mono doesn't accept an "i8" value on the stack for a "native int" argument. That part is easy to fix, at least.

So I tried experimenting with this too on my system (Linux Mint 20 (Kernel 5.4.0-48-generic6), GTX 1070, Intel Xeon E3-1230v3)

With the protontricks line from above I managed to open the launcher as well (where you can modify settings and click play).
It didn't launch when clicking play though, as expected.

So, there is a way to make FIFA launch in DX11 instead of DX12, which is done by doing this:
Go to your FIFA21 directory in the documents folder. For me it is here:
/home/kevin/.steam/debian-installation/steamapps/compatdata/1313860/pfx/drive_c/users/steamuser/My Documents/FIFA 21

Then open fifasetup.ini and change DIRECTX_SELECT = 0 to DIRECTX_SELECT = 1
Sadly, this didn't get me any further as well I think ( I don't really know what to look for in the log file though ).
I also tried starting it in windowed mode, but same result.

Maybe someone else can find something usesful from the log file?
steam-1313860.log

I pushed some fixes for the launcher to wine-mono:
https://github.com/madewokherd/winforms/commit/21958434597c6b81ea35e6a6f430cbb65ec66667
https://github.com/madewokherd/mono/commit/a8e476d42ea21bdcb6709211b2bca87e6c4612fa

These will be included in the next wine-mono release (5.1.2 or later). Unfortunately, the game itself crashes here.

Nice, this at least got sorted out.

I really wonder what file does it expect to find, for the ShellExecute error.

I pushed some fixes for the launcher to wine-mono:
madewokherd/winforms@2195843
madewokherd/mono@a8e476d

These will be included in the next wine-mono release (5.1.2 or later). Unfortunately, the game itself crashes here.

Does the game work with these patches?

No, just the launcher.

Tried again with Proton 5.11-beta, still no luck but a different exception has been raised apparently. Still with the autolaunch option because it's the only way until a new version of wine-mono comes out eventually (tried to build it but the cloning was taking too much time, probably a bad connection).

Unhandled Exception: System.InvalidOperationException: Cannot process request because the process (936) has exited. at System.Diagnostics.Process.GetProcessHandle (System.Int32 access, System.Boolean throwIfExited) [0x0004e] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at System.Diagnostics.Process.GetProcessHandle (System.Int32 access) [0x00000] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at System.Diagnostics.Process.get_ProcessName () [0x0000d] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.get_ProcessName() at fifasetup_csharp.StartingForm.IsAppAlreadyRunning (System.String appName) [0x0000a] in <2bbbed7c04124792b7176326d70b57d8>:0 at fifasetup_csharp.Program.DoAutoLaunch () [0x00005] in <2bbbed7c04124792b7176326d70b57d8>:0 at fifasetup_csharp.Program.Main (System.String[] args) [0x0002c] in <2bbbed7c04124792b7176326d70b57d8>:0 [ERROR] FATAL UNHANDLED EXCEPTION: System.InvalidOperationException: Cannot process request because the process (936) has exited. at System.Diagnostics.Process.GetProcessHandle (System.Int32 access, System.Boolean throwIfExited) [0x0004e] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at System.Diagnostics.Process.GetProcessHandle (System.Int32 access) [0x00000] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at System.Diagnostics.Process.get_ProcessName () [0x0000d] in <a53e1eeb99d9433188c674f67e6c16c2>:0 at (wrapper remoting-invoke-with-check) System.Diagnostics.Process.get_ProcessName() at fifasetup_csharp.StartingForm.IsAppAlreadyRunning (System.String appName) [0x0000a] in <2bbbed7c04124792b7176326d70b57d8>:0 at fifasetup_csharp.Program.DoAutoLaunch () [0x00005] in <2bbbed7c04124792b7176326d70b57d8>:0 at fifasetup_csharp.Program.Main (System.String[] args) [0x0002c] in <2bbbed7c04124792b7176326d70b57d8>:0 (1)
steam-1313860_autolaunch.zip

Finally I have managed to start Fifa 21 on linux using the proton version of GloriousEggroll, exactly the Proton-5.9-GE-8-ST and using the following modifications:

  • protontricks 1313860 dotnet462 allfonts vcrun2012 vcrun2013 vcrun2019

  • Then open fifasetup.ini and change DIRECTX_SELECT = 0 to DIRECTX_SELECT = 1. This file is located in the address where you have the Fifa 21 compdata and ending in /compatdata/1313860/pfx/drive_c/users/steamuser/My Documents/FIFA 21

  • Tried with PROTON_USE_SECCOMP = 1% command% in custom launch options

  • And in the Fifa 21 options I have activated

  • In Resolution borderless window.
  • Quality of Auto Rendering.
  • MSAA Auto options
  • Frame rate Set at 60 fps.

And now to enjoy the game

P.S. My computer is an AMD Ryzen 3800x with AMD vega 56.

Best regards

Finally I have managed to start Fifa 21 on linux using the proton version of GloriousEggroll, exactly the Proton-5.9-GE-8-ST and using the following modifications:

  • protontricks 1313860 dotnet462 allfonts vcrun2012 vcrun2013 vcrun2019
  • Then open fifasetup.ini and change DIRECTX_SELECT = 0 to DIRECTX_SELECT = 1. This file is located in the address where you have the Fifa 21 compdata and ending in /compatdata/1313860/pfx/drive_c/users/steamuser/My Documents/FIFA 21
  • Tried with PROTON_USE_SECCOMP = 1% command% in custom launch options
  • And in the Fifa 21 options I have activated

  • In Resolution borderless window.

  • Quality of Auto Rendering.
  • MSAA Auto options
  • Frame rate Set at 60 fps.

And now to enjoy the game

P.S. My computer is an AMD Ryzen 3800x with AMD vega 56.

Best regards

Oh that's cool, can you play online also? I can't try it right now I think I'll nuke my prefix because protonfix can't install some of the requirements you've cited.

Well, the easiest way is to copy this file 1313860.py :

https://github.com/pokaspekas/Fifa-21-Linux

into the address /home/your user name/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/protonfixes/gamefixes/

and you just need to start the game with the proton-ge

I await your feedback, Kind regards

Well, the easiest way is to copy this file 1313860.py :

https://github.com/pokaspekas/Fifa-21-Linux

into the address /home/your user name/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/protonfixes/gamefixes/

and you just need to start the game with the proton-ge

I await your feedback, Kind regards

I can't repro it because I can't even get past the Origin lite installation, I've tried it sorry. Couldn't repro it on Lutris either (where Origin is actually installed, the play button does nothing), sorry. I'll see if I can fix that but in the mean time someone else should try it.

Well, the easiest way is to copy this file 1313860.py :
https://github.com/pokaspekas/Fifa-21-Linux
into the address /home/your user name/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/protonfixes/gamefixes/
and you just need to start the game with the proton-ge
I await your feedback, Kind regards

I can't repro it because I can't even get past the Origin lite installation, I've tried it sorry. Couldn't repro it on Lutris either (where Origin is actually installed, the play button does nothing), sorry. I'll see if I can fix that but in the mean time someone else should try it.

I confirm, it didn't work for me too. When I press Play button in FIFA launcher, nothing happens.
CPU: AMD Ryzen 7 2700X
GPU: NVIDIA GeForce RTX 2060 SUPER, drivers: 455.38

Well, the easiest way is to copy this file 1313860.py :
https://github.com/pokaspekas/Fifa-21-Linux
into the address /home/your user name/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/protonfixes/gamefixes/
and you just need to start the game with the proton-ge
I await your feedback, Kind regards

I can't repro it because I can't even get past the Origin lite installation, I've tried it sorry. Couldn't repro it on Lutris either (where Origin is actually installed, the play button does nothing), sorry. I'll see if I can fix that but in the mean time someone else should try it.

Try to see if the game Fifa 21 works in Void linux ..... or not ... who knows ...

https://youtu.be/StlnWEu_I3U

@pokaspekas how did you install Origin ?
When i launch Fifa from Steam, it need to install origin, but nothing happen, stuck at "install of OriginThinSetup ... "

edit1: ok, i've replaced the OriginSetup from Fifa 21 whith the legacy setup from : https://www.dm.origin.com/download/legacy

edit2: when launch Fifa, protonFixes dialog is open and nothing happen :(

process :
/bin/sh -c PROTON_LOG=1 '/home/fabien/.local/share/Steam/compatibilitytools.d/Proton-5.9-GE-8-ST'/proton waitforexitandrun 'link2ea://launchgame/1313860?platform=steam&theme=fifa21'
python3 /home/fabien/.local/share/Steam/compatibilitytools.d/Proton-5.9-GE-8-ST/proton waitforexitandrun link2ea://launchgame/1313860?platform=steam&theme=fifa21

EDIT: I forgot to change DIRECTX_SELECT = 0 to DIRECTX_SELECT = 1, it seems to be working now!
unknown


Alright with the latest Proton 5.13 next branch I've been able to finally install Origin again.

I tried the protonfixes from @pokaspekas w/ proton ge stable, the game did launch for once but this happens once in loading:

Screenshot_20201109_230930

logs: https://gist.github.com/yossef-dev/1331d224848dceff1caca2d1b5d93a30

@yossef-dev Proton13-1 ?

protontricks 1286830 dotnet462 allfonts vcrun2012 vcrun2013 vcrun2019

warning: /home/fabien/.cache/protontricks/proton/Proton 5.13/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "wine: failed to initialize: /home/vagrant/build-proton_5.13-local/dist-wine32/lib/wine/ntdll.dll.so: cannot open shared object file: No such file or directory"

:(

@yossef-dev Proton13-1 ?

protontricks 1286830 dotnet462 allfonts vcrun2012 vcrun2013 vcrun2019

warning: /home/fabien/.cache/protontricks/proton/Proton 5.13/bin/wine cmd.exe /c echo '%AppData%' returned empty string, error message "wine: failed to initialize: /home/vagrant/build-proton_5.13-local/dist-wine32/lib/wine/ntdll.dll.so: cannot open shared object file: No such file or directory"

:(

This is what I basically did (because I couldn't get Origin to install until the latest Proton 5.13):

  • Delete the wineprefix for the game (a.k.a compatdata) folder (SteamLibrary -> compatdata -> 1313860), run the game on Steam with Proton 5.13 and let the game install Origin and its dependencies.

  • Once it's done close Origin and the game if it was open, and assuming you have Proton-5.9-GE-8-ST installed, download 1313860.py from https://github.com/pokaspekas/Fifa-21-Linux and put it there:

/home/your user name/.steam/root/compatibilitytools.d/Proton-5.9-GE-8-ST/protonfixes/gamefixes/

  • Then you launch the game from Steam with Proton-5.9-GE-8-ST selected, upon the launch a small window is gonna open and install all the verbs from the 1313860.py you downloaded. This can be a very long process depending of how fast your computer downloads and installs things.

  • When it finishes it should open up Origin and launch the game but trying to launch the game, go to your game's compatdata folder and make sure that fifasetup.ini in /compatdata/1313860/pfx/drive_c/users/steamuser/My Documents/FIFA 21 has the value DIRECTX_SELECT set to 1. From my experience it appears that saving settings in the fifa launcher overrides the DIRECTX_SELECT value so make sure it has that value upon launching the game

And now try to launch the game and it should run properly.

Also I'd like to note that online is not working for me I'm getting disconnected because of some desync issues, despite having the vcrun2019_ge installed, @pokaspekas have you got online working on your side?

Yes, i play Fifa, 10 years ago after leaving windob ! thanks a lot !

My problem was to be patient, Origin seems to be slow to launch

online is working for me

Okay I found out why online wasn't working for me, vcrun2019_ge wasn't correctly installed.
When I tried installing it from the command line I saw those lines at the end, essentially aborting the install

cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-conio-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-heap-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-locale-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-math-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-runtime-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/api-ms-win-crt-stdio-l1-1-0.dll': Permission denied
cp: cannot create regular file '/media/HDD_Linux/SteamLibrary/steamapps/compatdata/1313860/pfx/dosdevices/c:/windows/system32/ucrtbase.dll': Permission denied

So I changed the write permissions on the mentioned dlls and now everything works perfectly online included, cheers!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

ghost picture ghost  路  3Comments

lumni1968 picture lumni1968  路  3Comments

lucifertdark picture lucifertdark  路  3Comments

shanefagan picture shanefagan  路  3Comments

prototype99 picture prototype99  路  3Comments