(SOLVED!) Please help with Running Baldur's Gate 3 on linux (Debian)
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.
When you need a component such as the .NET framework you can install it in Wine/Proton using the Windows installers. The .exe you are being recommended should be able to run, but the other way around it is to use something like protontricks, a proton version of winetricks (technically it uses winetricks and is more of a set of integrations and a GUI, but yeah). Using protontricks you can install the .NET framework, the C++ runtimes, dxvk, and other tools. I would recommend learning a little about how to use protontricks and maybe look for a few specific tutorials for using it with specific games to get a feel for it.
pressure-vessel-locale-gen: Missing locale en_US.UTF-8
pressure-vessel-locale-gen: Generating locale en_AU.UTF-8...
pressure-vessel-locale-gen: Generated locale en_AU.UTF-8 successfully
pressure-vessel-locale-gen: Generating locale en_US.UTF-8...
pressure-vessel-locale-gen: Generated locale en_US.UTF-8 successfully
pressure-vessel-adverb[101880]: W: Container startup will be faster if missing locales are created at OS level
0084:err:file:init_redirects /media/user/T7/Main/Games/SteamInstalled/steamapps/compatdata/1086940/pfx/dosdevices/c:/windows: No such file or directory
Thank you for pointing me in the right direction, I've never used protontricks before
Edit: using protontricks 1086940 dotnetdesktop7 seems to get past that point, but then I get another error
protontricks (ERROR): Active compatibility tool was found, but it's not a Proton installation supported by Protontricks.
Proton installation could not be found!
my proton is installed in a different steam library than BG3, could this cause issues?
It is possible, can you confirm the filesystem your steam install is on? The T7 mount looks like an automatic user mount, is it a standard ext4 or btrfs partition? Also, why is it mounting there, not in a fixed location denoted in your /etc/fstab file? If it is just automatic mounting there are some possible issues that could come from that, it may be worth testing another windows game through proton installed in the same steam library folder.
That all said, you definitely need to have proton installed. If you go to your steam library you should be able to search for proton there. I would recommend installing the current version, the experimental, and if it is there proton-ge. I haven't used Debian for a while so I don't know what is in your repos but searching for proton-ge there may also have results.
Once you definitely have the latest and experimental versions try switching version, testing with protontricks. It should show up both versions and allow you to switch between them without problems. You may also need to define your proton prefix as an environmental variable, something like PROTONPREFIX=/path/to/your/T7/proton/prefix/
If you can't get that going consider jumping on to a matrix channel for more second by second help, tonnes of people are happy to help you get wine/proton working correctly.