Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Help: Dotnet not found on Steam Deck even though installed #513

Open
mihiros6000 opened this issue Dec 6, 2024 · 14 comments
Open

Help: Dotnet not found on Steam Deck even though installed #513

mihiros6000 opened this issue Dec 6, 2024 · 14 comments
Labels
untriaged No decision has been made by the developers.

Comments

@mihiros6000
Copy link

mihiros6000 commented Dec 6, 2024

Did you install the Prerequisites?
Yes, checked + running the Installer for dotnet 9 windows desktop runtime x86/x64 shows Repair/Uninstall options.

Describe the Issue
Prerequisites installed + vcredist x86/x64 + SetupLinux run and I tried manual extraction just in case too. Running ReloadedII.exe via Metaphor (game in question) prefix always spits out:
Image

For transparency, I was trying to get SpecialK working (gave up) which is when the troubles started. However, I have nuked and recreated the prefix multiple times and still hitting the issue. However, I thought it might be worth mentioning just in case SpecialK debris somehow got added to the compatdata/prefix creation requirements and are conflicting with dotnet.

Additional Resources
Game is Metaphor: ReFantazio
I had it working before, so I know it's possible lol

@mihiros6000 mihiros6000 added the untriaged No decision has been made by the developers. label Dec 6, 2024
@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

Copies from a comment I've made before.

====

What happens under Wine is.

  1. Wine inherits the environment variables of the host system.
  2. The .NET Runtime allows you to override its expected location with the DOTNET_ROOT environment variable.
  3. When you have a native Linux installation of .NET, the package sets DOTNET_ROOT as many distros install the runtime in a non-default location.

This is problematic, because when you try to run a .NET application in Wine, it looks at the native Linux one, rather than the Windows one.

The Setup-Linux.exe installer sets an environment variable to explicitly state DOTNET_ROOT to be in Program Files/dotnet to avoid it inheriting the value from the Linux host. I suspect something is borked around that.


So in any case, you can try running the Exec
command from the .desktop file shortcut made by the installer that's on your Desktop. See what happens if you prefix it with DOTNET_ROOT="" , so for example DOTNET_ROOT="" protontricks-launch ...

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

You can also try running dotnet --list-runtimes via protontricks-launch, see what you get for your game's WINEPREFIX.

@mihiros6000
Copy link
Author

That worked, but the same thing seems to be happening with vc_redist x86/x64
Image

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

These deps are usually installed as part of Setup-Linux.exe, I wonder if you wiped your WINEPREFIX after running it, hmm.

Just install into the prefix and you should be good.

@mihiros6000
Copy link
Author

mihiros6000 commented Dec 6, 2024

Unfortunately, that didn't seem to work. I just installed them to the prefix and still got these messages. At this point, I'm currently running DOTNET_ROOT="" protontricks-launch Reloaded-II.exe

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

Does ignoring the VCRedist messages work for you?
I.e. does loader work?

Maybe the check itself is borked, have recently upgraded to VC2022, although seems to work fine on my machine, I haven't tested on a huge number of configurations.

@mihiros6000
Copy link
Author

mihiros6000 commented Dec 6, 2024

The application seems to work, the check is just messed up probably. However, it seems like the workaround nature of how I'm running it has stopped me from seeing Z:/ drive when adding an application.
Image

Can't see the steam folder either. Protontricks has full access to user files via Flatseal.

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

Note: VCRedist is required only by the loader, the launcher only uses .NET.

@mihiros6000
Copy link
Author

Ah ok, so I'd have to check once I've added the game + some mods and attempt a load?

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

Basically you'll know simply by whether the debug/log console shows up, yeah.

@mihiros6000
Copy link
Author

Do you know why I might not have access to Z:/ and files to get to the game's exe?

@Sewer56
Copy link
Member

Sewer56 commented Dec 6, 2024

No, it's highly unusual, I haven't seen a case like that before.
Technically you can manually map it with winecfg, but it's strange in any case. I've never seen a case like this before.

@mihiros6000
Copy link
Author

I clicked Show dot files in winecfg which worked (just in case somebody comes looking). Just going to check Loader so you can close this out.

@mihiros6000
Copy link
Author

Worked, thanks so much for your help. You're doing amazing work!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
untriaged No decision has been made by the developers.
Projects
None yet
Development

No branches or pull requests

2 participants