lug-helper/lib/sc-launch.sh
2024-10-24 13:47:44 -04:00

75 lines
3.2 KiB
Bash
Executable File

#!/usr/bin/env bash
# This script configures and launches Star Citizen
# It is installed by the LUG Helper when the game is installed with Wine (not Lutris)
#
# The following .desktop files are added by wine during installation and then modified by the LUG Helper to call this script
# They are automatically detected by most desktop environments for easy game launching
#
#############################################################################################
# $HOME/Desktop/RSI Launcher.desktop
# $HOME/.local/share/applications/wine/Programs/Roberts Space Industries/RSI Launcher.desktop
#############################################################################################
#
# If you do not wish to use the above .desktop files, then simply run this script from your terminal
#####################################################
# Configure the environment
# Add additional environment variables here as needed
#####################################################
export WINEPREFIX="$HOME/Games/star-citizen"
export WINEDLLOVERRIDES=winemenubuilder.exe=d # Prevent updates from overwriting our .desktop entries
export WINEDEBUG=-all # Cut down on console debug messages
export EOS_USE_ANTICHEATCLIENTNULL=1
# Nvidia cache options
export __GL_SHADER_DISK_CACHE=1
export __GL_SHADER_DISK_CACHE_SIZE=1073741824
export __GL_SHADER_DISK_CACHE_PATH="$WINEPREFIX"
export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=true
# Mesa (AMD/Intel) Shader Cache Options
export MESA_SHADER_CACHE_DIR="$WINEPREFIX"
export MESA_SHADER_CACHE_MAX_SIZE=10G
#export DXVK_HUD=fps,compiler
#export MANGOHUD=1
#####################################################
# Configure the wine binary to be used
#
# To use a custom wine runner, set its path here
# wine_exec="/path/to/custom/runner/bin/wine"
#####################################################
wine_exec="wine"
#############################################
# Run optional prelaunch and postexit scripts
#############################################
# To use, update the game install paths here, then create the scripts with your desired actions in them
# Replace the trap line in the section below with the example provided here
#
# "$HOME/Games/star-citizen/sc-prelaunch.sh"
# trap "update_check; wineserver -k; $HOME/Games/star-citizen/sc-postexit.sh" EXIT
#############################################
# It's a trap!
#############################################
# Kill the wine prefix when this script exits
# This makes sure there will be no lingering background wine processes
update_check() {
while winedbg --command "info proc" | grep -qi "rsi.*setup"; do
sleep 2
done
}
trap "update_check; wineserver -k" EXIT
#################
# Launch the game
#################
# To enable feral gamemode, replace the launch line below with:
# gamemoderun "$wine_exec" "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"
#
# To enable gamescope and feral gamemode, replace the launch line below with the desired gamescope arguments. For example:
# gamescope --hdr-enabled -W 2560 -H 1440 --force-grab-cursor gamemoderun "$wine_exec" "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"
"$wine_exec" "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"