this post was submitted on 03 Nov 2024
41 points (97.7% liked)

Baldur's Gate 3

6244 readers
168 users here now

All things BG3!

Baldur’s Gate 3 is a story-rich, party-based RPG set in the universe of Dungeons & Dragons, where your choices shape a tale of fellowship and betrayal, survival and sacrifice, and the lure of absolute power. (Website)

Spoilers

If your post contains any possible spoilers, please:

Thank you!

founded 1 year ago
MODERATORS
 

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.

you are viewing a single comment's thread
view the rest of the comments
[–] Jozzo 3 points 1 day ago (2 children)

I already skip the launcher but this error still happens. My launch args are STEAM_COMPAT_DATA_PATH=/home/user/.local/share/Steam/steamapps/compatdata %command% --skip-launcher

[–] [email protected] 6 points 1 day ago* (last edited 1 day ago) (1 children)

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 (let alone run the game). 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 or bg3.exe instead of running the launcher at all. (I don't remember the exact paths, so I can't just write the correct command line here.)

(Note: GitHub often hides some comments until you click the link to reveal more of them, so just using Control+F in your browser might not find these comments until you've clicked it several times.)

[–] Jozzo 3 points 1 day ago (1 children)

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

[–] [email protected] 2 points 1 day ago* (last edited 1 day ago) (1 children)

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. :)

[–] Jozzo 2 points 1 day ago (1 children)

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

[–] [email protected] 3 points 1 day ago

Hooray!

Have fun on the Sword Coast!

[–] [email protected] 3 points 1 day ago (1 children)

Did you try stripping out everything in the launch options except ‘--skip-launcher’? I tried your command and it didn’t launch but then tried just the skip option and it worked again.

[–] Jozzo 2 points 1 day ago

I need STEAM_COMPAT_DATA_PATH because my proton is installed in a different steam library than the game, all of my proton games use this. I tried to remove it anyway and try just '--skip-launcher', but now the game doesn't launch lol

The command likely won't work for you because you don't have proton installed at that location