Proton: Borderlands 3 (397540)

Created on 13 Mar 2020  ·  180Comments  ·  Source: ValveSoftware/Proton

Compatibility Report

  • Name of the game with compatibility issues: Borderlands 3
  • Steam AppID of the game: 397540

System Information

  • GPU: AMD Radeon VII
  • Driver/LLVM version: Mesa 20.0.99/10.0.0
  • Kernel version: 5.6.0 rc5
  • Link to full system information report
  • Proton version: 5.0-4

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.


steam-397540-DX12.log
steam-397540.log

Symptoms

  1. The game didn't launch if selected DX12 API
  2. With DX11 API looks like all work fine (I passed internal benchmark), but I noted some graphic glitches see ballons on 2:23
    20200313212904_2
  3. I couldn't connect to Gearbox Software SHiFT.
    Screenshot from 2020-03-13 21-03-56

Reproduction

  1. Just launch the game
  2. Run internal benchmark
  3. Select group privacy: Friends Only, Invite Only or Open to Public
    Screenshot from 2020-03-13 21-11-14
AMD RADV Game compatibility - Unofficial Mesa drivers XAudio2

Most helpful comment

I do have an issue with in-game videos though and I got the "Watch Monitor" game-breaking bug that was also reported on Windows.

Screenshot from 2020-03-13 21-56-35

I have the same issue.

All 180 comments

The game runs fine for me, benchmark passes with no glitches in both DX11 and DX12 modes.
I do have an issue with in-game videos though and I got the "Watch Monitor" game-breaking bug that was also reported on Windows. It seems to be related to Media Feature Pack, I tried using <Workaround removed by moderator> in the prefix but it doesn't help at all.
https://forums.gearboxsoftware.com/t/watch-monitor-bug/3119409/30

Nvidia 435, Proton 5.0.4

SHIFT isn't connected either.

I do have an issue with in-game videos though and I got the "Watch Monitor" game-breaking bug that was also reported on Windows.

Screenshot from 2020-03-13 21-56-35

I have the same issue.

<Workaround removed by moderator>

You should see the logo videos when the game starts and after loading your game it will be unstuck.

EDIT : Sorry :/

Hello @poke86, the workaround you linked is legally problematic and has been removed.

The previous comment tells us the game uses Media Foundation, and the game would benefit from support for the framework maturing.

Got an issue too, game don't even launch nor creates config files
steam_profile

Can't post the log file, 1.3GB heavy.

So after running the game a lot of times it'll crash when opening the inventory/stores etc.
This is aside from videos not working due to Media Foundation as it seems.
Steam Sys Info
steam-397540.log.zip (43MB extracted)
Edit: Resetting the prefix helps to run the game for an hour and a bit until it reaches the inv/store crash. I'm 'trying' to play it with a few friends in coop, so I could skip the 'look at screen' bug. :smile:

I would like to add my experiences here as well, and mine are almost identical to the original poster of this bug. The one that is most aggravating to me is the Network bug preventing me from playing with friends.

I did manage to get the game to launch, but each time I launch it, it says that it has "crashed" multiple times and that it needs to reset the settings to launch again. If I click No, it will not launch at all.

Apart from the graphical issues, there is also a connection issue -- I can't get into multiplayer at all. I try to change to Public, it won't allow me. I log in to Shift using my browser and I even linked my steam account to gearbox, but it will not recognize that I am online (and of course I am not invisible or anything on Steam, I am online).

Got an issue too, game don't even launch nor creates config files
steam_profile

Can't post the log file, 1.3GB heavy.

Had the same problem on my daughter's computer. Seems to be caused by an illegal instruction problem on some AMD Ryzen CPUs. Look at: https://github.com/ValveSoftware/Proton/issues/2927

Adding the clearcpuid=514 workaround to grub fixed it for us.

Worked out with help from Newbyte over on the Gaming on Linux Telegram chat.

Edit to add, this is the log for a client connect failure on LAN mode in case it helps anybody: https://gist.github.com/KayEss/04d502d09803392044e9493852039664 The log is for a connection attempt to another machine on the same LAN which has a game in progress

The connection issue works like that. I am online on Steam, logged in to SHiFT through the browser, I try the upper-right menu changing to "Public", it gives this message:
20200314111009_1
I also go to options, Network and Social, and try to change the Group Privacy to "Open to Public":
20200314111031_1
But as soon as I leave the menu, the connection error appears again:
20200314111039_1
steam-397540.log from these attempts is attached.
steam-397540.log

I'm having the same problems with multiplayer, which quite disappointing since multiplayer is this game's whole _raison d'être_.

I have the same problem with multiplayer. I've made the SHiFT account and linked with steam. My friends see me with matchmaking tools. Invitations won't work with the error message "Connection Failed: Could not connect to host". It also seems to affect LAN. Although they see me connected and can launch a petition to join, they will never enter and I can not see them.

With no simple work around solution for my 'watch monitor' bug, I will now watch Proton.

Hello @Hnaguski, @poke86, your comments were removed because that workaround is legally problematic. It's not okay to encourage other players to use it, either directly or indirectly.

@kisak-valve Seems like folks are posting legally problematic work-arounds out of ignorance. I don't see how to educate the community about legal ramifications if all references to the work-arounds are scrubbed, though; seems like a reference scrub means mods like you are doomed to play an endless game of work-around whack-a-mole. Any way to avoid that?

Alright I was aware about the legal issues with what I mentioned but wasn't aware of what was okay and what wasn't, since other people in this thread mentioned it, but not as in depth as I was.

The network issues are a thing, even though I managed to connect, which seemed to happen out of luck. The first times launching the game yesterday it also didn't connect to SHiFT. First thing popping up for that is the Cross-Play thingie.

Further testing on various Proton versions brought me to the point of having the game run with videos under the freshly released tkg-5.4.r0. Videos will not work out of the box there, even though wine 5.4 has Media Foundation patches now.

As it seems, there's a shader or locale issue as well when the game's running for 60-90 minutes. This is running in DX11 mode and happens when either opening the inventory or any random box ingame. I found these lines in the crash logs of the game:

[2020.03.15-03.59.45:761][  0]LogStandaloneRenderer: SlateD3DShaders::CompileShader() - D3DCompilerFunc Result: DXGI_ERROR_88760B59 [88760B59]
[2020.03.15-03.59.45:764][  0]LogStandaloneRenderer: GammaCorrectionCommon.hlsl:6:11: error: syntax error, unexpected NEW_IDENTIFIER
 Result: DXGI_ERROR_88760B59 [88760B59]

Full Log: CrashReportClient-backup-2020.03.15-06.33.37.log

According to a thread in the Steam forums it might have to do something with non-UTF8 characters in the game's packages.

Proton versions leading to the same error are: 5.0-4 / 5.0-GE-1 / 5.2-GE-2 / TKG-5.4.r0

I guess I should add my report here, because the game won't launch at all for me.

System Information

  • GPU: GTX 1070
  • Driver version: nvidia 440.64
  • Kernel version: 5.3.0-40-generic
  • Link to full system information report
  • Proton version: 5.0-4

Symptoms

I just click the green "Play" button in Steam, it changes to a blue Cancel button for a second, then a blue Stop button for ~45 seconds, then it changes back to the green Play button. Literally nothing else happens; no black screen, no sounds, no menu, no dialogs.

Things I've tried:

  • Verify game files
  • Uninstalled Borderlands 3 and re-downloaded
  • Verified re-downloaded files
  • Proton 5.0-4 and 4.11-13
  • rebooting Ubuntu
  • installing all system updates (there aren't any)
  • with and without various MF workarounds
  • blowing away the Proton prefix and letting it recreate
  • switching graphics drivers (tried proprietary nvidia-driver-435 and open source nvidia-driver-440

The raw Proton log file from PROTON_LOG=1 is 1.4GB(!) but I've uploaded a gzipped version here: steam-397540.log.gz

I'm relatively sure that my graphics drivers and Vulkan are installed correctly, because I can play Shadow of the Tomb Raider (native) just fine and it says I'm using Vulkan, and I can play DOOM via Proton in Vulkan mode as well.

Hoping somebody has some clue, since apparently most people can at least play the game at all!

Hello @grahammitchell, looks like your system is affected by #2927, you can try a workaround by adding clearcpuid=514 to grub, which was reported to help at https://github.com/ValveSoftware/Proton/issues/3635#issuecomment-599036236.

The problem with multiplayer seems to be missing ALPN support in schannel.
The attached patch hacks around that.

0001-schannel-ALPN-hack.patch.gz

Note that this hack is a potential security risk.

Hello @fabianbieler, can you send that patch to upstream wine's mailing list for evaluation? Ideally we'd like to see fixes like that land upstream, then a merge request to backport it to Proton.

That patch won't be accepted upstream, as it's a potential security rist. I should have mentioned that, sorry.
I will try to write a proper patch. That may take another week or two, however.

Thanks, @kisak-valve, that did the trick! Don't know how I missed that. I haven't tried online multiplayer but now everything works except the benchmark.

Much appreciated.

Networking/SHiFT logon works in Proton 4.11-13. Note that I had to delete the prefix used by my 5.0/5.2GE attempts before the game would launch with 4.11.

Can confirm that Networking works with 4.11-13 but does not with 5.0-4. Also all the fixes for videos not playing on 5.0-4 stopped working on 4.11-13 however.

but now everything works except the benchmark

I thought the benchmark wasn't working, but it turns out that it just takes a really long time to load, and the sounds start quite some time before the video fades in. Have you just tried waiting longer?

@KayEss, you are correct! Turns out I just didn't wait long enough for the benchmark to begin. Thanks!

Also all the fixes for videos not playing on 5.0-4 stopped working on 4.11-13 however.

I re-applied the fixes in my 4.11-13 prefix and the videos started working again.

re-applied the fixes in my 4.11-13 prefix and the videos started working again.

I'm still using same prefix however, and fixes were just [redacted] and [redacted]cab. Not sure if I need to re-apply them again since it's the same prefix. The symptoms are different - instead of loading videos there's generic load screen and instead of "voice in your head" video there's white hole (used to be black) so I'm guessing 4.11-13 needs something extra.

No, it works (with internet) in Proton 4.11-13 including the voice in head part after doing the workaround. So, nothing extra is required.
20200316134606_1
Not saying people should do the workaround. But knowing this is useful to correctly diagnose the problem. A wine-provided replacement for Microsoft Foundation Classes should make the movies playable without going into a legal grey area.

I haven't tested this, but it seems plausible that the problem with the 5.0 series is our upgrade to win10 prefixes. You could try changing the prefix back to win7 using the PROTON_DUMP_DEBUG_COMMANDS switch and then /tmp/proton_$USER/run winecfg. This might (or might not) get it playable with Proton 5.0.

seems that my prefix is already using win7, but still no network connection. Tried it switching to win10 - no luck. Switched back to win7 - still same.

Don't want to change stuff around too often tho as to not to trip denuvo.

it seems that [redacted] fixes need to be re-applied when switching proton versions.

Using 4.11-13 version of Proton, I was able to connect with SHiFT services. But when I tried to play with a friend of mine, I was unable to enter in his game and he was unable to enter mine. Is someone experiencing similar problems?

It makes a lot of sense that networking would work with a Windows7 prefix since schannel only support ALPN on Windows 8.1 and newer.

Using 4.11-13 version of Proton, I was able to connect with SHiFT services. But when I tried to play with a friend of mine, I was unable to enter in his game and he was unable to enter mine. Is someone experiencing similar problems?

I tried playing with a friend but connection timed out. But when I tried matchmaking I was put in a game with other players, it's very strange.

4.11-13, fixes for movies applied, movies work. network works.

Playing with friends right now seems to be stable for now.

update: game is VERY laggy at times

lag was present in windows too, i guess it's just my internet being shitty

update: game is VERY laggy at times

Is it? Played for 12h so far, in all that time a couple times had a noticeable framedrop for 2-3 seconds, then back to normal.

Running 4.11-13 with videos/network running, I've reached a point where the game crashes a couple of seconds after going ingame after the main menu.

After running 4.11-13 I got this in the Proton logs:

247018.646:00bb:00bc:trace:loaddll:load_so_dll Loaded L"C:\\Engine\\Binaries\\ThirdParty\\Windows\\DirectX\\x64\\d3dcompiler_47.dll" at 0x7f62e1600000: builtin
247018.647:00bb:00bc:err:d3dcompiler:compile_shader HLSL shader parsing failed.
247018.647:00bb:00bc:warn:debugstr:OutputDebugStringA "[2020.03.16-02.47.03:244][  0]LogStandaloneRenderer: SlateD3DShaders::CompileShader() - D3DCompilerFunc Result: DXGI_ERROR_88760B59 [88760B59]\r\n"

steam-397540-4.11-13.log.gz
Which is also reflected in the games logs:

[2020.03.16-02.42.32:260][  0]LogStandaloneRenderer: SlateD3DShaders::CompileShader() - D3DCompilerFunc Result: DXGI_ERROR_88760B59 [88760B59]
[2020.03.16-02.42.32:261][  0]LogStandaloneRenderer: GammaCorrectionCommon.hlsl:6:11: error: syntax error, unexpected NEW_IDENTIFIER
 Result: DXGI_ERROR_88760B59 [88760B59]

CrashReportClient-backup-2020.03.16-03.46.58-4.11-13.log
Adding d3dcompiler_47.dll into the mix with protontricks makes the logged error go away in both logs, but the behavior is still the same.

Here's a Proton log with d3dcompiler_47.dll applied:
steam-397540-4.11-13+d3dcompiler_47.log.gz

I guess I'm missing something here... :smile:

Is it? Played for 12h so far, in all that time a couple times had a noticeable framedrop for 2-3 seconds, then back to normal.

yeah, it was just my internet being laggy at the moment. thanks, coronavirus

Okay so I backed up the 4.11 prefix and started from scratch with 5.0-4. As mentioned in previous posts setting the prefix to Windows 7 resolves the connectivity issue. Applying the thingie also makes the videos play. The game ran fine for roughly 7 hours. The same d3dcompiler error shows up in the logs.
steam-397540-5.0-4.log.gz
The CrashReportClient log is the same as before.
As the game is restarted, the time until it crashes get's shorter every time until it goes down after a few seconds after loading a game. Same behavior as with 4.11.
EDIT: After verifying the game's files and redownloading a 4GB chunk everything seems to be working fine.

With Proton 4.11 Shift works, but with two machines on the same LAN joining each other's games doesn't work. We can see each other and invite each other, but the join always gives a timeout error. This is the same for LAN, invite only, friends only or global. Setting to public and trying matchmaking also always fails to find partners, even when there are two of us trying on the same LAN (one in the game the other trying to get in).

For some reason the shift connection is unreliable On many launches it simply won't connect at all and all of the shift parts return network errors straight away.

I couldn't get online/shift to work using v4.11.

What worked for me was setting it manually to Windows 7 with 'protontricks -c "winecfg" 397540'. That way I can use v5.0-4 with Shift working. I can list players online and check the roster, but haven't tried out co-op multiplaying just yet.

I hope this works for others as well.

Made it works with 4.11 and 5.4-GE, can see people online but can't add them to a party, even in lan (to be fair, the lan is in a OpenVPN lan)

Switching from Windows 10 to Windows 7 worked for me with Proton 5.0-4.

Maybe Proton 5.0 should revert defaulting to Win10? At least until the schannel support is more complete...

On my system, after installing <Removed by moderator> workaround the game began stuck at starting.
I tried different Proton 5.0-4, 4.11-13, 5.4-GE-1 but result always the same.
I see that some users here successfully could play in Borderland 3 with this workaround. Even my friend who uses the same distributive as me also launched the game successfully with this workaround.
We are tried to copy his WINEPREFIX on my machine but the game stuck again.
The difference between our machines only on CPU and GPU.

My config:

  • GPU: Radeon 7
  • CPU: Ryzen 3950X

His config:

  • GPU: Vega 56
  • CPU: Ryzen 2700X

Can anyone look in my Proton logs to say why the game stuck on my machine?

steam-397540-proton-5.0-4.log
steam-397540-proton-4.11-13.log
steam-397540-proton-4.11-13-2.log

Hello @NTMan, you can not get help with that workaround here because it's legally problematic, however, you're most likely seeing the same as https://github.com/ValveSoftware/Proton/issues/3635#issuecomment-599036236 https://github.com/ValveSoftware/Proton/issues/3635#issuecomment-599259798 because Proton is affected by #2927 on your CPU. You can try working around that issue by adding clearcpuid=514 to grub.

Hello @NTMan, you can not get help with that workaround here because it's legally problematic, however, you're most likely seeing the same as #3635 (comment) #3635 (comment) because Proton is affected by #2927 on your CPU. You can try working around that issue by adding clearcpuid=514 to grub.

I saw this advice, and of course, we also tried to add clearcpuid=514 to grub, but unfortunately, it couldn't solve the problem with stuck too.

$ dmesg | grep clearcpuid
[    0.000000] Command line: BOOT_IMAGE=(hd1,gpt2)/boot/vmlinuz-5.6.0-0.rc5.git2.1.fc33.x86_64 root=UUID=b3e2e027-c39d-4266-871f-22d313ac419b ro resume=UUID=f47f69e1-61f8-4024-960a-b3981d3b1d02 rhgb log_buf_len=16M sysrq_always_enabled=1 nmi_watchdog=1 amdgpu.lockup_timeout=-1 slub_debug=FZPU,kmalloc-* clearcpuid=514
[    0.000000] Kernel command line: BOOT_IMAGE=(hd1,gpt2)/boot/vmlinuz-5.6.0-0.rc5.git2.1.fc33.x86_64 root=UUID=b3e2e027-c39d-4266-871f-22d313ac419b ro resume=UUID=f47f69e1-61f8-4024-960a-b3981d3b1d02 rhgb log_buf_len=16M sysrq_always_enabled=1 nmi_watchdog=1 amdgpu.lockup_timeout=-1 slub_debug=FZPU,kmalloc-* clearcpuid=514

steam-397540.log

We are tried to copy his WINEPREFIX on my machine but the game stuck again.
The difference between our machines only on CPU and GPU.

On my system, the first start of the game took several minutes on a black screen... You may need to be patient for 10-15 minutes, especially when the (legally problematic) workaround isn't working, it won't show the logos and Claptrap animation while it's loading. I think this is due to shader compilation. You may ssh into the machine and run top to see CPU activity. If a single process is stuck at 100% CPU, it may be in an endless loop. But if you see varying activity of 90% to 100%, the game may be active compiling shaders.

Also, completely disabling Proton logging may speed the process up: Some games spool a vast amount of wine fixme logs while compiling shaders, and this slows down the process a lot.

Of course, this is only when "game stuck" means "black screen", and not just returning to the desktop or still being in launching state in Steam.

Continued with 3 long sessions. Game crashes and corrupts files randomly, meaning big chunks are being downloaded when verifying files after each crash.
steam-397540-5.0-4+d3dcompiler_47-2.log.gz (60.3MB)
CrashReportClient-backup-2020.03.18-05.58.06-5.0-4+d3dcompiler_47.dll.log
The Proton log contains a bunch of fixme right before the CrashReportClient.exe is launched:

114431.692:0036:0038:trace:seh:RtlRestoreContext returning to 7b0665b6 stack 1f5f200
114442.735:0036:0038:fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!
114442.736:0036:0038:fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!
114443.323:0036:0038:fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!
114443.337:0036:0038:fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!
114443.354:0036:0038:fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!
ERROR: ld.so: object '/home/pow/.local/share/Steam/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.
114456.145:0166:0167:trace:loaddll:load_native_dll Loaded L"C:\\windows\\system32\\kernelbase.dll" at 0x7b000000: PE builtin
114456.145:0166:0167:trace:loaddll:load_so_dll Loaded L"C:\\windows\\system32\\kernel32.dll" at 0x7b410000: builtin
114456.321:0166:0167:trace:loaddll:load_native_dll Loaded L"Z:\\home\\pow\\Games\\Steam\\steamapps\\common\\Borderlands 3\\Engine\\Binaries\\Win64\\CrashReportClient.exe" at 0x140000000: native
114456.322:0036:0045:trace:seh:RtlUnwindEx code=1 flags=2 end_frame=0x1353fd70 target_ip=0x159da2ae4 rip=000000007bcc5412

The same lines are found in my other logs posted before. The time gap between the fixmes and CRClient starting is also roughly the time the game get's 'stuck' before closing down.
I'm not sure what causes it, as I was just playing along. Somewhere after 6-7 hours it happens randomly. Seems like nobody else plays for that long in a single session... 33 hours playtime since Friday... I should reconsider my life decisions... :laughing:

But jokes aside aside, that's my best guess. :smile:

Just in case, here's a fresh sysinfo from the Steam Client: https://gist.github.com/7HEPOW/0125ce709d167eb5ea3a0bbbd27d0f4c

My problem with "random" crashes is down to the GPU overheating >100 centigrades. The workaround is to manually set the fan speed to max on my Vega 56 gfx card, for some reason automatic fan control isn't working. Not an issue exclusive to Steam/Proton/B3, but its the first game I've played that taxes the GPU this much.

Continued with 3 long sessions. Game crashes and corrupts files randomly, meaning big chunks are being downloaded when verifying files after each crash.

Works just fine here, I played around the same amount of time in long sessions, it's super stable if we don't count occasional multi-second freezes due to texture streaming. If game content gets corrupted, this may be more likely due to faulty hardware. Please check your drive cable connections, maybe even replace SATA cables, also run memtest86. If you're using an EFI system, you can just download the EFI binary of memtest86, drop it into your ESP partition, boot into EFI shell and run it from there. You should consider at least two loops of test runs.

According to your sysinfo, your CPU may be overclocked, maybe just a little bit too high. Please retest (the game and memtest86) without doing so. Maybe RAM is also overclocked? Or the system bus? SATA is especially sensitive to overclocking, don't do that. Which file system are you using? Try running an fsck. But check your hardware stability first before checking the file system, otherwise you may see non-existent errors.

You may also want to try the schedutil CPU governor instead of the performance governor (if you're using gamemode, that's easy to configure), this should keep thermals down without performance compromise.

My system is somewhat similar, tho much older platform (Sandybridge with i7-3770K slightly overclocked to 4 GHz turbo) and less GPU power (GTX 1660 Ti AMP, clock-boosted by manufacturer).

PS: How to do all the test steps is beyond the scope of this issue, please check your friendly search engine or contact me PM.

Almost fully working including shift connectivity using 4.11, 5.0.4, 5.4-GE-1 with redacted workarounds + OS set to Windows 7. 4.11 had the occasional crash, none on 5.0.4 or 5.4 so far.

Haven't been able to party with either matchmaking or friends, matchmaking loops indefinitely and joining or having a friend attempt to join me leads to timeouts. Can't see anything obvious in the log and it seems to be successfully establishing connections between me and random people during matchmaking.

steam-397540.log (Unfortunately had to cut most of it out, filesize jumps 30-40MB every time matchmaking is started)
P2P logging find results

@kakra: Schöne Grüße aus Cux, but unfortunately it's not a hardware issue.
3.4/4.0GHz are the regular clock speeds for the 6700. All BIOS settings are basically stock, so no overclocking there on any ports. Only the fan speeds are reduced on low end temps to keep it quiet.
I replaced my cables in December, so I simply swapped 2 of them to recheck. Manjaro's running from a NVME and the game from HDD. Total hard disk space in Steam's sys info is wrong. Should say ~9.6TB instead. :laughing: S.M.A.R.T says everything's fine. fsck says all good. I ran memtest twice as adviced: All fine. Also not running gamemode on this one.
The game spreads nicely to all logical cores at around 50% taking something from 3.5-5GB of RAM. It uses 4-6GB of VRAM with 50-60% GPU utilization. Game is locked at 60FPS in the settings. All temperatures hover around 50-55°C for CPU/HDD and around 60° for the GPU.
Out of curiosity, I ran the game for 2 hours. Validated files. All OK. Ran the game again and it crashed after 20 minutes. Validated files. 800MB download. :stuck_out_tongue_closed_eyes:
The only constant is:
fixme:dbghelp:x86_64_fetch_minidump_module RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet!

@7HEPOW Ah, ein Linux-Fan aus der Nähe, schöne Grüße zurück aus Bhv! Zur direkten Kontaktaufnahme findest du meine Mail bestimmt in einem meiner Repos. :-)

So it seems the system is stable and in good shape. It shouldn't really damage files. You could run find -type f | xargs md5sum on the content directory before the incident, then check again after such a crash and before validating files with Steam. I'd be interested if it really damages game content, or if it just damaged something else. 800 MB sounds about the amount of typical shader state caches, maybe that broke down? There have been reports in DXVK that the shader cache files were damaged (and I experienced such an issue myself, but this didn't introduce re-downloading files in Steam). Comparing the md5sums should show what is damaged or is not.

BTW: Looking at your log - is it possible that your wine prefix is damaged? It shouldn't show all those ongoing traces and exceptions. I've successfully managed to get the game running with Tkg Proton 5.4, running just one [redacted] workaround (afair), and then setting winecfg to Win7. It is really important to run the workarounds with Proton, so one workaround needs some path adjustments or it will simply use system wine and potentially damage your prefix.

I've started from scratch. So clean 5.0-4 prefix, rechecked paths for the dancing claptrap to use Proton, ran md5sum in the game's path, played for maybe 2 hours, crashed, reran md5sum and diff says:

< 11ee85a376f2eecb18a4c3a7c19f91ce  ./OakGame/Content/Paks/pakchunk0-WindowsNoEditor_5_P.pak
---
> 25693ebb8b389521a8f1cb5eed32cf91  ./OakGame/Content/Paks/pakchunk0-WindowsNoEditor_5_P.pak

The file is 422MB on disk and the client downloaded a chunk 424MB.
The d3dcompiler_47.dll is also not required, as it ships with the game...

Here's a fresh logfile: steam-397540-5.0-4.0319.1.log.gz
The traces seem to be default. Maybe they're deactivated in Tkg's release. I got nothing more than DXVK_HUD=compiler PROTON_LOG=1 in the command line.

I'll take a nap and give the GE and/or Tkg branches a go later. I need to clean up a little anyway. :smile:
For now our friend RunTime_Function outside IMAGE_DIRECTORY_ENTRY_EXCEPTION unimplemented yet! is the only thing showing up shortly pre-crashing.

EDIT: GTA V also did this in the past. Just didn't spent too much time with it yet, to see if it's still the case.

EDIT II: 5.4-GE-1 goes down with the same error.

Almost fully working including shift connectivity using 4.11, 5.0.4, 5.4-GE-1 with redacted workarounds + OS set to Windows 7. 4.11 had the occasional crash, none on 5.0.4 or 5.4 so far.

Haven't been able to party with either matchmaking or friends, matchmaking loops indefinitely and joining or having a friend attempt to join me leads to timeouts. Can't see anything obvious in the log and it seems to be successfully establishing connections between me and random people during matchmaking.

steam-397540.log (Unfortunately had to cut most of it out, filesize jumps 30-40MB every time matchmaking is started)
P2P logging find results

I'm having the exact same issue. I think its weird that 'room or node' is empty?
My logs are filled with 'P2P call declined'.. the logs are truncated a bit though, so you can never see all the information :/
output.txt

Using TKG Proton 5.4 in Win7 mode, I can join and host games just fine but after a few minutes, the game just freezes and has to be killed. I didn't try Proton GE yet as I don't want to mess around with my working prefix. Anyone knows if there's a Proton version yet that doesn't require the [redacted] workaround?

I'm using Proton 5.0-5 and Proton 4.11-13? And I can get on SHiFT but I cannot join a game, or have others join my game.

Haven't been able to party with either matchmaking or friends, matchmaking loops indefinitely and joining or having a friend attempt to join me leads to timeouts.

This is my experience as well.

Ubuntu 18.04, 1070, Intel i7.

I got Borderlands 3 Coop working, after deactivating my virtual Network adapter (use it for VFIO setup)
Proton 4.11

I got Borderlands 3 Coop working, after deactivating my virtual Network adapter (use it for VFIO setup)
Proton 4.11

@Fl0xy, Do you mean that you only have 1 ethernet adapter (eth0) and localhost (lo) as available network interfaces when you run the game? As in I should avoid VPNs, network interface aliases, and maybe shut down docker?

@Fl0xy yep, I just deleted the virbr0 network that VirtManager created and now I can join a coop game where I would previously get a network timeout.

Using Proton 5.0-5, although I did have to switch to 4.11-13 temporarily to have it log me into Shift.

@Fl0xy, Do you mean that you only have 1 ethernet adapter (eth0) and localhost (lo) as available network interfaces when you run the game?

Yes

As in I should avoid VPNs, network interface aliases, and maybe shut down docker?

probably

Borderlands 3 (397540) not launching despite Ryzen workaround

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3687.
@Astror posted on 2020-03-25T21:46:33:

Compatibility Report

  • Name of the game with compatibility issues: Borderlands 3
  • Steam AppID of the game: 397540

System Information

  • GPU: GTX 1070
  • Driver/LLVM version: 440 and 435 (tested both)
  • Kernel version: 5.0.3-42-generic
  • Link to full system information report as Gist: System specs
  • Proton version: 4.11-13 and 5.0-5 (tested both)

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-397540.log

Symptoms

Game started fine on i7-2600 but does not work on Ryzen 5 3600 anymore:
After pressing play, the _preparing to launch_ window appears, followed by the Borderlands 3 banner but instead of the loading screen launching as the third window, the game crashes.

Reproduction

Same behavior on every start.

Steps that I've tried

  • Added clearcpuid=514 to kernel boot parameters according to this workaround for Ryzen 3XXX cpus. Verified that dmesg no longer shows a problem with Borderlands 3
  • Downgraded driver from 440 to 435, which the game launched with on old cpu
  • Tried 4.11-13 and 5.0-5 Proton versions (former worked previously)
  • Used a workaround for .mp4 files not playing (this also worked previously)

Hello @Astror, your system information is telling us that your nVidia driver install is broken, which is consistent with the Proton log. If you recently changed nVidia driver versions, you may need to reboot. nVidia's running kernel module version, the 32 bit userspace version, and 64 bit userspace version need to match for their driver to work properly.

@Fl0xy yep, I just deleted the virbr0 network that VirtManager created and now I can join a coop game where I would previously get a network timeout.

Using Proton 5.0-5, although I did have to switch to 4.11-13 temporarily to have it log me into Shift.

Similar to this, I had to delete the docker0 and br-{guid} networks and matchmaking started working, my VPN running has no effect on it either way. Would rather not have to do this since I work using docker + play games on the same machine, have taken a look for ways to force wine/proton to use a specific network but not found any.

Hello @Astror, your system information is telling us that your nVidia driver install is broken, which is consistent with the Proton log. If you recently changed nVidia driver versions, you may need to reboot. nVidia's running kernel module version, the 32 bit userspace version, and 64 bit userspace version need to match for their driver to work properly.

Thank you for the quick answer and for moving my issue to the right place. So after restart (I indeed reverted back to 435 again and didn't restart), the problem still exists. So where exactly do you see that 32 and 64 bit userspace versions do not match and how do I correct this? I previously installed drivers with sudo apt purge 'nvidia.*' followed by sudo apt-get install nvidia-driver-435. Should I proceed differently there?

You can try something like apt policy nvidia-dkms-435 libnvidia-gl-435 libnvidia-gl-435:i386 to check if the major bits are installed and their version matches.

You can also use glxinfo -B from mesa-utils to check which OpenGL driver is active. In your case, nVidia is good, llvmpipe is bad.

The first command lists an installed version that is equal to the candidate version for every entry, so this looks fine to me:

```nvidia-dkms-435:
Installed: 435.21-0ubuntu2
Candidate: 435.21-0ubuntu2
Version table:
* 435.21-0ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu eoan/restricted amd64 Packages
500 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu eoan/main amd64 Packages
100 /var/lib/dpkg/status
libnvidia-gl-435:
Installed: 435.21-0ubuntu2
Candidate: 435.21-0ubuntu2
Version table:
435.21-0ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu eoan/restricted amd64 Packages
500 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu eoan/main amd64 Packages
100 /var/lib/dpkg/status
libnvidia-gl-435:i386:
Installed: 435.21-0ubuntu2
Candidate: 435.21-0ubuntu2
Version table:
*
* 435.21-0ubuntu2 500
500 http://de.archive.ubuntu.com/ubuntu eoan/restricted i386 Packages
500 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu eoan/main i386 Packages
100 /var/lib/dpkg/status

</p></details><details><summary>The output of the second also looks good:</summary><p>

```name of display: :1
display: :1  screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 8192 MB
    Total available memory: 8192 MB
    Currently available dedicated video memory: 6650 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GTX 1070/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 435.21
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 435.21
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 435.21
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

However, steam-397540.log does seem slightly different to me. Is this still a driver issue?

I agree, at a glance you've cleared the blocking driver issue. Unfortunately I'm not seeing an obvious hint on what to look into next.

Okay, but thank you for trying!

I tried to run Borderlands 3 via Lutris with the Steam for Windows runner and Wine 5.0, which had the same behavior/issue and produced this log: BL-wine-log.txt (this used to work before, also). While it is technically another software and also not my preferred way of launching the game, this log may be helpful in figuring out where the problem stems from.

@Fl0xy yep, I just deleted the virbr0 network that VirtManager created and now I can join a coop game where I would previously get a network timeout.
Using Proton 5.0-5, although I did have to switch to 4.11-13 temporarily to have it log me into Shift.

Similar to this, I had to delete the docker0 and br-{guid} networks and matchmaking started working, my VPN running has no effect on it either way. Would rather not have to do this since I work using docker + play games on the same machine, have taken a look for ways to force wine/proton to use a specific network but not found any.

I have multiple VPN adapters running (tun adapters for OpenVPN), multiplayer works in Proton 5.4 versions but the game freezes after a few minutes. So maybe there's something in upstream wine that copes better with network interfaces and that just needs to be backported?

I'm also running a bridge adapter to connect local running containers into a shared birdge, my host system itself is also connected to that bridge, so my physical ensXpX adapter has no IP assigned. Otherwise one would need a switch with hairpinning enabled (and that's rare).

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:25:22:XX:XX:XX brd ff:ff:ff:ff:ff:ff
3: vpn-AAA: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 100
    link/none
    inet 192.168.XX.XX/24 brd 192.168.XX.255 scope global vpn-AAA
       valid_lft forever preferred_lft forever
    inet6 fe80::x:x:x:x/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
4: vpn-BBB: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 100
    link/none
    inet 192.168.XX.XX/24 brd 192.168.XX.255 scope global vpn-BBB
       valid_lft forever preferred_lft forever
    inet6 fe80::x:x:x:x/64 scope link stable-privacy
       valid_lft forever preferred_lft forever
5: vmbridge@enp5s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 4e:fe:14:XX:XX:XX brd ff:ff:ff:ff:ff:ff
    inet 192.168.XX.XX/24 brd 192.168.XX.255 scope global dynamic vmbridge
       valid_lft 2716sec preferred_lft 2716sec
    inet6 2a02:8109:x:x::x/128 scope global dynamic noprefixroute
       valid_lft 601663sec preferred_lft 601663sec
    inet6 2a02:x:x:x:x:x:x:x/64 scope global dynamic mngtmpaddr noprefixroute
       valid_lft 5399sec preferred_lft 2699sec
    inet6 fe80::x:x:x:x/64 scope link
       valid_lft forever preferred_lft forever

(currently, there's no container running which joins the bridge, so veth interfaces are missing)

Stopping docker and removing the docker0 interface also fixed multiplayer for me.
Using proton 4.11-3 with the media foundation fixes.

I had a similar problem the virtualization bridge interface (virbr0) was up I had to disable it:
if virtualization interfaces are enabled make sure they are disabled and off (may require reboot).

I’m running Fedora31, I had to:
sudo dnf/yum groupinstall virtualization
then I could run:
sudo virsh net-autostart --disable default
This will disable virbr0 from starting
reboot
Then I could play online

(also using proton 4.11-3 and media foundation fixes)

The network issues appear to prevent the game from downloading the latest hotfix, just an FYI.

Note: anyone troubleshooting or tweaking this game is in for a fun time, because Denuvo limits you to a certain number of launches per hour - with what appears to be an incremental backoff on the cooldown time as well.

Compatibility Report

  • Name of the game with compatibility issues: Borderlands 3
  • Steam AppID of the game: 397540

System Information

I confirm:

  • [ ] that I haven't found an existing compatibility report for this game.
  • [X] that I have checked whether there are updates for my system available.

https://gist.github.com/joerg/1f6df1e26f21b9779f818b4f8b4d29bd#file-steam-397540-log

Symptoms

I am running SteamOS and other games like DOOM run perfectly fine.
When starting Borderlands 3 the splash screen (the one with the 4 Characters) appears, but after a few seconds the game just crashes. I tried different fixes I found online including other Proton versions, Glorious EggRoll and the "questionable legality" media foundation libraries.
Any suggestions are highly welcome and if there are any further logs I can provide I am more than willing provide them.

Reproduction

Install SteamOS and try to run Borderlands 3.

The latest Proton-GE-Custom should fix the Media Foundation issues, without resorting to the legal gray area that is copying parts of Windows into your prefix. Except for the Marcus narrated intro to a new game, which is still broken, since the fix isn't really perfect yet, it's a preview release of the effort.

Thanks for the update of GE. I just tried the prerelease with a clean wine prefix but sadly no change. The game crashes after the splash screen and is sometimes asking me if I want to reset my settings because it crashed previously.
If I enable logging it gets worse because the game crash reporter crashes. :-D Heres what I got with the GE prerelease:

Hi,
I was able to get it working by uninstalling everything ati related. :roll_eyes:
When running Doom Eternal I got errors about Vulcan being out of memory and googling that error I found that this is a bug that happens when ati libs exist on PCs with an NVidia card. I have no idea why they were installed, but after simply purging them it now runs with the GE pre release.
I still got a lot of graphics glitches and I have to restart the game every hour or so because of them, but I guess they will be solved sooner or later.

I can confirm some additional graphical glitches (DX11):
397540_20200405034624_1

It seems that every once in a while some verticles of random model gets pulled waay away from the model, i feel like it happens because/during lag spikes (i.e. when game is loading textures) and it looks like a problem with vertex shader - corruption is consistent for same type of model everywhere on map and it's random model every time, it happens consistently after some time playing the game.

game has some vertex-based effect for holograms where object would appear "noisy" by shifting some random verticles away from the model, maybe that conflicts with DXVK in some way. Happens to practically all models - spinning loading icon, player model, static objects like stairs or boxes (doesn't affect collision), some gun model, building models, animated models like grass.

@hjri In my particular case, I observed far fewer - if any - graphical issues with AMDVLK versus RADV. Most notably, the balloon texture z-fighting (or whatever is going on there). As for the other issues you mentioned, I have not observed these with any ICD on Linux - nor on Windows for that matter.

What device and driver version are you using?

AMD RX 5700 XT, i think i have RADV, I didn't get too deep into it yet, came from nvidia just recently. GPU id : 0 (AMD RADV NAVI10 (LLVM 9.0.1))

It doesn't always happen, sometimes it happens to something unnoticable i might not even see it. Doesn't happen to other (deep rock galactic, gzdoom, final fantasy xiv, garry's mod)

Tested with new Proton: 1586834466 5.6-GE-1-6-ga6d50e7 (@GloriousEggroll thank you, it is working on resident evil 2 with no need to use non-legal fix with libraries) and clean prefix, game does not launch. (blank screen after launch).
steam-397540.log

As with some others here, deleting my bridged network adapter fixed my inability to play online. My two bridged adapters were the result of lxc (Linux containers) being installed and also a manual bridged adapter being set up in /etc/network/interfaces. I uninstalled lxc and commented out my manual bridge. The game worked online after a reboot.

@7HEPOW as of Proton 5.0-7 still crashes more often later in the game, using the inventory on Nvidia hardware as well

Seems like Team Green is on the crashy side. Tried various GE releases, but it keeps happening, aside from some videos playing now due to the MF patches in GE.

Borderlands 3 should work fine now with https://github.com/doitsujin/dxvk/commit/0a486bd9757837993ec871157d27fa63d23a5291
Can someone confirm?

EDIT: With RADV

what is the patch for? fix crash? where is the patch applied? in 5.09 or not?

Read the issue it links to? It fixes a flickering artifact on moving cloth and balloons in several of the maps in the game. But it has no effect on the game crashing.

I didn't even notice there was a flickering artifact. I already finished the game. but it was crashing all the time.

Can you explain how to reproduce this crash? Is this a GPU hang?

I got Borderlands 3 Coop working, after deactivating my virtual Network adapter (use it for VFIO setup)
Proton 4.11

I was having the same issue, timeout joining games. I had virtualbox installed, so there were vmnet1 ... vmnet8 interfaces listed. I had to kill the background running processes to get rid of them (killall vmnet-*) and I could play with my friends again!

I wonder people claim to start the game in DX12. After I first install the game I can see DX12 in the API, but when I selected DX11, DX12 is no longer available.

@hakzsam the game just freeze when you open the inventory or sometimes after picked up a new item then open the inventory. Other times, it just freeze after enemies appear while it seems like is trying to stream in some data. It is random.

The game starts in DX11 the first time, and automatically selects DX12 for the next launch if it detects your system is "Windows 10". This will in all likelihood prevent it from launching again until you respond to the launch time crash dialog by ordering it to reset settings to defaults.

@kode54 where is the Proton option to set Windows 10?

I don't think there is an option. Maybe protontricks setting the prefix version, but it always defaults to Windows 10 now.

This default may make some problems with online connections (not only for this game) due to some incomplete SSL support in Wine or some incomplete/mismatching dependency between Proton and Steam Runtime - I am not sure. But sometimes it helps to set it back to Win7 except the game explicitly requires Win10.

Crash randomly and frequently.

try proton_no_esync=1 seems to improve the crash issue

I also independently determined on my own personal (EGS-based) attempts to run Borderlands 3, using a custom wine build, using the legendary game launcher, that Borderlands 3 doesn't really like either esync or fsync. This may be due to the esync or fsync patches needing to be rebased against newer wine, or may be because Borderlands 3 just doesn't like esync or fsync.

It still manages to perform near Windows Direct3D 12 levels of performance running under wine with the Direct3D 11 renderer. Well, sort of near. More than playable, except for the stutters, which are entirely down to the shader compiler in use. ACO makes it better.

Game Peport: No CRASH after 3 long days of gameplay! More than 10 hours in each session!
I do not try any online play or online features.

OS: Ubuntu Budgie 20.04 LTS
KERNEL: 5.4.52-xanmod1
CPU: Intel Core i7-6700K @ 4.00GHz
GPU: NVIDIA GeForce GTX 1060 6GB
GPU DRIVER: NVIDIA 450.57
RAM: 32 GB
SSM: 512GB

With my setup i can play long as i want without game crash! I play all day long without a single crash! I will share with you, and you can try this.

In MB BIOS settings: all possible settings are for enhanced stability!

Steam client: Beta Update
Game graphics API options: i use DX11
Proton: Proton-5.9-GE-3-ST ( https://github.com/GloriousEggroll/proton-ge-custom/releases/tag/5.9-GE-3-ST )
Linux Kernel: 5.4.52-xanmod1 LTS with FSYNC support ( xanmod.org )
Some programs installed:
sudo apt install gamemode preload zram-config
Game launch options: gamemoderun %command% -NoLauncher -NoStartupMovies -notexturestreaming

PP: Without any tweaks, game crash for like 1 hour gameplay or even stay AFK.
I think, generally Game launch options and FSYNC Fix game crashes. The last 3 options and DX11 are super important i think.
The -notexturestreaming Fix micro freezes after 30min/1 hour gameplay. That is happen with original Proton too. I think this exactly cause game crashes most of times!
The -NoLauncher Fix that if game crash, opening window, that offer default all game options before start game. Now you can start game without this prompt. Game just start.
The -NoStartupMovies just skip all intro cut-scenes and load game faster.

try proton_no_esync=1 seems to improve the crash issue

Just proton_no_esync=1 as starting parameters on steam or do I need to fit a %command% too?

It needs to be PROTON_NO_ESYNC=1 %command% - the upcase/downcase is important.

The -notexturestreaming Fix micro freezes after 30min/1 hour gameplay. That is happen with original Proton too. I think this exactly cause game crashes most of times!

This texture streaming is one of the most annoying problems at each map start, this was absolutely no problem with previous versions of Borderlands, and also many other games but in BL3 it hogs the game performance so much, I don't even think that shaders are the problem. And it's probably this what interacts with esync/fsync so badly. Thanks for the tip, I'll try -notexturestreaming.

For me the game hasn't crashed a single time so far but after some time of playing it eventually freezes - when playing single player. In multiplayer it freezes like after 5 minutes. @deathxxx123 Did you try multiplayer also?

The -notexturestreaming Fix micro freezes after 30min/1 hour gameplay. That is happen with original Proton too. I think this exactly cause game crashes most of times!

This texture streaming is one of the most annoying problems at each map start, this was absolutely no problem with previous versions of Borderlands, and also many other games but in BL3 it hogs the game performance so much, I don't even think that shaders are the problem. And it's probably this what interacts with esync/fsync so badly. Thanks for the tip, I'll try -notexturestreaming.

For me the game hasn't crashed a single time so far but after some time of playing it eventually freezes - when playing single player. In multiplayer it freezes like after 5 minutes. @deathxxx123 Did you try multiplayer also?

I do not try multi. Cannot connect to any service. But game have great performance problems when i set to LOW, MED, HIGH or any, exept default.

Now another report:
With Proton 4.11-13 i have greatly performance boost (+60% or more)over proton Proton-5.9-GE-3-ST. Also no crashes and ONLINE coop and Shift Keys working!

Execute all commands one by one, or make .sh with all of them and execute. You'r game will be ready to run!
This is for Ubuntu Focal Fosa 20.04, Steam Beta, Proton 4.11-13 and Borderlands 3 (ID=397540) and nvidia 450.57 driver:

<Workaround removed by moderator>

For different Distros, all paths can be different. Just replace to you'r paths.

Hello @deathxxx123, the workaround you posted is legally problematic and has been removed.

@deathxxx123 Do you run the game in DX12 mode which is not available in Proton 4.11? Try switching to DX11, it should work with high performance and 5.9-GE-3-ST - no hacks needed...

@deathxxx123 Do you run the game in DX12 mode which is not available in Proton 4.11? Try switching to DX11, it should work with high performance and 5.9-GE-3-ST - no hacks needed...

Yes i use DX11 API. Crashes are with DX11 and DX12 API. With 5.9-GE-3-ST is working, but performance is super slow, compared to Proton 4.11-13. I try all things, but i have limited tryes, because Denuvo protection.

I wonder why you see such a performance boost... I don't see it here. It may help to switch 5.9-GE-3-ST to Win7 mode, tho... Also, I think the MF implementation of Wine is currently not very optimized, sound of videos is stuttering a lot. This may affect gameplay, too, as it includes videos played with the MF libs.

Or maybe it's because I'm using this wrapper:

#!/bin/bash
# /usr/local/bin/gmproton

case "$1" in
        */proton)
                STEAM_PPID=${PPID}
                (
                        for second in $(seq 1 30); do
                                echo "Waiting for wineserver child of ${STEAM_PPID}... (${second}s)" >>/tmp/gamemode.log
                                sleep 1
                                wspid=$(pgrep -P${STEAM_PPID} wineserver)
                                [ "${wspid}" -gt 0 ] && { schedutil -I ${wspid}; exit; }
                        done
                ) &
                GAMEMODEAUTO="/usr/\$LIB/libgamemodeauto.so"
                export LD_PRELOAD="${GAMEMODEAUTO}${LD_PRELOAD:+:$LD_PRELOAD}"
                ;;
esac

# Prevent fsync / sync for non-blocking writes
EATMYDATA="/usr/\$LIB/libeatmydata.so"
export LD_PRELOAD="${EATMYDATA}${LD_PRELOAD:+:$LD_PRELOAD}"

exec "$@"

It turns filesystem fsync/sync off for Proton games, auto-loads gamemode and puts wineserver under SCHED_ISO (which needs proper kernel support). Then change launch options gmproton %command%.

I manage now maybe perfect settings and Proton for the game. Runs super smooth even when 60FPS recording, with some improved graphics options. Image looks perfect without any glitches.
I run it from Ubuntu Budgie 20.04 with Proton 5.0[next] + Media Foundation and Coop fixes.
I found when i remove from steam launch options the -notexturestreaming, the game loads much faster and boost's for like 15% more FPS. When first play, you can experience the micro freezes, until all shaders will load during all play. After that every new start will run smooth. I make recording that shows very smooth running with super dynamic fights with bosses:
<Link removed by moderator> (may still processing to FullHD)

Update: Coop is working great even with full party from other country. No slow down, even i don't notice that i have full party. Gameplay was long, like 3-4 hours.

@deathxxx123, the link you posted was removed because it contains a guide telling others to use a legally problematic workaround.

Whereas the latest Proton-GE stable release includes a Media Foundation implementation which is not legally problematic, and has been verified to run some of the game's videos. In-game videos should work, the intro sequence may not work right but should be skippable.

Proton GE is not from Valve. If the intro sequence don't work properly why is not legally problematic? The Media Foundation scripts github is only correct fix. This is Proton github and only for Proton issues.
Of course don't use notexturestreaming. Not just start game loading slow, but every single saved game loading is slow.

@howdev the reason the Media Foundation scripts are legally problematic is because they pulled files directly from a windows installation which were then stored on a github repository. These files are not publicly available online from any Microsoft package without owning windows, which equates to pirating on a small scale. The patches in my builds use open source gstreamer and ffmpeg implementations within wine, which are all publicly available online to the end-user, including source code, and I have personally received the 'ok' from multiple proton moderators and developers regarding this. While the open source implementation is not perfect, it is more than enough to allow users to play the game, specifically in regards to in-game videos which are necessary to pass some game areas (such as after the first boss).

EDIT: Didn't realize it was GloriousEggroll himself replying above, sorry. Yeah, that post renders most of my subsequent reply redundant.

The non-Valve Proton builds include non-problematic Media Foundation implementation, written from reverse engineering and careful testing against various games. They utilize GStreamer to decode the video and/or audio streams.

Until such time as Guy1524's patch is ever accepted completely, you'll either have to use Glorious Eggroll's Proton, or you'll have to make use of legally questionable methods which this issue tracker will not allow you to link to or describe.

There is hope. The patch is gradually being accepted, as I see thousands of lines being excised from the current patch version as those changes become incorporated into either wine trunk or the staging patch set.

How to remove or disable this one:
Borderlands 3 -notexturestreaming option added to protonfixes ....
From Proton-GE? Can i disable this from steam launch options?
With this option, game load much slower. With SSD or SSM disks, stutter problem is no mather.
Maybe can disable with -notexturestreaming=0 ?

Borderlands 3 game not Launch:
fatal error Unhandeled exeption: 0x80000100
I redownload and reinstall, but cannot start it. I use Proton 5.9-GE-4-ST. Game is lastest version. Maybe this is reason that, cannot start anymore.

With Proton 5.9-GE-4-ST-4 log:

Proton: 1595722547 5.9-GE-4-ST-4-g8400b8a
SteamGameId: 397540
Command: ['/home/user1/.steam/debian-installation/steamapps/common/Borderlands 3/OakGame/Binaries/Win64/Borderlands3.exe', '-NoLauncher -notexturestreaming']

But i do not use -NoLauncher -notexturestreaming commands, but game stil use them... How to disable this?

EDIT: I see, that is Proton-GE problem, because dev implement these commands for the BL3.
With -NoLauncher command, the game cannot auto-generate the graphics settings and cannot start(with fresh install and start for first time) just because of that, but will start if game was started before and generate GameUserSettings.ini
With Proton 5.0 [next], game start and now my GameUserSettings.ini is generated and it is not empty file now.
Please GloriousEggroll, remove these launch options, that cannot be disabled and game cannot start for 1-st time with empty GameUserSettings.ini

Now with Proton 5.0 [next] log:

Proton: 1595604148 proton-5.0-10-rc3
SteamGameId: 397540
Command: ['/home/user1/.steam/debian-installation/steamapps/common/Borderlands 3/OakGame/Binaries/Win64/Borderlands3.exe']

Hm, i found the fix for BL3 for 1-st time start:
To remove -NoLauncher and -notexturestreaming launch options in this Proton version, i need to delete the 397540.py file, from /Proton-5.9-GE-4-ST/protonfixes/gamefixes/
Then start game again with Proton-5.9-GE-4-ST, and game finally will start!

EDIT:
Now i test this:
I remove this launch options, but still cannot start the game with Proton-5.9-GE-4-ST, but start with Proton 5.0 [next]

Now i got Denuvo lock, because of trying game with different Protons, to determine where is the problem. Thanks Denuvo!

Still lock and cannot play.
bl3_error

@deathxxx123 you're still hitting denuvo. Please don't spam the bug tracker.

I've removed the launch options in the recent proton-ge release as of a few hours ago.

I'm sorry if i'm just spam, but now BL3 just does not start anymore with any Proton, but other games do.
There was like 500mb in update for Vulkan shaders, before start BL3.
Is there anyone who can run BL3 now?
I try:
Proton-5.9-GE-4-ST
Proton-5.9-GE-5-ST
Proton-5.0-10-rc4

I try with -NoLauncher and with noting. Same log's.

Proton's log's are just this short:

Proton: 1595878477 proton-5.0-10-rc4
SteamGameId: 397540
Command: ['/home/death/.steam/debian-installation/steamapps/common/Borderlands 3/OakGame/Binaries/Win64/Borderlands3.exe', '-NoLauncher']
Options: {'forcelgadd'}
======================
ERROR: ld.so: object '/home/death/.steam/debian-installation/ubuntu12_32/gameoverlayrenderer.so' from LD_PRELOAD cannot be preloaded (wrong ELF class: ELFCLASS32): ignored.

Just fixed this with rebooting system. Looks like some process was still running, but steam not detect it.

But game does not start with Proton-5.9-GE-5-ST (i even turn all settings to lowest to be sure with normal Proton)
and gives me this:
Снимка от 2020-07-28 17-53-00
But start with Proton-5.0-10-rc4

EDIT:
Proton GE and normal Proton log's looks different. Are normal Proton uses Win 10? Because i see in GE, that is Win 7 in log.
Maybe because of that game won't start. Anyway i use DX11 in game options.

EDIT again:
With Proton-5.9-GE-5-ST, game won't start without -NoStartupMovies
Maybe just cannot display these movies and gives error when game is try to play them.
When i set -NoStartupMovies in steam launch, game starts!
Does this Proton-GE have Media Foundation working?

works fine here for both dx11 and dx12. Tested on a new prefix for the steam version of the game. If you're on arch make sure you're not using steam-runtime-native (this is a bad idea in general.)
bl3
bl3dx12

Hm, i never see that 2-nd window. I'm using Ubuntu 20.04.
Maybe Ubuntu is not that good like Arch.
I have GamerOS in second HDD, based on Arch. I will try this game there and will see if there are difference.
Will need to archive 100gb and install to new OS. If all works like you, i will consider to migrate to Arch-based distros.

2nd window is dx12 only. I have not tested ubuntu, I run Fedora, but many users use Arch or Manjaro.

I have tested the game with GamerOS(it's very fresh, i have only 1 game installed in it and like 3-4 hours of gameplay), whitch is very minimal OS with Steam and all nesesary files to run it. But on normal HDD.
I can confirm that, the game does not start without -NoStartupMovies launch option.
Also can confirm that, in both OS: Ubuntu/GamerOS with the -notexturestreaming option, game run much slower, like 50% decrease performance, and also i see stutter in benchmark, with and without the -notexturestreaming
Also the -notexturestreaming cause the game load levels much slower. So i don't see any benefit to use -notexturestreaming option.

So, overall after 2 times benchmark with -notexturestreaming and without it:
88 FPS average without -notexturestreaming
41 FPS average with the -notexturestreaming set up

And ofcource i use -NoStartupMovies too, to make game run. And all tests are made with 5.9-GE-5-ST

EDIT: I'm little afraid with -NoStartupMovies option, because that can make the "Watch monitor" mission impossible. That is one from first missions from starting the game. Because that option may disable all movies in game.

GloriousEggroll, do you see start up movies like 2K logo and AMD when start the game?

If the startup movies dont work on proton-ge then you're likely missing
some kind of dependency or running steam with native libraries instead of
the steam runtime, because proton-ge ships with all of the required
gstreamer libraries. and works here using the steam runtime.

On Tue, Jul 28, 2020 at 1:52 PM Death notifications@github.com wrote:

I have tested the game with GamerOS, whitch is very minimal OS with Steam
and all nesesary files to run it. But on normal HDD.
I can confirm that, the game does not start without -NoStartupMovies
launch option.
Also can confirm that, in both OS: Ubuntu/GamerOS with the
-notexturestreaming option, game run much slower, like 50% decrease
performance, and also i see stutter in benchmark, with and without the
-notexturestreaming
Also the -notexturestreaming cause the game load levels much slower. So i
don't see any benefit to use -notexturestreaming option.

So, overall after 2 times benchmark with -notexturestreaming and without
it:
88 FPS average without -notexturestreaming
41 FPS average with the -notexturestreaming set


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ValveSoftware/Proton/issues/3635#issuecomment-665243563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACWD2HIPTACCBNQH35QOT5DR54T6LANCNFSM4LHE7ANQ
.

If the startup movies dont work on proton-ge then you're likely missing some kind of dependency or running steam with native libraries instead of the steam runtime, because proton-ge ships with all of the required gstreamer libraries. and works here using the steam runtime.

I use just steam runtime, that ships with steam. In GamerOS also startup movies does not show, but crash. For that i'm forced to use -NoStartupMovies option.
I think only time i saw the startup movies, was when i install <Workaround removed by moderator> script.
How to check what dependency i'm missing with Proton-GE?
I wil try with Kubuntu 20.04. Since the Kubuntu have KDE, should have more dependencies by default.

EDIT: Maybe i need install all deps for building Proton-GE?

You may need to completely delete your compatdata prefix folder when switching Proton runtimes. Also make sure the game itself isn't using the wrong version, by checking its properties from the Library.

You may need to completely delete your compatdata prefix folder when switching Proton runtimes. Also make sure the game itself isn't using the wrong version, by checking its properties from the Library.

This is a really good point!
I got again "denuvo lock", or maybe something else, because that "something went wrong" is described in forums "you need update you'r Epic Launcher", but there are no Epic, but Steam launcher. Also that error is described: denuvo cannot re-validate the game. So this is not lock really. It's problem with re-validate game.

EDIT: I read that, Denuvo have limit validations per day. Actually 5 validations. For another 5, need to wait 24 hours. lol .... Very limiting validations for a non-cheap game.

EDIT:
That is itresting: https://borderlands.com/en-US/news/2020-03-05-borderlands-3-steam-faq/

Can I play Borderlands 3 on Steam in Offline Mode?

Yes! _Just as with the Epic Games Store version, Borderlands 3 on Steam supports offline play, though you will need a one-time internet connection to verify ownership, as well as download any patches and hotfixes._

That should to be pinned to Proton testers!

One report for fixing online multiplayer:
Just if you have borderlands 2 or Pre:sequel, use them to connect to Shift, then go back to Borderlands 3, and you will be connected, and online multiplayer will work!
I personally used native linux port of Borderlands Pre-sequel.
Make STEAM LINKED there https://shift.gearboxsoftware.com/home Then start BL2 or Pre:sequel and be sure you got linked, quit game, then run Borderlands 3. All online features are working.

Tested with Very fresh Kubuntu 20.04
Nvidia 440.100 default driver
Without -NoStartupMovies, the game will not start.
So, with Ubuntu Budgie 20.04, Kubuntu 20.04, GamerOS, the game still need -NoStartupMovies to run.
All test's are with Proton-5.9-GE-5-ST and noting modified. Game settings to LOW.

EDIT: Also tested on fresh PopOS 20.04 Nvidia edition and Proton-5.9-GE-5-ST (PopOS gives great stuttering in gameplay and in videos)
Still cannot start game without -NoStartupMovies option.

Report for: Proton-5.9-GE-5-ST

The problem was in mine side, or to be correct on Steam side(effect).
I finally locate the problem that don't start startup movies and all MF videos in game.
I make game to run without any launch options with Ubuntu Budgie 20.04.
I see also with DX12 mode, OPTIMIZING SHADERS screen in-game.
The game run very good and it seems to don't have any problems with game progress. All videos are played and "Watch monitor" mission are working perfect.
The problem was, because i just copy all game-files to destination OS. And that files have some configuration files inside, that is mess up with the game. So this time i used "Backup and restore games" from Steam menu.

  1. I back up the BL3

  2. Uninstall BL3 from Steam menu

  3. I delete all files left in Borderlands 3 steam folder(there was a few some small files left) i also check pfx folder and it was empty

  4. I restore BL3 from the archive.

  5. I start the BL3 with Proton-5.9-GE-5-ST without any options.

EDIT: And to be clear, i used same Ubuntu Budgie 20.04, whitch was used to test before. It's not a fresh install.

This is solution for this error:
_Unhandled Exception: 0x80000100_
Снимка от 2020-07-28 17-53-00

Things to be improved:
Laggy and choppy sound with startup movies(maybe needed different format movies)
In-game cuts-cenes sounds are in Chinese language, when i use English. All other are good.

Ubuntu 18.04
Proton 5.0-9

Driver: X.Org AMD Radeon RX 5700 XT (NAVI10, DRM 3.35.0, 5.4.0-42-generic, LLVM 10.0.0)
Driver Version: 4.6 (Compatibility Profile) Mesa 20.1.4 - kisak-mesa PPA
Full system information output

I am unable to do any multiplayer activities.
I can see my Steam and Shift friends through the Social-menu in-game.
I resolved this issue earlier by removing virtual network adapter, created by Docker in my case. After several crashes I re-installed the game resulting to this to not work anymore.
When attempting to connect to another player, I get timed out. When others try to connect to my party, they get timed out as well.

I also have tried running the game with older Proton.
I am running the game with folowing launch-options:
PROTON_NO_ESYNC=1 WINEPREFIX="<path_to_my_prefix>" WINEARCH=win64 wine wineboot -NoStartupMovies -notexturestreaming

I am unsure on how to debug this at all, so any hints are appreciated :)

Otherwise the game performance is OK, but could be improved. Tough my performance issues might be due to my unusual setup.

Ubuntu 18.04
Proton 5.0-9

Driver: X.Org AMD Radeon RX 5700 XT (NAVI10, DRM 3.35.0, 5.4.0-42-generic, LLVM 10.0.0)
Driver Version: 4.6 (Compatibility Profile) Mesa 20.1.4 - kisak-mesa PPA
Full system information output

I am unable to do any multiplayer activities.
I can see my Steam and Shift friends through the Social-menu in-game.
I resolved this issue earlier by removing virtual network adapter, created by Docker in my case. After several crashes I re-installed the game resulting to this to not work anymore.
When attempting to connect to another player, I get timed out. When others try to connect to my party, they get timed out as well.

I also have tried running the game with older Proton.
I am running the game with folowing launch-options:
PROTON_NO_ESYNC=1 WINEPREFIX="<path_to_my_prefix>" WINEARCH=win64 wine wineboot -NoStartupMovies -notexturestreaming

I am unsure on how to debug this at all, so any hints are appreciated :)

Otherwise the game performance is OK, but could be improved. Tough my performance issues might be due to my unusual setup.

Try that i do:

Back up the BL3 from Steam menu
Uninstall BL3 from Steam menu
Delete all files left in Borderlands 3 steam folder and also check pfx folder
Restore BL3 from the archive.
Start the BL3

The game does run better than before, but the multiplayer issue I solved by deleting network adapters, which I was not using.

The game does run better than before, but the multiplayer issue I solved by deleting network adapters, which I was not using.

I just run Steam with namespace isolation (unshare + slirp4netns) and launch BL3. It's a hassle to drop my VPN connection everytime I want to multiplay with BL3, so hiding/isolating Steam and sub-processes in a namespace did the trick.

Ubuntu 18.04 / Kernel 4.15
Proton-5.9-GE-5-ST, Proton-5.11-GE-3-MF
nvidia-430, nvidia-440, nvidia-450

Game starts and works with acceptable performance, but crashes after ~15 minutes. Otherwise perfectly playable.

Turns out NLWP constantly increases, about 10 per second are spawned, leading to eventual exhaustion and crash when limits in user-1000 slice are reached:

cgroup: fork rejected by pids controller in ...

Various startup options (PROTON_NO_ESYNC, notexturestreaming) and setting adjustments do not make a difference.

Will continue testing with 5.4 kernel once drm lockout expires.

I'm seeing the behaviour that @bgse mentioned as well. It's currently impossible to complete the Slaughterstar 3000 mission because of this - for whatever reason the intensity of combat and/or environment really exacerbates this problem. At the point which the game crashed, my system thread count was ~31950 and dropped to only 2200 after closing killing the parent process for the game. That's in the ballpark of 29000 processes spawned by the application. Where it's happening, I'm not sure. I'm tempted to run the game with RADV again to see if this is graphics-stack related or if it's something else.

Environment:
Gentoo
Proton-5.9-GE-5-ST
AMD Radeon VII with AMDGPU in-tree on 5.7.12 with Zen patches.
AMD 2990WX

Proton-5.11-GE-3-MF
arch; 5.8.3-arch1-1 kernel
AMD Ryzen 5 2600X
NVIDIA GTX 1080 (with nvidia driver)

Not sure where to get logs exactly, I can see this in the steam console:

akGame\Binaries\Win64\Borderlands3.exe: ../../../../proton/wine/dlls/ntdll/unix/virtual.c:1310: create_view: Assertion `!((UINT_PTR)base & page_mask)' failed.

Game just randomly crashes every 1-2 hours, works flawlessly besides that.

Game just randomly crashes every 1-2 hours, works flawlessly besides that.

@makupi probably the same thread leak i just mentioned

@makupi probably the same thread leak i just mentioned

Sounds about right, just checking system thread count and it's continuously climbing up, currently sitting at 19k threads. I'll try to monitor when it crashes, will edit here. Crashed at 30k, went down to 680.

I'll try to monitor when it crashes, will edit here.

Not sure how useful the thread count will be as it will more or less equal the thread limit for your user slice/cgroup. I think the real question is where it's forking at.

Update: this issue occurs with DX12 as well, eliminating portions of DXVK from the question (vkd3d is used here instead, not that either would be spawning threads). I'd hazard a guess that this is some issue with the way WINE itself works. When I closed the game, stuttering had become intolerable and the game was using 120GB of virtual memory and only 14GB or real memory - likely due to overhead from the 12000 or so threads it had spawned up until that point.

Addendum: I think it's also worth noting that I do not recall this having been an issue when the game initially released on Steam. So it's possible that in between the versions of WINE shipped with whatever Proton version I initially used and the 5.9 introduced a new bug or regression.

Update 2: Did some log analysis and real-time log viewing. I should clarify RE DXVK that it is still present. There's a very large amount of SEH log traffic, but no smoking gun. The only clear evidence of so many threads spawning is DXVK being initialized and logging every second. This is likely due to DXVK being loaded in the new thread, and not necessarily any indication that DXVK is at fault here. Adding more channels to the log might be helpful, but could quickly become unmanageable.

I share the issue with the game locking up after 30-60 min.

What works for me is to turn off the Steam vulkan shader cache, or just delete the shadercache directory to allow Steam to re-create it whilst playing the game. After that, the game works flawlessly until the next patch/update/hotfix is released and I need to repeat the workaround. When I do this the game doesn't crash at all even after several hours of playing.

Also, any attempts I made to play the game using the 5.8.x branch of the kernel result in a completely lockup after 5-10 min forcing a hard reboot. I don't have the problem using 5.7.x branch (I'm currently using 5.7.18). Though that might perhaps be caused by some incompatibility between the kernel and the BIOS/CPU/GPU used.

I'll test the shader cache bit, though I fear it may lead to some initial stuttering with Mesa. I'm not immediately sure why ahead-of-time shader caching would cause this issue, but it's an interesting suggestion and its implementation (for BL3, at least) seems to have coincided with the problem appearing.

Update: I have tested this, and unfortunately it has no impact on the thread leak issue. The game began spawning at most 20 threads per second right after the gearbox logo.

Perhaps it has any effect on the rate of spawning new threads? I'm just speculating, since I can the game without any major issues compared to having it crash randomly 30-60 min into the game when I have the Steam vulkan shaders turned off. I have swap turned off completely as I have 32 gb of ram.

Edit: It may be worth mentioning I'm using Proton 5.0.9-next in Steam

No discernible effect on spawn rate. What version of WINE is packaged with Proton 5.0.9-next?

No discernible effect on spawn rate. What version of WINE is packaged with Proton 5.0.9-next?

Proton 5.0-y is based off Wine 5.0, with selected patches cherry-picked and back-ported from current wine 5.x. So it's not exactly Wine 5.0 but it is also not Wine 5.15 but something in between. I'm guessing that Valve is currently preparing for Proton 6.0 based off Wine 6.0 which will land at end of the year: I've seen some rebase efforts somewhere in the git logs.

@veganvelociraptor

I have swap turned off completely as I have 32 gb of ram.

That may have the opposite effect of what you're thinking it does: https://chrisdown.name/2018/01/02/in-defence-of-swap.html

You actually want to have at least a little amount of swap. I also have 32 GB of RAM, and I paired it with 60 GB of swap (for reasons of coincidence, it's not actually that useful). The system always accumulates around 1-2 GB of data in swap after some time. And this would really be dead RAM otherwise: It never touches it again, that's up to 2 GB more RAM for caching and improved performance. If you're concerned about memory guarantees for your games, you'd better look for cgroup v2 and memory.low settings.

I ran BL3 with the Valve distribution of Proton 5.0-9 (distributed via Steam), as opposed to the typical GE patchset I tend to use. While running the game for more than long enough to see the thread leak, I did not observe a continually rising thread count. This is helpful because it at least tells us that this behavior was introduced somewhere between Proton 5.0 and 5.9, quite possibly in the additional patches present in GE.

While Proton is comprised of many components, the one with the largest surface area and (IMO) potential for this sort of bug is WINE itself.

I would build some newer versions of vanilla proton and test those, but this isn't a pressing enough issue for me to set up vagrant-libvirt _tonight_ on Gentoo (which inexplicably does not have a use flag for the libvirt vagrant backend, correct me if I'm wrong). Also, regression testing may be difficult as one may run out of Denuvo tickets for 12 hours or so.

Update: This issue is not present in Proton-GE-5.4-3, the last release of GE prior to implementing the fix (which happened in GE-5.5-1).

TL;DR for folks getting annoyed with this: once you use the GE distribution to get past any mandatory video bit (because of the fix which shall not be named), switch to the official distribution and the issue will not occur.

A potential problem with using Valve's Proton distribution is that you may not get hotfixes due to the well known networking issues. I can't check this now, as I've upset Denuvo by starting the game too much and can't do so until this evening. Hotfixes (and multiplayer, theoretically) should work with Valve Proton 5.0-9.

After the Krieg DLC update, the thread spamming problem with Proton-GE-5.9-ST got fixed.
Not observing evident increasing of threads.

Fake news :face_with_head_bandage:

After the Krieg DLC update, the thread spamming problem with Proton-GE-5.9-ST got fixed.
Not observing evident increasing of threads.

Interesting. Will test.

Does anyone notice there is a huge performance drop in some areas. The pandora sand area drops 10fps without any enemies.

After the Krieg DLC update, the thread spamming problem with Proton-GE-5.9-ST got fixed.
Not observing evident increasing of threads.

I can't get B3 to start at all after the new DLC update, I get a error mesage with a list of 4 unhandled exceptions.

I can't get B3 to start at all after the new DLC update, I get a error mesage with a list of 4 unhandled exceptions.

Hmmm, I didn't do any tweak on BL3 except I switched between the official Proton-5.0-9 and Proton-GE-5.9-ST. And I'm currently using Proton-GE-5.9-5 with PROTON_NO_ESYNC and DirectX11, it works (almost) perfectly now in single player.

Maybe it's about hardware and OS.


Here is mine: (click me)

  • ArchLinux
  • Linux-5.8.8.arch1-1
  • xorg-1.20.9
  • NVIDIA GTX 1070 with nvidia-450.66 driver
  • Intel i7-6700k

dont switch proton while it is already working especially to third party Proton. Every time you switch, Proton reconfigures, you don't know what problem it will cause to break the game.

@howdev If you're on AMD, I noticed that AMDVLK is now less performant than MESA. If you're on AMDVLK you may want to try the MESA ICD.

Um, RADV is the MESA driver.

My bad, AMDVLK

@Mr-indescribable I observed the thread leak with 5.9-GE-5-ST running the game with DX12. Given my testing, I do not think DX version will have any impact on the outcome, either.

@RomanHargrave

Whoa, that sounds intriguing, I should backup my WINEPREFIX immediately.

BTW, I have no experience in game development, if anyone can tell me what should I do to find out the thing that fixes this problem, I'll be happy to do the test.

BTW, I have no experience in game development, if anyone can tell me what should I do to find out the thing that fixes this problem, I'll be happy to do the test.

@Mr-indescribable

I'm not 100% sure where the issue could be, but if I had to guess it's Media Foundation or a regression in a component like DXVK or WINElib. Because this is a very large game built on a very complicated engine with a whole lot going on at runtime, figuring out what's causing it is - while still probable - a time consuming exercise.

Comparing a snapshot of a prefix could be interesting, though I'm not sure how much it could tell us. I would recommend creating a backup of the prefix in case the problem returns, and then creating a file with hashes of the prefix by running find ~/.local/share/Steam/steamapps/compatdata/397540/ -type f -print0 | xargs -0 sha256sum | perl -ne 'chomp; /([a-f0-9]+) .*compatdata\/397540\/(.+$)/ && print "$1 $2\n"'. If you post that file here (or anywhere), we can compare hashes. These hashes may differ between versions of the components in Proton, so be sure to specify exactly what version you are using.

@RomanHargrave

Exactly, it's the Media Foundation which is causing this problem.

Your reply just reminds me that I did try some illegal solution of the Media Foundation (that well known script) and I just forgot it, sorry about that. :crying_cat_face:

I reproduced the threading spamming problem by creating a new prefix, and solved it by copying Media Foundation related libraries from the old prefix into the new one.

The proton version of mine is Proton-5.9-GE-5-ST, the precompiled one downloaded from the release page.

@Mr-indescribable that's interesting.

Since ~5.7, GE has included a patch that provides media foundation support, but it looks like it's using a cleanroom implementation as opposed to the proprietary version you're using (and which many people have had limited success with). Is video playback working for you?

@RomanHargrave

It works, but with some issues, a part of videos with no sound (such as the one played when you create a new character), and a part of them just played as a black screen (such as videos about the plan in the mission "The Plan" in handsome jackpot DLC).

After the Krieg DLC update, the thread spamming problem with Proton-GE-5.9-ST got fixed.
Not observing evident increasing of threads.

I can't get B3 to start at all after the new DLC update, I get a error mesage with a list of 4 unhandled exceptions.

I finally found a fix to the game suddenly not starting for me any longer, by installing d3dcompiler_47.dll. No idea what it does or why it works, I was desperate and read that it fixed a completely different error message for a previous poster and tried out the same thing.

Bl3 with all updates and DLC's at moment are working all absolutely perfect with Proton 5.0 next with some fixes. No stuttering, no glitches, CoOp is working, no problem at all!

with some fixes

@deathxxx123 are you referring to media foundation?

with some fixes

@deathxxx123 are you referring to media foundation?

I cannot say.

Can someone please summarise the current state of running Borderlands 3 with Proton?

Many of you reading this will probably be thinking "just read the thread like we all had to!" but the way the comments auto-collapse and the varying information makes this pretty awkward.

I've managed to get the game to launch once and played the campaign briefly. Unfortunately the game doesn't start after that initial launch. I have tried different proton versions and deleting the WindowsNoEditor folder but I can't get the game to launch again.

Hoping to try and play this with a friend who is using the Epic Store version on Windows.

Its times like this I question my life choices that lead to using Linux on the desktop...

Thanks in advance :)

Part of the getting it to launch again after first launch: Make sure you go into graphics settings and switch it from "DirectX 12" to "DirectX 11". It starts the first time in 11 mode, and then automatically detects that it's on "Windows 10" and switches to 12 mode, but this only takes effect after restarting, and Proton's vkd3d doesn't really work with this game.

Crashing a few times on startup can lead it to offer to erase your settings, which may let you fix this. Or it could also end up triggering the Denuvo ban, which will lock you out of the game for 24 hours.

Can someone please summarise the current state of running Borderlands 3 with Proton?

Many of you reading this will probably be thinking "just read the thread like we all had to!" but the way the comments auto-collapse and the varying information makes this pretty awkward.

I've managed to get the game to launch once and played the campaign briefly. Unfortunately the game doesn't start after that initial launch. I have tried different proton versions and deleting the WindowsNoEditor folder but I can't get the game to launch again.

Hoping to try and play this with a friend who is using the Epic Store version on Windows.

Its times like this I question my life choices that lead to using Linux on the desktop...

Thanks in advance :)

It run very great with lastest proton and some tweaks. The game is big, and if you have SSD or SSM, this will greatly reduce loading times and shaders preloading.
And because this game have Denuvo protection, if you try 3 times with different proton, you will get 24 hours lock, before you can try another 3 times. For that, use only one version of proton. You can modify it many times you want without lock, only need to be a one version.
Use DX11 API, it's better.
I play alot BL3, and don't have any problems.
Ubuntu 20.04, GTX 1060 6GB, 32GB RAM and samsung SSM.

Can someone please summarise the current state of running Borderlands 3 with Proton?

Nowadays with latest proton it works flawlessly in my case. Playing on DX11. But one issue annoying me for a long time - micro stutters. It turns out that this cause because of small shader cache size in case of NVIDIA, you can find full thread and solution (workaround TBH) here.

No stutters for me. The Proton preloads all shaders, before start the game.

No stutters for me. The Proton preloads all shaders, before start the game.

This should help or fix entirely stutters issue but some people (i would say many people) suffer even more because of this feature https://github.com/ValveSoftware/steam-for-linux/issues/7306

Thanks to everyone who replied previously.

Using Proton 5.13-1 the game reliably launches (it doesn't reset to DX12) every time.

I was able to play some co-op with a friend, however I encountered the "Watch Monitor bug" when starting a new campaign. After trying various things to fix this, nothing worked!

In the end, I joined my friends campaign a few missions ahead of the bug mentioned above and things have been 100% perfect.

Does anyone know if I am going to run into more issues with video playback throughout the campaign or is the worst behind me!?

Thanks in advance

EDIT:
After some more research I realised that "VidScreen_ShivsOffice.mp4" is probably the video the game was trying to play. Taking a look at how many VidScreen files are in the game:
[foo@BAR ~]$ find "$HOME/.local/share/Steam/steamapps/common/Borderlands 3/OakGame/Content/Movies/" -mindepth 1 -iname "vidscreen*" | wc -l
21

Looks like I'm definitely going to hit this issue again!

I should mention that I have tried both "mf-install" scripts which still haven't fixed the issue.
I had to delete the symlinks here (to bypass error 13 permission denied):
rm "$HOME/.steam/steam/steamapps/compatdata/397540/pfx/drive_c/windows/system32/mf.dll"
rm "$HOME/.steam/steam/steamapps/compatdata/397540/pfx/drive_c/windows/syswow64/mf.dll"
rm "$HOME/.steam/Steam/steamapps/compatdata/397540/pfx/drive_c/windows/system32/mfreadwrite.dll"
rm "$HOME/.steam/Steam/steamapps/compatdata/397540/pfx/drive_c/windows/syswow64/mfreadwrite.dll"

Was this page helpful?
0 / 5 - 0 ratings

Related issues

AwesamLinux picture AwesamLinux  ·  3Comments

AwesamLinux picture AwesamLinux  ·  3Comments

leifmetcalf picture leifmetcalf  ·  3Comments

lucifertdark picture lucifertdark  ·  3Comments

ghost picture ghost  ·  3Comments