
class101
Published
Easy Anti Cheat (EAC)
Won't work because EAC = Epic Games = Tim Sweeney = Confirmed asshole validated by the Linux community
For stability issues you should disable the D3D10 support (borked) with
PROTON_NO_D3D10=1 (NOT D3D11)
to fallback to D3D9. (Don't listen to peoples mentionning PROTON_NO_D3D11, the game does not even support dx11, so using the PROTON_NO_D3D11 variable only = running in D3D10 mode = crashes)This seem to work fine here under Arch Linux.
Minor:
The game just fails to detect low specifications hardware and set everything to high level graphics. So you have to go through the settings and customize a bit.
Steam Client Beta
Proton 5.13-4
Nvidia 455.45.01-6
Mesa 20.3.0-3
Arch Linux x86_64
Kernel 5.9.13-arch1-1
Proton 5.13-6 : No Windows Media Foundation movies (startup movie is skipped, classes movies are black) but anything else works fine.
Proton 6.1-GE-2 : WINEDLLOVERRIDES="mfplat=d" is required to join Multiplayer and in same time it is a performance increase because mfplat is heavily called anytime running the game.
It seems the implementation of mfplat.dll in Proton-GE is borked at some point and you have to disable it to be able to enter multiplayer lobbies.
Not a big loss anyway because mfplat seem to only fix the ability to view some ingame movies, and at the same time, it wastes a lot of computer performance even when not looking at movies.
Globally if I had to choose a version, I think I'd go with Proton-GE because GE brings the Proton's Wine patches to wine-staging 6.1, while Valve's proton is still using a few months old Wine version (5.13)
- cd ~/.steam/steam/steamapps/compatdata
- git clone https://github.com/z0z0z/mf-install
- WINEPREFIX=~/.steam/steam/steamapps/compatdata/610370/pfx ./mf-install.sh
- cp ~/.steam/steam/steamapps/compatdata/610370/pfx/drive_c/windows/system32/mfplat.dll ~/.steam/steam/steamapps/common/Desperados III/
Works great with both official Proton and custom Proton-GE but both methods have minor issues.
Official Proton
The steps below are required to install the Windows Media Fundation dll in your proton prefix, otherwise you might get a black screen after the Unity logo is shown.- cd ~/.steam/steam/steamapps/compatdata
- git clone https://github.com/z0z0z/mf-install
- WINEPREFIX=~/.steam/steam/steamapps/compatdata/610370/pfx ./mf-install.sh
The issue with this method is that you might experience Unity crashes when viewing the tutorial objects starting from Chapter 1. Upon opening them, sometimes it works, sometimes it crashes.
Proton-5.9-GE-2-MF
This version is Windows Media Fundation dll ready so you do not need extra steps to install the dll.The issue with this method is that with Proton-5.9-GE-2-MF, when you ALT-TAB out of the game and go back in, nothing is clickable and you are forced to kill the process.
Works great with both official Proton and custom Proton-GE but both methods have minor issues.
Official Proton
The steps below are required to install the Windows Media Fundation dll in your proton prefix, otherwise you might get a black screen after the Unity logo is shown.- cd ~/.steam/steam/steamapps/compatdata
- git clone https://github.com/z0z0z/mf-install
- cd ~/.steam/steam/steamapps/compatdata/mf-install
- WINEPREFIX=~/.steam/steam/steamapps/compatdata/610370/pfx ./mf-install.sh
Proton-5.9-GE-2-MF
This version is Windows Media Fundation dll ready so you do not need extra steps to install the dll.The issue with this method is that with Proton-5.9-GE-2-MF, when you ALT-TAB out of the game and go back in, nothing is clickable and you are forced to kill the process.
Switching from Official Proton to Proton-5.9-GE-2-MF
You might get a black screen upon launching the game because the steps you did to install the WMF dlls are in conflicts with Proton-GE so below are the steps to reset your proton prefix without loosing your saves- copy the Desperados III dir from ~/.steam/steam/steamapps/compatdata/610370/pfx/drive_c/users/steamuser/Local Settings/Application Data/Desperados III to a place of your choice
- delete ~/.steam/steam/steamapps/compatdata/610370
- in Steam verify game files of Desperados III
- restore your Desperados III saved directory in step 1 to the same location ~/.steam/steam/steamapps/compatdata/610370/pfx/drive_c/users/steamuser/Local Settings/Application Data/
I hope my experience with it will help you, enjoy this great game !
Everything works out of the box
Minor issue (minor could potentially become major after restarting the game)
To ensure all wine processes are closed after exiting the game you can use this one-liner command
killall -9 -r ".*\.exe|.*SocialClub.*|.*Rockstar.*" && kill -9 $(ps aux | grep '.*PlayGTA.*' | awk '{print $2}')
For me PROTON_HIDE_NVIDIA_GPU=1 solved the crash (or endless loop) at RDR2.exe startup
Played ~3hours without a single crash or problem. Awesome work Valve since it was initially Borked :)
PROTON_HIDE_NVIDIA_GPU=1 %command% -vulkan
More informations : https://github.com/ValveSoftware/Proton/issues/3291#issuecomment-844025547
Errata: Runs great and no crashes, no tinkering required
Just wanted to add a correction to my previous report.
A proton developer pointed out that the variable I was using is officially set in Proton, after investigating my systems, it turned out I had the setting set globally in my user_settings.py file.
I'm feeling so stupid ;s
Runs great out of the box, no necessary tinkering :)
FAKE NATIVE GAME
FAKE NATIVE GAME
Please keep in mind that Terraria, is a fake native Linux game and should be considered a Windows game.
A true native Linux game will have it files compiled for Linux, with .so libraries.
Instead what the Terraria developers do is redistribute the files compiled for Windows to be then executed by Mono, a very lite replacement to .NET far below what offers an installation of Proton + Microsoft .NET
TLDR: Don't waste your time with the native Mono, you will have a much better experience with Proton/Proton GE + .NET Framework 4.0/4.8 + Xna 4.0
FAKE NATIVE GAME
FAKE NATIVE GAME
Please keep in mind that Terraria, is a fake native Linux game and should be considered a Windows game.
A true native Linux game will have it files compiled for Linux, with .so libraries.
Instead what the Terraria developers do is redistribute the files compiled for Windows to be then executed by Mono, a very lite replacement to .NET far below what offers an installation of Proton + Microsoft .NET
Multiplayer: Technically, unlike most peoples are saying, MULTIPLAYER IS WORKING but requires a bit of tinkering, it is just the "Host & Play" shortcut inside the game that is not functioning properly because it expects a cmd prompt to open but wine runs all this in the background without any prompt.
So I have intercepted the server command being run, I runned it manually with Proton and I have been able to IP connect my own server with the lan ip address. No flaws, everything has been working first launch.
TLDR: Don't waste your time with the native Mono, you will have a much better experience with Proton/Proton GE + .NET Framework 4.0/4.8 + Xna 4.0
msvcrt.dll
(Previous report still valid)
Just wanted to add that with Proton I'm able to fix the in game option "Host & Play"
Basically, the game fails on a call to Console.Title, on Windows there is a hidden console and the call is success, on Wine not, and the call fails and the game crashes.
If you manage to make the game to call kernel32.AllocConsole(), this will force Wine to spawn a console near the game, and the "Host&Play" option will work as intended.
I'm able to build a patched version of the wine msvcrt.dll here for my needs, I don't think I need to share mush informations about it but if you really need you can hook me up on Steam, my url id is "class101"
msvcrt.dll
(Previous-Previous report still valid, I wish I could edit, this duplication is correcting protondb question I failed to answer properly haha)
Just wanted to add that with Proton I'm able to fix the in game option "Host & Play"
Basically, the game fails on a call to Console.Title, on Windows there is a hidden console and the call is success, on Wine not, and the call fails and the game crashes.
If you manage to make the game to call kernel32.AllocConsole(), this will force Wine to spawn a console near the game, and the "Host&Play" option will work as intended.
I'm able to build a patched version of the wine msvcrt.dll here for my needs, I don't think I need to share mush informations about it but if you really need you can hook me up on Steam, my url id is "class101"
Hello,
I helped someone on Steam Linux forums to solve an issue on how to login with an old non-Steam TESO account with the Steam version of TESO. It is not that difficult in reality when you know the exact command to execute Proton.
Read all the discussion in this thread to know how
https://steamcommunity.com/app/221410/discussions/0/3102389184720125374/
If you have question you are welcome to ask in the thread or add me as friend (class101)
This title can indeed be considered a fake native game as much is Terraria.
While Terraria is even worse by shipping the Windows files to run under the Mono compatibility layer, TWWII does it a bit better by shipping the Linux compiled files, but compiled by a third party Studio called Feral Interactive.
With all the respect I have for Feral, if a game studio has to rely on a third party studio to ship a Linux version, with months of delay compared to the Windows versions. Fuck it. This is just a Windows game without Linux support.
To run it properly under Proton (5.13-6 and 6.1-GE-2 tested), you will need the following override
WINEDLLOVERRIDES="*atiadlxx=d;"
Edit: Please note that you might not need the winedlloverride entry below.
In fact, since Proton >= 5.0, Valve made sure to add "*atiadlxx=d" as a permanent DllOverride in the Wine prefix. But if you change your Proton from 4.x -> 5.x, sometimes, the permanent overrides are not carried in the 5.x prefix. So overriding "*atiadlxx=d" yourself, will ensure it is not loaded and won't cause an app hang after clicking Start in the launcher.
This title can indeed be considered a fake native game as much is Terraria.
While Terraria is even worse by shipping the Windows files to run under the Mono compatibility layer, TWWII does it a bit better by shipping the Linux compiled files, but compiled by a third party Studio called Feral Interactive.
With all the respect I have for Feral, if a game studio has to rely on a third party studio to ship a Linux version, with months of delay compared to the Windows versions. Fuck it. This is just a Windows game without Linux support.
To run it properly under Proton (5.13-6 and 6.1-GE-2 tested), you will need the following override