
Mr. Bern
Published
Persistent audio and run issues with Proton Experimental, Hotfix, 10.0-1, 9.0-4. 8.0-5 and GE Proton 9-27 and multiple launch options. Help.
PROTON_LOG=1 %command% --skip-launcher --vulkan
After installing it the game runs fine. Any following attempts to run the game either fail/freeze or run but no sound, or only menu and dialogue sound. Using Proton Experimental worked for a bit, if it had no audio I just had to exit and run it again and it'd work as expected. Now though it either: crashes immediately upon running, "starts" and freezes (all process stats stuck forever in N/A), or it runs without any audio or sound. Before it would run with only menu audio and dialogue, now it's not even that much. The only consistent "fix" I have managed is reinstalling, but I don't think anyone wants to reinstall a 100+ GB game before every every session.
Please help.
Had to install dependencies and create two scripts that must be run back-to-back to close it after getting it to run well ONCE. Patience.
PROTON_LOG=1 WINEDLLOVERRIDES="xaudio2_7=n,b" PROTON_NO_ESYNC=1 %command% --skip-launcher
Go to /usr/share/vulkan/icd.d
and rename dzn_icd.x86_64.json
by adding .ghost
or something else.
Reboot, run the game. If you get a working instance without issues or already had one, BACK IT UP.
Had to use bash alias scripts to nuke bg3 or any winservers it uses, and another one to restore the backup. Aliases:
alias nukebg3='pkill -f bg3; pkill -f wine; wineserver -k; pkill -f wineserver; pkill -f Proton'
alias restorebg3='rsync -a --delete ~/.bg3-working-pfx ~/.steam/steam/steamapps/compatdata/1086940/pfx'
This only works IF I run nukebg3
while bg3 is running and using bg3restore
after. IF YOU:
- close the game with
nukebg3
and then dorestorebg3
it will start normally and run
ELSE IF YOU:
don't use
nukebg3
to close the game, the next time you try to run it the process zombify regardless of if you usedrestorebg3
don't use
restorebg3
after nuking the game, it will start but have no sound
IF that doesn't work TRY rebooting Steam before restoring
Game would start up either mute or with partial audio (menu and dialogue only)
Closing the game on fullscreen makes it crash on subsequent boots
Game had lots of weird bugs around getting it to start. Audio issues as mentioned, crashing at different stages before reaching the main menu, and process zombification. See tinker steps above.
This fix is ugly, but it works.
For some reason closing a working instance of the game ruins something inside the ~/.steam/steam/steamapps/compatdata/1086940/pfx
folder or its subfolders. I do not yet know what it is. Restoring the pfx folder to a version of it that got the game to work correctly is what makes the "nuke then restore" tech-ritual work. Closing the game does SOMETHING to the wine profile. So I'm trying to find out what.
The game also ignores any --vulkan
, --dx11
or --force-//vulkan//dx11//
flags in its launch options. I tried getting either renderer to work and after so much tinkering I got a working instance of vulkan with the specified launch options.
PROTON_LOG=1 WINEDLLOVERRIDES="xaudio2_7=n,b" DXVK_ASYNC=1 DXVK_HUD=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 gamemoderun mesagit-enable %command% --skip-launcher
Minor yet common artifacts. Black squares flash around the screen regularly during dialogue scenes. Exclusively in the background and never on the characters themselves. Tolerable.
After playing for a few hours the framerate begins to destabilize but never below 30 FPS.
GE-Proton-10-1 and the git mesa drivers solved the weird issues I was having before (process zombification, crashing at various points during launch, dx11 override, audio issues). See about mesa git below.
IMPORTANT: The mesagit-enable
statement in the launch options is a CUSTOM SCRIPT I made that allows me to override game launches to force the usage of the git mesa drivers. If the launch options don't work without it for you, then download and extract the git mesa drivers in an /opt/ subfolder (ex: /opt/mesa-git/) and create the script. Here's a simplified version of mine:
#!/bin/bash
# Common mesa-git paths
export LD_LIBRARY_PATH="/opt/mesa-git/lib/x86_64-linux-gnu:$LD_LIBRARY_PATH"
export LIBGL_DRIVERS_PATH="/opt/mesa-git/lib/x86_64-linux-gnu/dri"
export VK_LAYER_PATH="/opt/mesa-git/share/vulkan/explicit_layer.d"
export GALLIUM_HUD="fps,cpu+GPU-load,temp"
VULKAN_DRIVER="radv"
VK_ICD_RADV="/opt/mesa-git/share/vulkan/icd.d/radeon_icd.x86_64.json"
VK_ICD_AMDVLK="/etc/vulkan/icd.d/amd_icd64.json"
exec "$@"