From 2a96c9a9a1a54faf307394d69ddcb59e93ebf7c9 Mon Sep 17 00:00:00 2001 From: Boria138 Date: Tue, 9 Jan 2024 10:30:03 +0600 Subject: [PATCH 1/2] Fixed the initialization of the container and gamemode, now gamemode starts without errors, as well as displayed in MangoHud --- data_from_portwine/scripts/runlib | 22 ++++++++++++---------- data_from_portwine/scripts/start.sh | 19 +++++-------------- 2 files changed, 17 insertions(+), 24 deletions(-) diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index ddd18a7b..c4a31fd4 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -259,10 +259,12 @@ start_portwine () { killall xneur export int_xneur=1 fi - if [[ -x "`command -v "gamemoderun" 2>/dev/null`" ]] && [[ "$PW_USE_GAMEMODE" = "1" ]] ; then + if [[ "$PW_USE_GAMEMODE" = "1" ]] ; then export GAMEMODERUN=1 PW_GAMEMODERUN_SLR="gamemoderun" - systemctl enable --now --user gamemoded &>/dev/null + pkill gamemoded + sleep 0.1 + "${PW_WINELIB}/portable/bin/gamemoded" > /dev/null 2>&1 & print_info "Gamemod will be launched." else export GAMEMODERUN=0 @@ -691,15 +693,15 @@ pw_run () { echo "Log WINE:" >> "${PW_LOG_TO_FILE}" echo "" print_debug "Log from RUNTIME and WINE:" - ${PW_GAMEMODERUN_SLR} \ - ${PW_RUN_GAMESCOPE} \ ${pw_runtime} \ - env ${PW_MANGOHUD_SLR} \ - PATH="${PATH}" \ + env PATH="${PATH}" \ LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ LD_PRELOAD="${PW_LD_PRELOAD}" \ VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \ + ${PW_GAMEMODERUN_SLR} \ + ${PW_RUN_GAMESCOPE} \ + ${PW_MANGOHUD_SLR} \ "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" else if [[ "${PW_USE_TERMINAL}" == "1" ]] ; then @@ -709,15 +711,15 @@ pw_run () { echo "" echo "Log WINE:" > "${PW_LOG_TO_FILE}" print_debug "Log from RUNTIME and WINE:" - ${PW_GAMEMODERUN_SLR} \ - ${PW_RUN_GAMESCOPE} \ ${pw_runtime} \ - env ${PW_MANGOHUD_SLR} \ - PATH="${PATH}" \ + env PATH="${PATH}" \ LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ LD_PRELOAD="${PW_LD_PRELOAD}" \ VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ + ${PW_GAMEMODERUN_SLR} \ + ${PW_RUN_GAMESCOPE} \ + ${PW_MANGOHUD_SLR} \ "${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]} &>>"${PW_LOG_TO_FILE}" cat "${PW_LOG_TO_FILE}" fi diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index c7d1daa6..d199660a 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -183,17 +183,6 @@ portwine_start_debug () { else echo "Vulkan cube test completed with error" >> "${PORT_WINE_PATH}/${portname}.log" fi - echo "----------------------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" - echo "GameMode status:" >> "${PORT_WINE_PATH}/${portname}.log" - if gamemoded -s | grep "is active"; - then - echo "gamemode is active" >> "${PORT_WINE_PATH}/${portname}.log" - elif gamemoded -s | grep "is inactive"; - then - echo "gamemode is inactive" >> "${PORT_WINE_PATH}/${portname}.log" - else - echo "gamemode is not found" >> "${PORT_WINE_PATH}/${portname}.log" - fi echo "----------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo 'locale:' >> "${PORT_WINE_PATH}/${portname}.log" locale >> "${PORT_WINE_PATH}/${portname}.log" @@ -246,6 +235,7 @@ portwine_start_debug () { sed -i '/HACK_does_openvr_work/d' "${PORT_WINE_PATH}/${portname}.log" sed -i '/Uploading is disabled/d' "${PORT_WINE_PATH}/${portname}.log" sed -i '/dlopen failed - libgamemode.so/d' "${PORT_WINE_PATH}/${portname}.log" + sed -i '/gamemodeauto: /d' "${PORT_WINE_PATH}/${portname}.log" sed -i '/wine: RLIMIT_NICE is <= 20/d' "${PORT_WINE_PATH}/${portname}.log" deb_text=$(cat "${PORT_WINE_PATH}/${portname}.log" | awk '! a[$0]++') echo "$deb_text" > "${PORT_WINE_PATH}/${portname}.log" @@ -407,13 +397,14 @@ pw_start_cont_xterm () { unset PW_SANDBOX_HOME_PATH # export PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" pw_init_runtime - ${PW_GAMEMODERUN_SLR} ${pw_runtime} \ - env ${PW_MANGOHUD_SLR} \ - PATH="${PATH}" \ + ${pw_runtime} \ + env PATH="${PATH}" \ LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \ LD_PRELOAD="${PW_LD_PRELOAD}" \ VK_LAYER_PATH="${PW_VK_LAYER_PATH}" \ VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ + ${PW_GAMEMODERUN_SLR} \ + ${PW_MANGOHUD_SLR} \ xterm } From f114439f27574d84596a1f9b805d257e7b741166 Mon Sep 17 00:00:00 2001 From: Boria138 Date: Mon, 15 Jan 2024 16:42:31 +0600 Subject: [PATCH 2/2] Always use xterm from container (needed for OpenSuse) --- data_from_portwine/scripts/functions_helper | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 07c29f8a..d132d149 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -692,12 +692,7 @@ pw_download_libs () { export pw_yad_v12_3="${PW_WINELIB}/portable/bin/yad_v12_3" export pw_zstd="${PW_WINELIB}/portable/bin/zstd" export pw_7z="${PW_WINELIB}/portable/lib/p7zip/7z" - if [ -x "`command -v xterm 2>/dev/null`" ]; then - export SYS_XTERM=`command -v xterm` - export PW_XTERM="${SYS_XTERM} -geometry 159x37 -e" - else - export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e" - fi + export PW_XTERM="${PW_WINELIB}/runtime/files/bin/xterm -geometry 159x37 -e" return 0 }