Upgrading DXVK is complicated by Proton’s safeguards against corrupted prefixes. Running setup_dxvk.sh for a given prefix will fail because Proton overwrites the modified files when the game launches. Instead, updated DLLs must be deployed to the Proton folders from which updates are sourced.

For example, to upgrade GloriousEggroll 6.1-GE-2 to DXVK v1.8:

# Download new DXVK release
cd ~/Downloads
wget https://github.com/doitsujin/dxvk/releases/download/v1.8/dxvk-1.8.tar.gz
tar xvzf dxvk-1.8.tar.gz

# Backup existing DLLs
# It is very important to copy--not move--the original directory
# `dist/lib/wine/dxvk` contains files that aren't distributed in DXVK releases,
# and games will silently fail to launch if these extra files don't exist.
cp -vaur ~/.steam/compatibilitytools.d/Proton-6.1-GE-2/dist/lib/wine/dxvk/ \
cp -vaur ~/.steam/compatibilitytools.d/Proton-6.1-GE-2/dist/lib64/wine/dxvk/ \

# copy new DLLs
cp -vaur ~/tools/dxvk-master/x32/* \
cp -vaur ~/tools/dxvk-master/x64/* \
# <run game to update prefix>

# verify DLL version is correct--the output should be 'v1.8'
# substitute the correct Steam Game ID for the one used here
strings ~/.steam/steam/steamapps/compatdata/292030/pfx/drive_c/windows/system32/dxgi.dll | grep '^v[0-9]\.'