Normally I'd just play the native linux version, but the new DLC doesn't have a linux version. Discovered that the game crashes on startup with the following error:
The entry point method could not be loaded due to Could not load file or assembly 'PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
Looks like some .net thing is missing.
Enable steam play via the game properties dialog. Start game.
A user on reddit has found a temporary solution:
Personally I didn't follow the d9vk steps (4-8) and the game still runs.
`To copy over your save data do:
cp ~/.local/share/aspyr-media/borderlands 2/willowgame/savedata/
Click Play and Borderlands 2 will start. You can also select to install the HD texture pack prior to launching. I don't believe this is automatically installed.`
here's the link:
https://www.reddit.com/r/linux_gaming/comments/bypm2z/will_the_new_borderlands_2_dlc_come_to_linux/eqkd8tw?utm_source=share&utm_medium=web2x
Just to re-iterate, the only steps that actually matter to get it to run are 9-11 (i.e. trick Steam into using Borderlands2.exe). The reason why is because the BL2 launcher uses .NET and the Wine .NET support is a bit funky (especially for the newer versions, in this case, 4.0 I believe). However, the launcher is completely unnecessary which is why it's fine to tell Steam to launch BL2 directly instead.
Now, I do highly recommend installing D9VK as well since that will improve your performance greatly, but that is separate (it will not fix or cause this issue).
Thanks! That works.
Just as a note to anyone else who follows here, if your steam library is stored in a custom location you'll need to look in <your library location>/steamapps/compatdata...
instead.
- mv Launcher.exe Launcher.exe.old
- cp Borderlands2.exe Launcher.exe
Meddling with game files should be avoided if possible. Just use Steam Client's "Set Launch Options" instead, it's both cleaner and more resistant to updates. For example:
bash -c 'exec "${@/Launcher.exe/Borderlands2.exe}"' -- %command%
It should work just fine, unless the path contains Launcher.exe
somewhere else for some reason, then adjust the command as needed.
@zskamljic I followed these steps and the game terminates after "Preparing to Launch Borderlands 2". The dumps from Steam say:
terminate called after throwing an instance of 'dxvk::DxvkError'
Is this something I should take up with the people who own the d9vk repo? This is on Proton 4.2-7. Could I uninstall d9vk and see if that changes anything?
EDIT: Hmm well that changed nothing, removing d9vk that is. Also, I don't know if this is a real issue, but there's:
Unable to read VR Path Registery from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
and:
wine: cannot find L"C:\\windows\\system32\\winemenubuilder.exe"
So I don't know why I'm having issues launching the game when I've done it the same way as everyone else.
@The-BigDaddy
Do you have the full log? The proton log steam can create? Yes, you could certainly uninstall D9VK and see if it works without it. However, I believe the goal is to get it running with D9VK, and in this case, I'm guessing you've either installed D9VK incorrectly, or run into some very strange bug (since so many other people are successfully running it). So, if you have more of the log, that would help.
@fgblomqvist would what's in /tmp/dumps/my_steam_user_stdout.txt
help?
EDIT: For now, here's what's in /tmp/dumps/my_steam_user_stdout.txt
Here's what was in ~/.local/share/Steam/logs/stderr.txt
:
libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib32/xorg/modules/drivers)
libGL error: failed to load driver: i965
libGL error: MESA-LOADER: failed to open i965 (search paths /usr/lib32/xorg/modules/drivers)
libGL error: failed to load driver: i965
libGL error: MESA-LOADER: failed to open swrast (search paths /usr/lib32/xorg/modules/drivers)
libGL error: failed to load driver: swrast
X Error of failed request: GLXBadContext
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 6 (X_GLXIsDirect)
Serial number of failed request: 109
Current serial number in output stream: 108
Fossilize INFO: Overriding serialization path: "/home/bigdaddy/.local/share/Steam/shader_cache_temp_dir_vk_64/steamapprun_pipeline_cache".
CApplicationManagerPopulateThread took 7 milliseconds to initialize (will have waited on CAppInfoCacheReadFromDiskThread)
CAppInfoCacheReadFromDiskThread took 80 milliseconds to initialize
@The-BigDaddy
Not too familiar with those logs. Here, check this page: https://github.com/ValveSoftware/Proton/wiki/Proton-FAQ
It will tell you how to enable the proton logs. Essentially you rename a file in your proton directory, then try to start the game. That will generate a log in your home dir. That's the log that will contain all the juicy stuff (hopefully).
@fgblomqvist Here's that log (steam-49520.log), but what I gave earlier from /tmp/dumps/my_steam_user_stdout.txt
shows the same issues:
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
But with some more info:
warn: OpenVR: Failed to initialize OpenVR
info: Required Vulkan extension VK_KHR_get_physical_device_properties2 not supported
info: Required Vulkan extension VK_KHR_surface not supported
info: Required Vulkan extension VK_KHR_win32_surface not supported
1364.761:002c:002d:trace:seh:MSVCRT_raise (22)
And
terminate called after throwing an instance of 'dxvk::DxvkError'
Hmm I see. Have you run any game successfully using Proton? Or using DXVK in general? I don't recognize the errors you are getting (but I'm no expert by any means). Maybe verify that your Vulkan installation is working correctly (run vulkaninfo
, that should execute fine and spit out a ton of info, the version will be at the top)?
I've never ran a game with Proton before. Borderlands 2 is my first attempt. The version given by vulkaninfo
is Vulkan Instance Version: 1.1.106
.
Alright that seems fine. I would suggest you 1. try playing a game with proton that uses DXVK (i.e. a game that uses DX11). If that doesn't work either (same/similar log), head to https://github.com/doitsujin/dxvk and file an issue there. When you said you removed D9VK, did you do a clean proton install? (e.g. remove the proton folder and let Steam redownload it for you) If you did, then I don't understand why it's trying to call a bunch of Vulkan stuff.
When you said you removed D9VK, did you do a clean proton install? (e.g. remove the proton folder and let Steam redownload it for you) If you did, then I don't understand why it's trying to call a bunch of Vulkan stuff.
Ah, well there's one issue. I guess I should test a simple free game first with Proton? I remember a guide mentioning something small to test, but I don't remember where that guide is now...
Yeah I'd recommend that. Just remember that if the game uses DX11 (e.g. most AAA-games) it will use DXVK (Vulkan). If it uses DX9, it will use Wine's own OpenGL layer (assuming you're using a clean Proton). If you install D9VK into your proton, it will use that. Just to keep this issue thread related to BL2, you're welcome to email me if you want some further guidance (I'll do my best). My email is on my GitHub profile.
Update: Via the referenced issue below I found out I was missind a 32-bit driver. It works now, but has terrible stuttering when loading new resources.
I'm running into the very same problem with Borderlands 2, following these installation instructions.
OS: Arch
GPU: Radeon HD 7950
Driver/LLVM version: Mesa 19.1.2, amdgpu 19.0.1, amdvlk-git r77.eee58c8-1
Kernel version: 5.2.0-arch2-1-ARCH
Proton version: 4.2-9
D9VK: 0.13f
The Proton log indicates that three vulkan extensions couldn't be found, whereas vulkaninfo
lists them as supported.
…
293249.598:0035:0036:fixme:gameux:GameExplorerImpl_VerifyAccess (0x113918, L"Z:\\home\\fichte\\.local\\share\\Steam\\steamapps\\common\\Borderlands 2\\Binaries\\Win32\\Borderlands2.exe", 0x239f594)
info: Game: Borderlands2.exe
info: DXVK: d9vk-0.13f
293249.602:0035:0036:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\openvr_api_dxvk.dll" at 0x74e0000: native
293249.603:0035:0036:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\api-ms-win-core-synch-l1-2-0.dll" at 0xf43a0000: builtin
293249.603:0035:0036:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\api-ms-win-core-fibers-l1-1-1.dll" at 0xf4390000: builtin
293249.603:0035:0036:trace:loaddll:load_builtin_dll Loaded L"C:\\windows\\system32\\api-ms-win-core-localization-l1-2-1.dll" at 0xf4380000: builtin
warn: OpenVR: Failed to initialize OpenVR
info: Required Vulkan extension VK_KHR_get_physical_device_properties2 not supported
info: Required Vulkan extension VK_KHR_surface not supported
info: Required Vulkan extension VK_KHR_win32_surface not supported
293249.609:0035:0036:trace:seh:MSVCRT_raise (22)
Unable to read VR Path Registry from C:\users\steamuser\Local Settings\Application Data\openvr\openvrpaths.vrpath
terminate called after throwing an instance of 'dxvk::DxvkError'
Setting breakpad minidump AppID = 49520
Steam_SetMinidumpSteamID: Caching Steam ID: 76561198029434503 [API loaded no]
pid 1056 != 1055, skipping destruction (fork without exec?)
Since it works without d9vk, this most likely isn't the correct repo for this report, but seeing as @The-BigDaddy reported pretty much exactly the same symptoms, I wanted to add it here for now.
With PROTON_USE_D9VK=1, Borderlands 2 seems to freeze in various locations. I have tested the game four times. The first two times, it would freeze a couple of seconds after loading into the game world and running around. The last two, however, it only froze upon going back to the main menu.
Here's the log form the last test: steam-49520.log
System:
nvidia 430.26
Linux 5.1.20
GTX 970
Fedora 30
Borderlands 2 no longer launches even after renaming Borderlands2.exe to Launcher.exe.
Worked perfectly fine on 4.11-3, broke after 4.11-4 update.
Tried D9VK and no D9VK.
System:
Kubuntu 19.04
Linux 5.0.0-27
RTX 2080 Super
Nvidia 430.40
Have you tried to delete the game shader folder 49520 located at /steamapps/shadercache/
Borderlands 2 no longer launches even after renaming Borderlands2.exe to Launcher.exe.
Worked perfectly fine on 4.11-3, broke after 4.11-4 update.
Tried D9VK and no D9VK.
System:
Kubuntu 19.04
Linux 5.0.0-27
RTX 2080 Super
Nvidia 430.40
Latest log: Gist
System info: GistHave you tried to delete the game shader folder 49520 located at /steamapps/shadercache/
That didn't help. Log still shows the same problems, but I've still uploaded it to another gist
@Lopuhan Your log looks like the same crash as #3059. Please follow our progress over there.
@Lopuhan This seems to be caused by having some kind of special input device attached. Can you confirm that you do? If so, a fix is available at #3059 and will be in the next release, due out very soon.
@Lopuhan This seems to be caused by having some kind of special input device attached. Can you confirm that you do? If so, a fix is available at #3059 and will be in the next release, due out very soon.
I can confirm that my problem was caused by having Corsair K70 keyboard attached to USB port. Detaching it helped with launching the game.
Updated dinput files from proton_3059.tar.gz resolved my issue completely.
Thank you for help.
For anyone having the same problem, consult comment from issue #3059.
With PROTON_USE_D9VK=1 it will always freeze when going to Sanctuary.
System:
NixOS unstable
Linux 4.19.76
GTX 1070
Nvidia 435.21
With PROTON_USE_D9VK=1 it will always freeze when going to Sanctuary.
System:
NixOS unstable
Linux 4.19.76
GTX 1070
Nvidia 435.21
Try reducing texture quality to medium. This issue is known.
About the memory problem with HD textures put in launch options : PROTON_FORCE_LARGE_ADDRESS_AWARE=1 %command% -nomoviestartup
Most helpful comment
A user on reddit has found a temporary solution:
Personally I didn't follow the d9vk steps (4-8) and the game still runs.
`To copy over your save data do:
cp ~/.local/share/aspyr-media/borderlands 2/willowgame/savedata//* ~/.steam/steam/steamapps/compatdata/49520/pfx/drive_c/users/steamuser/My Documents/My Games/Borderlands 2/WillowGame/SaveData//
Click Play and Borderlands 2 will start. You can also select to install the HD texture pack prior to launching. I don't believe this is automatically installed.`
here's the link:
https://www.reddit.com/r/linux_gaming/comments/bypm2z/will_the_new_borderlands_2_dlc_come_to_linux/eqkd8tw?utm_source=share&utm_medium=web2x