I forgot i had git setup

This commit is contained in:
Marc
2024-01-18 21:00:20 +01:00
commit 0f71c4d79d
4 changed files with 244 additions and 0 deletions
+3
View File
@@ -0,0 +1,3 @@
older-packages
*.pkg.*
src
+23
View File
@@ -0,0 +1,23 @@
# Maintainer: Marc barbier
pkgname=game-runner
pkgver=2.2
pkgrel=1
pkgdesc="Simple wrapper around envycontrol and optimus manager"
arch=('any')
url=''
license=('GPL2')
source=( 'gamerunner.sh' 'gamerunner.cfg' )
backup=( 'etc/gamerunner.cfg' )
optdepends=('optimus-manager: optimus-manager support'
'envycontrol: envycontrol support'
'supergfxctl: supergfxctl support' )
sha512sums=(
'b073f717f83942dbb90a98e557b4e32a9e8d0ac1ebb94e753698278afa40333ec8168d0f0ffde7d60a4ac75e66f41c98ba0a56becb691712cd76e39886691fbc'
'227fcebb72a73ff634278a61f07ef82e367bb9dc6f8bdd00a0fe774882b6c234421d1ef8639475e301820eb05ac9a4a3dc047c13875cc6f69d313f63c9e27c91'
)
package() {
install -Dm 755 "$srcdir/gamerunner.sh" "$pkgdir/usr/bin/gamerunner"
install -Dm 644 "$srcdir/gamerunner.cfg" "$pkgdir/etc/gamerunner.cfg"
}
+37
View File
@@ -0,0 +1,37 @@
# 0=off(default safe) 1=on(might not load or cause crashes) 2=forced(might cause crashes)
MANGOHUD=0
USE_GAMEMODE=1
USE_DLSYM=1
#Un comment for RTX support on older proton
#VKD3D_CONFIG=dxr,dxr11
PROTON_ENABLE_NVAPI=1
PROTON_HIDE_NVIDIA_GPU=0
PROTON_ENABLE_NGX_UPDATER=1
#Obs-vk capture
OBSCAP=1
# small amd vulkan perf boost
RADV_PERFTEST=nggc
# Increase performance in most cases
__GL_THREADED_OPTIMIZATIONS=1
mesa_glthread=true
# Reduce lantency on nvidia systems
__GL_MaxFramesAllowed=1
# Large BAR(Smart access memory) on any AMD hardware ( please use it only on suported hardware )
RADV_PERFTEST=sam
# Put here the icd of your igpu (radv / amdvlk / intel ). full path required !
# RADV
# MESA_ICD="/usr/share/vulkan/icd.d/radeon_icd.i686.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json"
# AMDVLK
# MESA_ICD="/usr/share/vulkan/icd.d/amd_icd64.json:/usr/share/vulkan/icd.d/amd_icd32.json"
# INTEL (useless to specify leave it commented out)
# MESA_ICD="/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json"
#Unreliable in most cases
GAMESCOPE=0
Executable
+181
View File
@@ -0,0 +1,181 @@
#!/bin/bash
# Gamerunner a hook for gamemode and nvidia prime render offload to avoid crashed with optimus-manager
function preload() {
export LD_PRELOAD="${LD_PRELOAD}${LD_PRELOAD:+:}$1"
}
MAIN_VENDOR=$(glxinfo | grep "OpenGL vendor string")
VULKAN_VENDOR=$(vulkaninfo --summary | grep "driverName" | grep -v llvm)
NVK_ICD="/usr/share/vulkan/icd.d/nouveau_icd.i686.json:/usr/share/vulkan/icd.d/nouveau_icd.x86_64.json"
NVKTEST=$(VK_ICD_FILENAMES=$NVK_ICD vulkaninfo --summary)
if [ "$MAIN_VENDOR" == "OpenGL vendor string: MESA" ]
then
MODE="nvk"
else
if [ "$MAIN_VENDOR" == "OpenGL vendor string: NVIDIA Corporation" ]
then
MODE="nvidia"
export GAMESCOPE=0
else
if [[ "$VULKAN_VENDOR" =~ "NVIDIA" ]]
then
MODE="hybrid"
else
if [[ ! -z "$NVKTEST" ]]
then
MODE="hybridnvk"
else
MODE="integrated"
fi
fi
fi
fi
if [ ! -z "${GR_SWITCH_ONLY}" ] && (( $GR_SWITCH_ONLY == 1 ))
then
echo "Skipping env variables"
else
USE_GAMEMODE=0
MANGOHUD=0
GAMESCOPE=0
#if the config doesn't exist load /etc/gamerunner.cfg instead of ~/.config/gamerunner.cfg
if [ -f "$HOME/.config/gamerunner.cfg" ]
then
echo "Loading user config"
source ~/.config/gamerunner.cfg
else
echo "Loading system config"
if [ -f "/app/etc/gamerunner.cfg" ]
then
source /app/etc/gamerunner.cfg
else
source /etc/gamerunner.cfg
fi
fi
#Export the config
export VKD3D_CONFIG
export PROTON_ENABLE_NVAPI
export __GL_THREADED_OPTIMIZATIONS
export mesa_glthread
export RADV_PERFTEST
export __GL_MaxFramesAllowed
export PROTON_HIDE_NVIDIA_GPU
export PROTON_ENABLE_NGX_UPDATER
export MANGOHUD
if [ "$#" -eq 0 ]; then
programname=`basename "$0"`
echo "ERROR: No program supplied"
echo
echo "Usage: $programname <program>"
exit 1
fi
if [ "$GR_SAFE" == "1" ]
then
echo "Safe mode"
GAMESCOPE=0
export MANGOHUD=0
fi
if (( $USE_GAMEMODE == 1 ))
then
preload "libgamemodeauto.so.0"
fi
if [ "$MODE" = "nvidia" ] || [ "$MODE" = "hybrid" ]
then
echo "Disabling gamescope"
GAMESCOPE=0
fi
if (( $GAMESCOPE == 1 ))
then
echo "Disabling mangohud for safety with gamescope"
export MANGOHUD=0
fi
if (( $MANGOHUD == 2 ))
then
echo force loading mangohud
#on load la lib mango
preload "libMangoHud.so"
if (( "$USE_DLSYM" == 1 ))
then
export MANGOHUD_DLSYM=1
preload "libMangoHud_dlsym.so"
fi
export LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:/usr/\$LIB:/usr/\$LIB/mangohud"
export MANGOHUD=1
fi
if (( $OBSCAP == 1 ))
then
echo loading obs vulkan capture
preload "/usr/\$LIB/obs_glcapture/libobs_glcapture.so"
export OBS_VKCAPTURE=1
fi
fi
if [ "$MODE" == "nvidia" ]
then
# Do nothing
echo "nvidia"
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
export __GLX_VENDOR_LIBRARY_NAME=nvidia
else
if [ "$MODE" == "hybridnvk" ]
then
export DRI_PRIME=1
#All nvk specific should by compatible with hybrid
MODE="nvk"
echo "Hybrid-nvk"
fi
if [ "$MODE" == "nvk" ]
then
echo "NVK"
export VK_DRIVER_FILES=$NVK_ICD
else
if [ "$MODE" == "hybrid" ]
then
echo "hybrid"
export VK_ICD_FILENAMES="/usr/share/vulkan/icd.d/nvidia_icd.json"
if [ "$XDG_SESSION_TYPE" == 1 ]
then
export __NV_PRIME_RENDER_OFFLOAD=1
fi
export __VK_LAYER_NV_optimus=NVIDIA_only
export __GLX_VENDOR_LIBRARY_NAME=nvidia
else
if [ -n "$MESA_ICD" ]
then
export VK_DRIVER_FILES=$MESA_ICD
fi
echo "integrated"
fi
fi
fi
# if gamescope is not present this will return an empty string
GAMESCOPE_PATH=$(command -v gamescope)
if [ "$GAMESCOPE" == "1" ] && [ ! "GAMESCOPE_PATH" == "" ]
then
export AMD_VULKAN_ICD=RADV
echo hud $MANGOHUD
echo "Warning: this is still experimental"
echo "$GAMESCOPE_PATH" -f -b "$@"
"$GAMESCOPE_PATH" -f -b "$@"
else
"$@"
fi