Skip to content

Instantly share code, notes, and snippets.

@Tercus
Last active April 27, 2020 12:04
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tercus/3db75788df3c7e1efee06904bb985419 to your computer and use it in GitHub Desktop.
Save Tercus/3db75788df3c7e1efee06904bb985419 to your computer and use it in GitHub Desktop.
Bannerlord linux

Disclaimer and Thank-yous

This guide is pieced together with information collected in this very long github issue. There is no guarantee for this to make Bannerlord work on your particular system, because one thing the github issue showed was that hardware and software configurations can have a large effect on the stability of the game. You should also be prepared for crashes, even when the game seems to be running fine. Make sure to save frequently.

This guide was made possible by all the people in the github issue that tested things out and reported back. I would also like to thank VictorRogers, YellowApple, Metal079, allquixotic, lboklin, ptkato for their great suggestions and corrections and all the others in helping getting Bannerlord to work!

Current issues

  1. There may be long saving times (up to a minute)
  2. There may be performance issues and micro-stuttering
  3. There may be frequent crashes

Current discussions

The following topics are currently being discussed as alternative solutions to get the game running:

  • using a kernel that has fsync enabled improves the time it takes to save games (no vcrun2019, .NET-core needed)
  • skipping the launcher improves performance (either by symlinking or by setting launch options)

Getting everything you need

Please be aware, that using third party ppa's or binaries always has an inherent risk! Don't just download any file you find, but take the time to make sure that it is from a reputable source. I tried to only include options here that are well known and used by many.

Proton-5.5-GE-1

What is this for?

Shortly after release it was reported that mouse-input wasn't working. The cause was identified within days and a fix was provided. That fix found its way into wine-staging, but will take a long time until it will be part of the normal wine release. Proton is based on wine and until that fix will be included in proton will take some time. There are however third-party proton builds that include the latest wine-staging changes.

Instructions
  • download the release from here.
    • there's an "Assets" button at the end of each release post
  • extract the content of the .tar.gz file in /home/<your-name>/.steam/compatibilitytools.d/
    • if that folder does not exist, create it
    • you should now have a subfolder in that folder named Proton-5.5-GE-1
  • restart steam if it is already running
  • right-click on Bannerlord and go to "Properties"
    • in the "General" tab at the bottom tick the option "Force the use of a specific Steam Play compatability tool"
    • you should be able to select the option "Proton-5.5-GE-1"
  • if you don't see the option in the properties, try moving the "Proton-5.5-GE-1" folder into the following location: ~/.local/share/Steam/compatibilitytools.d (create the folders if they don't exist) as was recommended here
    • restart steam and check if the option exists now

winetricks with vcrun2019

What is this for?

winetricks allows you to configure the prefix (the fake windows environment) your game is running in more easily. It also handles the installation of a lot of system software that would normally fail if installed manually. While you might find a version of winetricks in your OS repository, we will need one that can install "vcrun2019", so it needs to be fairly new.

Instructions
  • winetricks is just a binary file that you need to download and make executable. I compiled the instructions from this and this source:
    cd "${HOME}/Downloads"
    wget  https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks
    chmod +x winetricks
    
    • if you want to install it for the current user:
      mkdir "${HOME}/bin"
      mv winetricks "${HOME}/bin"
      
    • if you want to install it systemwide:
      sudo mv winetricks /usr/bin/
      
  • you will have to re-login to see the command in the console

protontricks

What is this for?

Protontricks is a wrapper for winetricks. It makes it simpler to use and offers some quality of life features. In winetricks you have to define which prefix you want to use, what wineserver to use and which wine binary to run and so on. Protontricks figures all that out by the game-id it is given.

Instructions
  • sadly there seems to be no other "easy" way to get protontricks other than using the pipx installation method
  • installation instructions can be found here
  • according to this post, Arch users may have another alternative by using pacman install protontricks-git
    • as has been pointed out to me, user on Arch distributions also have the following option:
      git clone https://aur.archlinux.org/protontricks-git.git
      cd protontricks-git
      makepkg -si
      

dotNet core

What is this for?

After a lot of testing it was discovered that installing ".NET core" speeds up the save time immensely. The actual reason for this is not really clear. If it takes too long for you to save, you can try installing this.

Instructions

Getting Bannerlord to work (maybe)

Cleanup and prepare the game folders
  • go to /home/<your-name>/.steam/steam/steamapps/compatdata/ and rename the folder "261550" to something like "Backup_261550"
    • copying is not enough, as you actually want start with the initialisation of a completely fresh wine-prefix
    • copying the folder will backup your savegames, your settings and your whole wine-prefix in case you want to retrieve or test things later on
Let the game initialize once
  • run the game once
    • this is to let steam install some dependencies
    • starting a new campaign is not necessary
  • exit the game
Install dotnet472
  • open a console and run protontricks 261550 dotnet472
    • it will run through several installations of older versions of dotnet
    • when the installer asks, choose to "Restart now" (won't actually restart your PC)
Install vcrun2019
  • in the console run protontricks 261550 vcrun2019
    • I am not a hundred percent sure if this is needed, but I did it and my setup seems to work fine
Install .NET core
  • in the console run protontricks 261550 --gui
    • select "Select the default wineprefix"
      • check in the window title if the correct prefix is selected, it should be /home/<your-name>/.steam/steam/steamapps/compatdata/261550/pfx
    • select "Run explorer"
    • open the "/" device and go to where you downloaded the .NET-core file and double-click it to let it install
      • as I had two ".NET core" files, I installed both this way
    • close the explorer when the installation has finished
Check configs
  • select "Run winecfg"
    • in the "Applications" tab at the bottom set "Windows version" to Windows 10
    • I am not a hundred percent sure if this is needed. I have it at Windows 7 and everything seems to work fine
  • close winecfg with the "OK" button and leave the protontricks gui by pressing "Cancel" until it closes
Start the game
  • start Bannerlord through steam
  • start a new campaign
    • you have no other choice, because your old savegames are only in the backup
    • you can try to recover your old savegames, but only if you made them with the same game-version as the one you are using now
      • I haven't tested this yet, so...report back if it works.

Troubleshooting

If things still don't work, there are a few things that were mentioned in the very long github issue that you can try to do.

You are running an AMD GPU and the game doesn't work
  • you can try updating to the latest MESA drivers
You are running NixOS and want to install winetricks
  • installation procedures for NixOS are different, so installing winetricks is a bit more complicated. I don't use it, but there is a step by step guide here (you will have to unhide the post)
    • there is also a script "for documentation and easy toggling between various steps and methods to create prefixes"
The game crashes and I can't restart it
  • this might be because of a stuck wineserver process. Check the taskmanager of your OS and kill it if necessary.
I want to debug the game, but the logfiles are HUGE
  • proton assumes a set of debug settings, but you can change that. See this post for explanation
@vadi2
Copy link

vadi2 commented Apr 27, 2020

Would you mind updating the guide on how to install mods as well?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment