diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 44039f460de7f52d5121ddd8cf195506fdda95be..826d257186ba23a7773988f6c7fb10b4fdd99256 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -346,6 +346,23 @@ init_wine_ver () { return 0 } +regdlloverrides () { + PW_DLL_EXE=`echo $@ | awk -F: '{print $1}'` + PW_DLL_LIB=`echo $@ | awk -F: '{print $2}' | awk -F= '{print $1}'` + PW_DLL_SET=`echo $@ | awk -F= '{print $NF}'` + case "${PW_DLL_SET}" in + "n,b") PW_DLL_IN_REG="native,builtin" ;; + "b,n") PW_DLL_IN_REG="builtin,native" ;; + "n") PW_DLL_IN_REG="native" ;; + "b") PW_DLL_IN_REG="builtin" ;; + *) PW_DLL_IN_REG="" ;; + esac + grep 'HKCU,Software\\Wine\\AppDefaults\\'"${PW_DLL_EXE}"'\\DllOverrides,'\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\" "${WINEDIR}/share/wine/wine.inf" + if [[ "$?" != "0" ]] ; then + sed -i "/\[SteamClient.ntamd64\]/a HKCU,Software\\\Wine\\\AppDefaults\\\\${PW_DLL_EXE}\\\DllOverrides,\"${PW_DLL_LIB}\",0x2,\"${PW_DLL_IN_REG}\"" "${WINEDIR}/share/wine/wine.inf" + fi +} + wait_wineserver () { while [ ! -z "$(ls -l /proc/*/exe 2>/dev/null | grep -ie ${portname} | grep -E 'wine(64)?-preloader|wineserver' | awk -F/ '{print $3}')" ] ; do sleep 1 diff --git a/data_from_portwine/scripts/portwine_db/EpicGamesLauncher b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher index 0b965b1c9150dff1581b3ac93bf2d21062d8a4d2..fe11f410fedc84b40c11c595e45f7248944ae1a9 100755 --- a/data_from_portwine/scripts/portwine_db/EpicGamesLauncher +++ b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher @@ -8,4 +8,7 @@ export PW_WINE_USE=PROTON_GE export PW_VULKAN_USE=1 export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq" export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" -export WINEDLLOVERRIDES="vulkan-1=n,b" + +add_in_start_portwine () { + regdlloverrides "RDR2.exe:vulkan-1=n" +} diff --git a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher index 297745a7ed4585ed92472a80310adac9ce6c63ee..95b8b5065c9b55a334e77aff223e10a6dfd8a65a 100755 --- a/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher +++ b/data_from_portwine/scripts/portwine_db/Rockstar_Games_Launcher @@ -8,3 +8,6 @@ export PW_VULKAN_USE=1 export PW_DLL_INSTALL="vcrun2019" export PW_WINDOWS_VER=10 +add_in_start_portwine () { + regdlloverrides "RDR2.exe:vulkan-1=n" +} diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 4a7c40783ef36d514f5f3876738367e5d07a4eee..fb1bacd1ae778d5edf14bfbb7f0bbcfdf8110153 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -24,7 +24,9 @@ fi start_portwine () { export WINEARCH="win64" pw_check_and_download_wine "${PW_WINE_USE}" - init_wine_ver + init_wine_ver + sed -i '/Steam.exe/d' "${WINEDIR}/share/wine/wine.inf" + sed -i '/\\Valve\\Steam/d' "${WINEDIR}/share/wine/wine.inf" if [ -x "`which konsole 2>/dev/null`" ]; then export PW_TERM="konsole --nofork -e" # elif [ -x "`which gnome-terminal 2>/dev/null`" ]; then export PW_TERM="gnome-terminal -- /usr/bin/env bash" ??? elif [ -x "`which lxterminal 2>/dev/null`" ]; then export PW_TERM="lxterminal -e" @@ -131,6 +133,8 @@ start_portwine () { else export WINEDEBUG="-all" export DXVK_LOG_LEVEL="none" + export VKD3D_SHADER_DEBUG="none" + export VKD3D_FEATURE_LEVEL="12_0" export VKD3D_DEBUG="none" export DXVK_LOG_PATH="none" fi @@ -304,14 +308,14 @@ start_portwine () { ! -f "${WINEPREFIX}"/userdef.reg || ! -f "${WINEPREFIX}"/system.reg || ! -f "${WINEPREFIX}"/user.reg ]] then pw_clear_pfx - OLD_PW_WINE_USE="${PW_WINE_USE}" - export PW_WINE_USE=${PW_PROTON_STEAM_VER} - init_wine_ver + # OLD_PW_WINE_USE="${PW_WINE_USE}" + # export PW_WINE_USE=${PW_PROTON_STEAM_VER} + # init_wine_ver check_dirs_and_files_in_pfx ${pw_runtime} env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}" "${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log" wait_wineserver && - export PW_WINE_USE="${OLD_PW_WINE_USE}" - init_wine_ver + # export PW_WINE_USE="${OLD_PW_WINE_USE}" + # init_wine_ver echo "${PW_WINE_USE}" > "${WINEPREFIX}/.wine_ver" elif [[ -z "`cat ${WINEPREFIX}/.wine_ver | grep ${PW_WINE_USE}`" ]] ; then check_dirs_and_files_in_pfx diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index a857803007470f79160f67fa62985b437e233bab..a827e3e1c7eed65eeab25ff4db0185e2e47202dc 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -142,7 +142,7 @@ portwine_start_debug () { env LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${PW_WINELIB}/portable/lib/\$LIB" "${PW_WINELIB}/portable/bin/glxinfo" -B >> "${PORT_WINE_PATH}/${portname}.log" echo " " >> "${PORT_WINE_PATH}/${portname}.log" echo "inxi -G:" >> "${PORT_WINE_PATH}/${portname}.log" - "${PW_WINELIB}/portable/bin/inxi" -G | sed 's/[*]12/""/' >> "${PORT_WINE_PATH}/${portname}.log" + env LANG=C "${PW_WINELIB}/portable/bin/inxi" -G >> "${PORT_WINE_PATH}/${portname}.log" echo "----------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" echo "Vulkan info device name:" >> "${PORT_WINE_PATH}/${portname}.log" "${PW_WINELIB}/portable/bin/vulkaninfo" | grep deviceName >> "${PORT_WINE_PATH}/${portname}.log"