SheffeyG / CheatDeck

Launch games with cheat or trainer and manage launch options for steamdeck
GNU General Public License v3.0
69 stars 8 forks source link

fling trainer compatibility after July 2023 #13

Open ice252 opened 9 months ago

ice252 commented 9 months ago

Hello, it seems like cheatdeck has the same issue as other launch options with Fling trainers released after July of last year. There appears to have been an update with how the trainers are developed. Based off troubleshooting for SteamTinkerLaunch, it appears to be related to .NET framework. Wondering if this could be looked at since Fling trainers are one of the few remaining active standalone trainer developers.

ice252 commented 9 months ago

Solved this by installing dotnet40 with winetricks. Looks like an issue with wine mono compatibility.

Dead-kiD commented 9 months ago

Hi. How do you install dotnet40?

SheffeyG commented 9 months ago

Some fling trainer after July 2023 was developed with the newer dotnet framework, if you have compatibility problem with these cheat , please update the .net framework var tools like protontricks or use other cheats.

eXhumer commented 9 months ago

Direct link to dotNetFx40_Full_x86_x64.exe

Run the executable with protontricks/winetricks under the games prefix from Desktop Mode.

cable387 commented 9 months ago

Hi all, so I'm a Linux newbie and was hoping someone could expand on installing the exe mentioned above. I have installed proton tricks, I have downloaded the exe mentioned above.

I tried right clicking the exe and running with protontricks but one time it told me I had a newer version installed already. On follow up attempts, it just has an installation failure now?

When I launch proton tricks, am I supposed to select the game I want to install the dotnetfx40 for and then navigate to some menu to do it? Thanks for any help or guidance!

ice252 commented 9 months ago

There are additional steps to take before installing the executable in the prefix. Not a Linux expert by any means, I mostly just browsed Grown Up Gaming YT for similar work arounds that required dotnet48. My process that has worked for me so far with a few different trainers is below.

  1. Turn on the compatibility layer that you intend to run the game on (for me this was generally the latest GE Proton) and launch the game to create the prefix.
  2. Exit out of the game and swap compatibility layer to Proton 6.19-GE-2.
  3. Launch protontricks and select the game you're trying to use the trainer with.
  4. Probably optional since you're not installing dotnet48, but run winecfg and change compatibility to win7 from win10 using the dropdown.
  5. At this point, you would do whatever method you want to run the dotnet40 executable. Either console and cmd line winetrick, run the uninstaller option in protontricks and select the dotnet40 exe, or I just used the "install a windows DLL or component" in protontricks and selected dotnet40.
  6. Change the compatibility layer of the game back to the one you'll be playing on (or if you're using SteamTinkerLaunch, swap to that but make sure to change to the proton version in STL options)
  7. Configure cheat deck to load your trainer.

If you want a video, look up Grown Up Gaming on youtube and follow along with how he installs WeMod. A lot of the steps are similar, just make sure to install dotnet40 instead of 4.8.

cable387 commented 9 months ago

That is incredibly helpful! Thanks a ton. I'll have to test it out tomorrow but all of that makes sense from reading through it.

eXhumer commented 9 months ago

There are additional steps to take before installing the executable in the prefix. Not a Linux expert by any means, I mostly just browsed Grown Up Gaming YT for similar work arounds that required dotnet48. My process that has worked for me so far with a few different trainers is below.

  1. Turn on the compatibility layer that you intend to run the game on (for me this was generally the latest GE Proton) and launch the game to create the prefix.
  2. Exit out of the game and swap compatibility layer to Proton 6.19-GE-2.
  3. Launch protontricks and select the game you're trying to use the trainer with.
  4. Probably optional since you're not installing dotnet48, but run winecfg and change compatibility to win7 from win10 using the dropdown.
  5. At this point, you would do whatever method you want to run the dotnet40 executable. Either console and cmd line winetrick, run the uninstaller option in protontricks and select the dotnet40 exe, or I just used the "install a windows DLL or component" in protontricks and selected dotnet40.
  6. Change the compatibility layer of the game back to the one you'll be playing on (or if you're using SteamTinkerLaunch, swap to that but make sure to change to the proton version in STL options)
  7. Configure cheat deck to load your trainer.

If you want a video, look up Grown Up Gaming on youtube and follow along with how he installs WeMod. A lot of the steps are similar, just make sure to install dotnet40 instead of 4.8.

Step 2, What is the point of switching to Proton-GE? Step 4, Why change version? dotnet40 worked for me on Windows 10 last time I installed it on my RE4 prefix from the EXE. Step 5, Run explorer and use it to browse directory, much easier than using winecfg. You can even browse to /home/deck/Downloads and run the EXE from there directly by double clicking there.

RE4 FLING Trainer didn't work for me by default. I then ran protontricks under RE4 prefix, launched explorer and simply installed the dotnet40 from Microsoft's download link. After that, RE4 trainer worked under RE4 prefix without any issue.

ice252 commented 9 months ago

To answer all your questions, it's what worked after trying to run the exe directly under the prefix didn't work for me.

SheffeyG commented 9 months ago

@eXhumer I guess the fling developer used an older dotnet version instead of a newer one? and it is older than the one inside some ProtonGE, I tested to install dotnet4.0 with ProtonGE 8-9, same issue told me I had a newer version already. I guess maybe the .net inside your RE4 prefix/proton is older than 4.0 so you can update it directly.

Mte90 commented 8 months ago

It is the same issue that https://github.com/wyyadd/LaLa?tab=readme-ov-file#on-linux-or-steam-deck-why-some-trainers-wont-start for fling trainers mention.

So probably the most ssimpler solution to avoid to install something is just to use the Proton-GE version that you can install with the protonup-qt app.

Another solution can be that this tool detects if the exe crash and automatically installs mono in proton or show an alert as example