Reloaded-Project / Reloaded-II

Universal .NET Core Powered Modding Framework for any Native Game X86, X64.
GNU General Public License v3.0
611 stars 83 forks source link

Bug: Dependencies not recognized on Steam Deck #409

Closed mlgfx closed 4 months ago

mlgfx commented 4 months ago

I can't get Loaded II to launch on my Steam Deck even though I have every dependency installed.

I followed this guide to install Loaded II: https://gamebanana.com/tuts/17474 After some hiccups I finally got the VC, .NET 7 and .NET 8 dependencies to install into the Persona 5 prefix. Then I tried launching Loaded II inside the prefix but it says to install .NET 8 even though it was installed successfully. I then tried to use an older version of Loaded II which didn't use .NET 7 but now it suddenly can't recognize .NET 7 Core. I don't know what to do anymore.

IMG_4155

Sewer56 commented 4 months ago

Can you try running with DOTNET_ROOT= wine Reloaded-II.exe?

Maybe it's trying to use the native .NET install (if you havr one), over the one in Wine/Proton.

Otherwise, if not that, make sure you have the dependencies installed in the specific proton/wine prefix (WINEPREFIX) you're trying to start the launcher from. Maybe you're using different prefixes there.

mlgfx commented 4 months ago

Can you try running with `DOTNET_ROOT= wine Reloaded-II.exe?

How do I do that exactly?

Sewer56 commented 4 months ago

How do I do that exactly?

From a terminal.

It's a bit difficult here. The original post doesn't state how the launcher is being started. So I'm not sure if it's Wine, Proton etc.

mlgfx commented 4 months ago

Oh sorry, forgot to mention that. I'm right-clicking on Loaded II.exe > Open with > Protontricks > then I select the prefix

Sewer56 commented 4 months ago

Oh sorry, forgot to mention that. I'm right-clicking on Loaded II.exe > Open with > Protontricks > then I select the prefix

It may be possible you didn't run Setup via the same prefix.

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-8.0.7-windows-x64-installer

https://dotnet.microsoft.com/en-us/download/dotnet/thank-you/runtime-desktop-8.0.7-windows-x86-installer

In this case, run these two installers via the same method, i.e. protontricks , then selecting the same prefix, it should hopefully do the trick.

mlgfx commented 4 months ago

I did. You can see it in the screenshot. The list with the installed dependencies is from the same prefix I'm trying to run Loaded from.

I tried running the DOTNET_ROOT= wine Reloaded-II.exe command in my terminal with the correct folders but it just says "wine: command not found"

Sewer56 commented 4 months ago

Yeah, essentially I think you want to set environment variable of DOTNET_ROOT to empty befote running the program. That's the only cause I can think of, the variable being inherited from the host.

I don't have Deck OS available on me to verify easily. But it's certainly strange. I don't know if protontricks has a decent way to override environment variables.

You could maybe try something like

export DOTNET_ROOT=
protontricks

In the terninal, see if it's possible to at least start up that way.


There's something strange going on either way. I've never seen an issue like this. I can only think the DOTNET_ROOT variable is set, though I'm not even sure if that's the case either. The Deck uses an immutable OS.

mlgfx commented 4 months ago

I tried putting both commands into my terminal. The first one gave me no reaction. The second one spat out "protontricks: command not found"

Sewer56 commented 4 months ago

You might need to run flatpak run com.github.Matoking.protontricks instead if you installed by Flatpak then

mlgfx commented 4 months ago

(deck@steamdeck ~)$ flatpak run com.github.Matoking.protontricks export DOTNET_ROOT= usage: protontricks [-h] [--verbose] [--no-term] [-s SEARCH [SEARCH ...]] [-l] [-c COMMAND] [--gui] [--no-runtime] [--no-bwrap] [--background-wineserver] [--no-background-wineserver] [-V] [appid] ...

Wrapper for running Winetricks commands for Steam Play/Proton games.

Usage:

Run winetricks for game with APPID. COMMAND is passed directly to winetricks as-is. Any options specific to Protontricks need to be provided before APPID. $ protontricks APPID COMMAND

Search installed games to find the APPID $ protontricks -s GAME_NAME

List all installed games $ protontricks -l

Use Protontricks GUI to select the game $ protontricks --gui

Environment variables:

PROTON_VERSION: name of the preferred Proton installation STEAM_DIR: path to custom Steam installation WINETRICKS: path to a custom 'winetricks' executable WINE: path to a custom 'wine' executable WINESERVER: path to a custom 'wineserver' executable STEAM_RUNTIME: 1 = enable Steam Runtime, 0 = disable Steam Runtime, valid path = custom Steam Runtime path, empty = enable automatically (default) PROTONTRICKS_GUI: GUI provider to use, accepts either 'yad' or 'zenity'

positional arguments: appid winetricks_command

options: -h, --help show this help message and exit --verbose, -v Increase log verbosity. Can be supplied twice for maximum verbosity. --no-term Program was launched from desktop. This is used automatically when lauching Protontricks from desktop and no user-visible terminal is available. -s SEARCH [SEARCH ...], --search SEARCH [SEARCH ...] Search for game(s) with the given name -l, --list List all apps -c COMMAND, --command COMMAND Run a command in the game's installation directory with Wine-related environment variables set. The command is passed to the shell as-is without being escaped. --gui Launch the Protontricks GUI. --no-runtime Disable Steam Runtime --no-bwrap Disable bwrap containerization when using Steam Runtime --background-wineserver Launch a background wineserver process to improve Wine command startup time. Disabled by default, as it can cause problems with some graphical applications. --no-background-wineserver Do not launch a background wineserver process to improve Wine command startup time. -V, --version show program's version number and exit protontricks: error: argument appid: invalid int value: 'export'

Sewer56 commented 4 months ago

In this case it'd be

export DOTNET_ROOT=
flatpak run com.github.Matoking.protontricks --gui

I'm not sure why the first command was passed as a parameter. They're 2 separate commands.

In any case, all of this is just a guess, I have no idea why the runtime isn't being seen if it's all in same prefix.

mlgfx commented 4 months ago

It worked somehow! After I put in the command I had to select the prefix. Then I went to the Explorer in Protontricks and selected the Loaded II.exe and it finally launched. Thanks so much!

Sewer56 commented 4 months ago

No worries! You'll just need to know to run

export DOTNET_ROOT=

Before starting the main exe. You might be able to get away with some cheap trick like making a batch file that sets that variable from inside wine/proton and then runs the exe.

Sewer56 commented 4 months ago

No worries! You'll just need to know to run

export DOTNET_ROOT=

Before starting the main exe. You might be able to get away with some cheap trick like making a batch file that sets that variable from inside wine/proton and then runs the exe.