EDIT: The issue was caused by my SSD being formatted in exFAT, which doesn’t support symlinks. I backed up my SSD & reformatted it to btrfs, and then I could install .NET without hassle & the game runs!
Original Post:
I’m having an issue running this game on linux, every time I click play in Steam I get the following popup:
“you must install .NET desktop runtime to run this application”
Clicking “yes” takes me to download a Windows .exe which of course can’t run on linux. I manually installed the .NET runtime following linux instructions here: https://learn.microsoft.com/en-us/dotnet/core/install/linux-debian but the game still gives me this error.
Other things I’ve tried:
- Reinstalling BG3
- Completely deleting every file from steamapps/common for BG3 & reinstalling
- Reinstalling Proton
- Skipping the launcher
- Tried with proton experimental, 9, 8, 7
My launch args are STEAM_COMPAT_DATA_PATH=/home/user/.local/share/Steam/steamapps/compatdata gamemoderun %command% --skip-launcher
On protondb everybody else seems to be running the game fine, but I don’t understand how to get past this error.
I don’t know if
--skip-launcher
is a valid command line option. If it is, I expect it just tells the launcher to immediately launch the game without showing a launcher screen. Of course, if the launcher requires a version of .Net that isn’t set up correctly, then it can’t run at all, and therefore can’t even get as far as noticing the command line option. So I wouldn’t expect this to work.Instead, read through the bug report that I linked earlier. Look for the comments that explain how to make Steam run
bg3_dx11.exe
orbg3.exe
instead of running the launcher at all. (I don’t remember the exact paths, so I can’t just write it here.)(Note: GitHub often hides some comments until you click the link to reveal hidden ones, so just using Control+F in your browser to find these comments might not work until you reveal them.)
I think you’ve just pointed me in the direction of a solution…
The comment you’re referring to seems to be this one:
mv Launcher Launcherbak ln -s bin Launcher ln -s ./bin/bg3_dx11.exe ./bin/LariLauncher.exe cp ./Launcherbak/*.dll ./bin
creating a symlink to trick steam into thinking it’s running the launcher when it actually runs the game. BUT … my SSD is formatted as exFAT, which doesn’t support symlinks, so I can’t do this.
So I’m guessing proton is trying to create a symlink at pfx/dosdevices/c when it installs .NET, but fails, which is also probably why everyone else seems to have a breezy time with it. Not sure why my other games haven’t run into this though… maybe they haven’t needed to install anything there?
I will report back after reformatting my entire SSD lol
That symlink approach is one way to run the game executable directly, but it’s a little heavy handed, and likely to be reverted whenever the game gets updates or you verify the game files.
Sometimes you can put something like
/path/to/game/executable.exe %command%
in the Steam launch options to accomplish the same thing without symlinks. I suggest reading more of those comments to see if anyone had success with this approach.It might still be a good idea to replace exFAT, though. Symlinks are often useful. :)
Reporting back!
Reformatted with btrfs, steam now does this when I open the game (didn’t before):
anddd it works! Can’t believe this whole headache was just exfat all along lol!
Thank you for your help :D
Hooray!
Have fun on the Sword Coast!