I forgot i had git setup
This commit is contained in:
@@ -0,0 +1,3 @@
|
|||||||
|
older-packages
|
||||||
|
*.pkg.*
|
||||||
|
src
|
||||||
@@ -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"
|
||||||
|
}
|
||||||
@@ -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
@@ -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
|
||||||
Reference in New Issue
Block a user