lug-helper/lib/sc-launch.sh

96 lines
4.1 KiB
Bash
Raw Normal View History

2024-09-06 02:47:06 +00:00
#!/usr/bin/env bash
2024-10-30 00:02:12 +00:00
################################################################################
# This script configures and launches Star Citizen.
# It is installed by the LUG Helper for a non-Lutris installation.
2024-09-06 02:47:06 +00:00
#
2024-10-30 00:02:12 +00:00
# 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.
2024-09-06 02:47:06 +00:00
#
2024-10-30 00:02:12 +00:00
################################################################################
2024-09-06 02:47:06 +00:00
# $HOME/Desktop/RSI Launcher.desktop
# $HOME/.local/share/applications/wine/Programs/Roberts Space Industries/RSI Launcher.desktop
2024-10-30 00:02:12 +00:00
################################################################################
2024-09-06 02:47:06 +00:00
#
2024-10-30 00:02:12 +00:00
# If you do not wish to use the above .desktop files, simply run this script
# from your terminal.
#
# version: 1.3
2024-10-30 00:02:12 +00:00
################################################################################
################################################################
2024-09-06 02:47:06 +00:00
# Configure the environment
# Add additional environment variables here as needed
################################################################
2024-09-06 02:47:06 +00:00
export WINEPREFIX="$HOME/Games/star-citizen"
export WINEDLLOVERRIDES=winemenubuilder.exe=d # Prevent updates from overwriting our .desktop entries
2024-10-08 04:01:25 +00:00
export WINEDEBUG=-all # Cut down on console debug messages
2024-10-10 16:29:04 +00:00
export EOS_USE_ANTICHEATCLIENTNULL=1
# Nvidia cache options
2024-09-06 02:47:06 +00:00
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"
2024-11-01 16:07:59 +00:00
export MESA_SHADER_CACHE_MAX_SIZE="10G"
2024-09-06 04:15:02 +00:00
#export DXVK_HUD=fps,compiler
2024-09-06 02:47:06 +00:00
#export MANGOHUD=1
2024-10-27 04:21:44 +00:00
################################################################
# Configure the wine binaries to be used
#
2024-10-27 04:21:44 +00:00
# To use a custom wine runner, set the path to its bin directory
# export wine_path="/path/to/custom/runner/bin"
2024-10-27 04:21:44 +00:00
################################################################
export wine_path="$(command -v wine | xargs dirname)"
2024-10-30 00:02:12 +00:00
#############################################
# Get a shell
#############################################
# Drop us into a shell that contains the current environment
# This is useful for getting a wine control panel, debugging, etc.
# Usage: ./sc-launch.sh shell
if [ "$1" = "shell" ]; then
2024-10-30 22:13:33 +00:00
echo "Entering Wine prefix maintenance shell. Type 'exit' when done."
export PATH="$wine_path:$PATH"; export PS1="Wine: "
cd "$WINEPREFIX"; /usr/bin/env bash --norc; exit 0
fi
#############################################
# Run optional prelaunch and postexit scripts
#############################################
2024-10-30 00:02:12 +00:00
# To use, update the game install paths here, create the scripts with your
2024-10-30 22:13:33 +00:00
# desired actions in them, then place them in your prefix directory:
# sc-prelaunch.sh and sc-postexit.sh
# Replace the trap line in the section below with the example provided here
2024-09-11 01:51:27 +00:00
#
2024-10-27 04:21:44 +00:00
# "$WINEPREFIX/sc-prelaunch.sh"
# trap "update_check; \"$wine_path\"/wineserver -k; \"$WINEPREFIX\"/sc-postexit.sh" EXIT
2024-09-21 21:25:54 +00:00
#############################################
# It's a trap!
#############################################
2024-09-21 21:25:54 +00:00
# Kill the wine prefix when this script exits
# This makes sure there will be no lingering background wine processes
update_check() {
2024-10-27 04:21:44 +00:00
while "$wine_path"/winedbg --command "info proc" | grep -qi "rsi.*setup"; do
sleep 2
done
}
2024-10-27 04:21:44 +00:00
trap "update_check; \"$wine_path\"/wineserver -k" EXIT
#############################################
2024-09-06 02:47:06 +00:00
# Launch the game
#############################################
2024-09-11 01:51:27 +00:00
# To enable feral gamemode, replace the launch line below with:
2024-10-27 04:21:44 +00:00
# gamemoderun "$wine_path"/wine "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"
2024-09-15 17:42:45 +00:00
#
2024-10-30 00:02:12 +00:00
# To enable gamescope and feral gamemode, replace the launch line below with the
# desired gamescope arguments. For example:
2024-10-27 04:21:44 +00:00
# gamescope --hdr-enabled -W 2560 -H 1440 --force-grab-cursor gamemoderun "$wine_path"/wine "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"
2024-09-11 01:51:27 +00:00
2024-10-27 04:21:44 +00:00
"$wine_path"/wine "C:\Program Files\Roberts Space Industries\RSI Launcher\RSI Launcher.exe"