I was struggling to get videos working on Borderlands 3 on Linux through Steam and Proton. Without the videos, there are parts of the game you are unable to get past.
I found pieces to the puzzle on Proton DB (https://www.protondb.com/app/397540) but there were still some tweaks I had to make.
YMMV, but this is what worked for me on Kubuntu 20.04 with Radeon Graphics.
Make sure you have told Steam to run all Windows games in Proton 5.
Run the game:
Before you can install the media foundation workarounds you need the Proton setup for the game to have run. That’s easily done by just running Borderlands 3 once and then exiting out once you’re at the title screen.
Install the prerequisites:
sudo apt install git cabextract python2 libudev1
Download and install media foundation workaround
Note that anywhere you see “Proton 5.0” you’ll need to use whatever the latest version number of proton is or the version you specified if you’re having the game run with a specific version.
mkdir ~/Downloads/bl3-mf/ cd ~/Downloads/bl3-mf/ git clone https://github.com/z0z0z/mf-install.git cd mf-install/ WINEPREFIX="$HOME/.steam/steam/steamapps/compatdata/397540/pfx" PROTON="$HOME/.steam/steam/steamapps/common/Proton 5.0" ./mf-install.sh -proton cd ..
Download and install the media foundation cab workaround
At the time of this post, the installer seems to be pointing to a file on Microsoft’s website that doesn’t exist anymore. These steps will download a working file manually and rename it to what the script expects. If you see a 404 error, you can ignore. If not, then the script has been fixed to point to a good location now.
sudo ln -svf /usr/lib/x86_64-linux-gnu/libudev.so.1 /usr/lib/x86_64-linux-gnu/libudev.so.0 git clone https://github.com/z0z0z/mf-installcab.git cd mf-installcab/ wget http://download.windowsupdate.com/msdownload/update/software/svpk/2011/02/windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe mv windows6.1-kb976932-x64_74865ef2562006e51d7f9333b4a8d45b7a749dab.exe windows6.1-KB976932-X64.exe WINEPREFIX="$HOME/.steam/steam/steamapps/compatdata/397540/pfx" PROTON="$HOME/.steam/steam/steamapps/common/Proton 5.0" ./install-mf-64.sh -proton cp mfplat.dll "$HOME/.steam/steam/steamapps/common/Borderlands 3/OakGame/Binaries/Win64/"
That’s it; see you on Pandora!