Last active
March 25, 2024 14:31
-
-
Save Siarkowy/f834658f4903058992f4a1247ec0a6d6 to your computer and use it in GitHub Desktop.
Rocksmith 2014 on Steam Deck - installation script
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Usage: ./rocksmith-install.sh | |
set -xeuo pipefail | |
STEAMLIBRARY="/home/deck/.local/share/Steam" | |
STEAMLIBRARY_GAME="/run/media/mmcblk0p1/SteamLibrary" | |
PROTON="$STEAMLIBRARY/steamapps/common/Proton 7.0/dist" | |
# PROTON="$STEAMLIBRARY/steamapps/common/Proton - Experimental/files" | |
# PROTON="$STEAMLIBRARY/compatibilitytools.d/GE-Proton7-50/files" | |
_deps() { | |
sudo steamos-readonly disable | |
sudo pacman-key --init | |
sudo pacman-key --populate archlinux | |
sudo pacman -S realtime-privileges wine-staging | |
} | |
_groups() { | |
# /etc persists between OS upgrades, this is optional | |
groups | |
sudo groupadd audio | |
sudo groupadd realtime | |
sudo usermod -aG audio $USER | |
sudo usermod -aG realtime $USER | |
} | |
_build() { | |
# change base-devel to only gcc & make (?) | |
sudo pacman -S base-devel glibc linux-headers linux-api-headers libtool binutils lib32-glibc | |
# drop pipewire for now (why is pipewire XOR with jack in Arch? who knows) | |
sudo pacman -S lib32-jack2 jack2 | |
git clone --recursive https://github.com/wineasio/wineasio.git || true | |
pushd wineasio/ | |
git pull | |
rm -rf build32/ build64/ | |
make 32 | |
make 64 | |
popd | |
# :: lib32-pipewire-jack and lib32-jack2 are in conflict (lib32-jack). Remove lib32-jack2? [y/N] y | |
# :: pipewire-jack and jack2 are in conflict (jack). Remove jack2? [y/N] y | |
sudo pacman -S lib32-pipewire-jack pipewire-jack | |
} | |
_install() { | |
pushd wineasio/ | |
sudo cp build32/wineasio.dll /usr/lib32/wine/i386-windows/wineasio.dll | |
sudo cp build32/wineasio.dll.so /usr/lib32/wine/i386-unix/wineasio.dll.so | |
sudo cp build64/wineasio.dll /usr/lib/wine/x86_64-windows/wineasio.dll | |
sudo cp build64/wineasio.dll.so /usr/lib/wine/x86_64-unix/wineasio.dll.so | |
cp build32/wineasio.dll "$PROTON/lib/wine/i386-windows/" | |
cp build32/wineasio.dll.so "$PROTON/lib/wine/i386-unix/" | |
cp build64/wineasio.dll "$PROTON/lib64/wine/x86_64-windows/" | |
cp build64/wineasio.dll.so "$PROTON/lib64/wine/x86_64-unix/" | |
popd | |
} | |
_register() { | |
WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx regsvr32 /usr/lib32/wine/i386-windows/wineasio.dll | |
WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx wine64 regsvr32 /usr/lib/wine/x86_64-windows/wineasio.dll | |
} | |
_run() { | |
echo >&2 "Use Proton script generated with PROTON_DUMP_DEBUG_COMMANDS=1 instead." | |
exit 1 | |
# cd "$STEAMLIBRARY_GAME/steamapps/common/Rocksmith2014" | |
# export PIPEWIRE_LATENCY=256/48000 | |
# export WINEPREFIX=$STEAMLIBRARY/steamapps/compatdata/221680/pfx | |
# exec "$PROTON/bin/wine" Rocksmith2014.exe | |
# PROTON_LOG=1 PROTON_DUMP_DEBUG_COMMANDS=1 PROTON_DEBUG_DIR=~/.rocksmith2014 %command% | |
# PIPEWIRE_LATENCY=256/48000 %command% | |
} | |
_reinstall() { | |
_deps | |
_build | |
_install | |
_register | |
} | |
for _action in "${@:-_reinstall}"; do | |
$_action | |
done |
Yeah, it was written for compatibility with rs_asio. However, since then I moved to Flatpak setup. You might have a look at https://github.com/Siarkowy/com.valvesoftware.Steam.CompatibilityTool.WineASIO.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
is this script work with rs_asio?