Baldur’s Gate 3 on Ubuntu Linux

It’s difficult to be a gamer or a D&D fan these days and not be inundated with news and information about how great Baldur’s Gate 3 is. Happily I have a great group of gamer friends always up for trying new games. My husband was a big fan of the Divinity games so we’re giving BG3 a go. Since I use a Ubuntu PC there’s always a bit of stress and tinkering required for games, although thanks to Valve’s incredible work on their Proton compatibility layer, it’s now rare to encounter a game I want to play but can’t get working through Steam. Baldur’s Gate however is $80 CAD so I definitely had to make sure I could get it working before the refund period passes (less than 2 weeks or 2 hours of gameplay). I did end up having to pour through the info for BG3 on ProtonDB to get it working.

Tinker Steps for BG3 on Steam

I installed Baldur’s Gate 3 via Steam… it required about 150G of hard drive space (ouch) so I pruned a few old games first. It took several hours to download.

If you aren’t familiar with the ProtonDB website, it tracks reports of whether Steam games can work under Steam’s compatibility layer, Proton (works with Wine under the hood), and collects reports from players about any bugs or issues they encountered and what steps they had to take.

For reference I’m on a 64 bit Ubuntu 20.04 machine with an AMD processor and a NVIDIA graphics card.

I ultimately had to try various combos of Proton version and Launch Options. To save you the trouble, here’s what ultimately worked:

  • Proton Version: 7.0-6
  • Launch Options: eval $( echo "%command%" | sed "s/Launcher\/LariLauncher.exe'.*/bin\/bg3_dx11.exe'/" )

You can find these settings by visiting the game in your library, right-click the name of the game in the list on the left, then choose properties.

I rebooted twice during this process which I think was key. On the library page next to the big green Play button, it will show you various status messages, and sometimes it would say it was updating or launching but then just hang. After setting the Proton version, you may notice that the game downloads a few small updates. If launching hangs, give it a few minutes to ensure it’s done whatever updating it needed to do… then Cancel loading the game, exit Steam and reboot your machine.

You can see from the launch options that it’s using the DX11 version of the executable. This also skips the initial Larian launcher window and goes straight to launching the game.

If these steps don’t work for you, or you have a different PC setup, you might want to browse the ProtonDB reports for the game, because other players have had luck with other combos of tinker steps, and one of those might be the sweet spot for you.

I have managed to boot up the game and play though the first few minutes of the opening scene including one combat encounter. It runs smoothly and bug free so far and I didn’t even have to compromise any video quality settings. Lovely! The opening cinematic played perfectly. I wish all games were this nice on Linux (looking at you Green Hell)!

But Wait! Mods!?

Update Nov 20 – BG3 recently had an update which negated this mod, and at the same time, the mod itself was updated. Now you have to download the Legacy version of the mod, and the patcher is in a separate download labelled Multiplayer Patch. The instructions are more or less still applicable.

I don’t generally mod games, partially because I prefer to play a game as the creators intended, but also because if modding in general is complex and risky… doing so on Linux where getting a game to run is an accomplishment in of itself… well, modding a game on Linux is an extra special pain in the butt. Documentation for mods is often scarce or poorly written and finding instructions for Linux is usually rare. However, we have 5 of us wanting to play and the game as it is only allows a party of up to 4. So in this case I’m at minimum going to need the Party Limit Begone mod. Here we go…

Right off the bat, this mod doesn’t use the Nexus mod manager, which is fine because I don’t have that installed. And great news- it has a section for how to install the mod for Mac/Linux. Awesome, someone thought of the rest of us Linux-using masochists! Although I’m usually suspicious when docs think that Mac and Linux are the same… but anyway… I ultimately managed to figure it out:

  • Download the zip file of the mod from NexusMods (you will need an account on this website).
  • Unpack the zip somewhere on your machine (I like to keep a directory of game downloads and I just created a mods subdirectory).
  • Find the game install directory on your machine. For me it was /home/username/.steam/debian-installation/steamapps/common/Baldurs Gate 3/. It looks like this:
  • In the unzipped files for the mod, there is a Mods subdirectory. Copy this INTO the Data directory of the game files. Leave it alone.
  • Make sure you have Wine installed. I have version 5.0 installed from the Ubuntu Software Center. You can check if you have it with the command: wine --version.
  • If you look at the tinker steps above at the launch options I’m using, you’ll see that I’m launching the game via the bin/bg3_dx11.exe file. If you used different tinker steps, you might be using bin/bg3.exe. Which file the game is launching with matters. I tried it the first time with the second one and nothing changed because I missed this initially.
  • Edit the PartyLimitBegonePatcher.bat file and change the line which sets the GetFileName variable to the name of the executable used to launch the game. Save your changes.
    • Was: Set "GetFileName=%~n1.exe"
    • Now: Set "GetFileName=bg3_dx11.exe"
  • Next, backup the executable file. I just copied it in place to create a pre-modding duplicate.
  • Then put a copy of the executable file we are using (and thus about to mod it) into the same directory as the bat file. We are about to modify this copy of the exe file.
  • Now you need to run the bat file, but this is a Windows file so you need to run it within Wine. Open a terminal and run: wine cmd
    • This will give you an emulated windows command line interface. Navigate to the directory where the bat file is. You can still use the cd command to change directories but remember that Windows uses the backward \ for file path separators. And if a directory has a space in it you’ll need to wrap it in quotes. For me it looked like: cd "Games/BaldursGate/Mods/Party Limit Begone Multiplayer Patch v1.1-327-1-1-1699149306"
    • Now you can run the bat file with the start command like so: start PartyLimitBegonePatcher.bat
    • You will see it do some work and pop up some small windows showing that it is editing the exe file. It will also create a backup of the file. This might mean you have 2 backups in 2 different places… this was extra ok to me. 🙂
    • Exit the Wine command line with the exit command.
  • The exe file in the mod directory is now modified. You should see it’s Modified date has changed to now. Copy this file back into the game’s bin/ directory overwriting the original. You now have a modified executable that will launch the game. I’m assuming that this will load and use some of the files in the Mods directory that you copied into Data/.

Now when you launch the game and try to start a multiplayer session, you should be able to see more options for party size. Our 5th player won’t be left out! 🎉

A few notes: We haven’t actually tried this out yet, so I’m taking this with a grain of salt. I also read that this mod can cause problems with long rests at camps. I’m also assuming that this patching process of the executable file will have to be repeated every time an update changes the exe file back to it’s default state. Thus, I’ll probably be coming back to this very blog post myself!

Let me know how this all goes for you, and how you’re liking the game so far (no spoilers)!

Update: Multiplayer (Party Limit Begone Mod)

Oct 16 – My husband and I briefly tried joining together to see how/if the multiplayer works, and I discovered that I can’t see the public servers. It shows me a “not connected to online community” message. I couldn’t find any information about this. And we weren’t able to see each other’s servers either publicly or via LAN. When he tried to invite me to his lobby, accepting the invite didn’t do anything. I’m unsure if this is related to playing on Linux, because when I searched for this problem I found a lot of Windows users also unable to connect to public servers. Ultimately we were able to join by Direct ID. He sent me the ID of his lobby and I could connect that way. It never shows my Steam profile picture or my Steam username, it just shows a default profile picture for myself and other players, and for my name it just says “Public”. I’ll update here if I find a solution but so far the work around isn’t ideal but it’s ok for now.

Oct 24 – We’ve now had a few sessions playing as a group and I think we have a feel for how the Party Limit Begone mod works. It does, in fact, work. But it has a lot of drawbacks. The host cannot just resume the previously saved game next time we play. They have to create a brand new game (we all just quickly skip through the character creation screens) and load us all into the new game lobby which does let you set the player count to 5 via the mod. Once we load into the new game with all 5 of us, he THEN loads our previously saved game… and it loads all 5 of us into it. A bit of a headache, but it works.

We also encounter some bugs where the game doesn’t know what to do with the 5th player and so leaves them hanging out into some kind of non-zone clipped out of the play area. This happened in the first location transition. We solved this by quickly finding then reloading at a waypoint. The waypoint pulls all 5 players into the proper location.

Obviously adding a 5th player will make combat easier. We handled this by increasing to the higher difficulty. And if this remains still too easy, we may look into yet another mod to increase enemy health.

The Camp also doesn’t work great with 5 players. Player 5 doesn’t get a private stash container. We haven’t needed a long rest yet… but we’ll probably see tonight how that works out.

All-in-all… I don’t recommend this Mod. It’s a pain in the neck. However if you already have a group bigger than 4 that wants to play together like we did, this will functionally get you there. However I would not go hunting for a 5th player or more if you don’t already have a group bigger than 4.

Leave a Reply

Your email address will not be published. Required fields are marked *