Compare commits

...

10 Commits

Author SHA1 Message Date
Mikhail Tergoev
4549897725 Scripts version 2391 2025-02-26 23:17:13 +03:00
Mikhail Tergoev
3f81cd2cdc dropped Stalker Online 2025-02-26 22:59:25 +03:00
Mikhail Tergoev
2bf119af6a dropped legacy gallium nine 2025-02-26 22:43:52 +03:00
Mikhail Tergoev
1d220dcf0b Merge branch 'Boria138-launch_parameters' into devel 2025-02-26 22:29:27 +03:00
Mikhail Tergoev
f412f34272 Merge branch 'launch_parameters' of github.com:Boria138/PortWINE into Boria138-launch_parameters 2025-02-26 22:29:18 +03:00
Mikhail Tergoev
de6f96e617 disabled openvr_api_dxvk 2025-02-26 22:28:33 +03:00
Boris Yumankulov
ead33bc910
Fix LAUNCH_PARAMETERS with backslashes (VKP or mods) 2025-02-25 23:27:59 +05:00
Mikhail Tergoev
65a99f4445 Merge branch 'Htylol-fixed-lsbash-1' into devel 2025-02-25 17:48:59 +03:00
Mikhail Tergoev
685d4f9ce4 Merge branch 'fixed-lsbash-1' of github.com:Htylol/PortWINE into Htylol-fixed-lsbash-1 2025-02-25 17:48:49 +03:00
Htylol
38f0db7c66 Fixed LSBash when the directory is empty and revert ls to lsbash 2025-02-05 01:03:50 +05:00
9 changed files with 60 additions and 135 deletions

@ -2,6 +2,12 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2391### / Date: 26.02.2025 / Download update size: 4 megabytes
* returned and fixed the LSBash function optimizing the launch of PortProton (thanks htylol)
* fixed LAUNCH_PARAMETERS with backslashes (thanks Boria138)
* remove all functionality of legacy 3D API: "Gallium Nine"
* deleted auto-installation Stalker Online (there is no support from anticheat from the developers of the game)
###Scripts version 2390### / Date: 23.02.2025 / Download update size: 4 megabytes ###Scripts version 2390### / Date: 23.02.2025 / Download update size: 4 megabytes
* added information that you can not use FAKE_DLSS_3 in multiplayer games * added information that you can not use FAKE_DLSS_3 in multiplayer games
* added individual dxvk.conf file using FAKE_DLSS_3 to replace the video card in games on Nvidia RTX 4090 * added individual dxvk.conf file using FAKE_DLSS_3 to replace the video card in games on Nvidia RTX 4090

@ -2,6 +2,12 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2391### / Дата: 26.02.2025 / Размер скачиваемого обновления: 4 мегабайта
* возвращена и исправлена функция lsbash оптимизирующая запуск PortProton (спасибо Htylol)
* исправлена работа параметров запуска содержащие обратные слеши (спасибо Boria138)
* удален весь функционал связанный с устаревшим выбором 3D Api: "gallium nine"
* удалена автоустановка Stalker Online (нет поддержки античита со стороны разработчиков игры)
###Scripts version 2390### / Дата: 23.02.2025 / Размер скачиваемого обновления: 4 мегабайта ###Scripts version 2390### / Дата: 23.02.2025 / Размер скачиваемого обновления: 4 мегабайта
* добавлена информация о том что нельзя использовать FAKE_DLSS_3 в мультиплеерных играх * добавлена информация о том что нельзя использовать FAKE_DLSS_3 в мультиплеерных играх
* добавлен индивидуальный dxvk.conf файл при использовании FAKE_DLSS_3 для подмены определения видеокарты в играх на NVIDIA RTX 4090 * добавлен индивидуальный dxvk.conf файл при использовании FAKE_DLSS_3 для подмены определения видеокарты в играх на NVIDIA RTX 4090

@ -79,9 +79,6 @@ msgstr ""
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)" msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
msgstr "" msgstr ""
msgid "Gallium Nine (DirectX 9 for MESA)"
msgstr ""
msgid "Gallium Zink (OpenGL to Vulkan)" msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr "" msgstr ""

@ -90,9 +90,6 @@ msgstr "DXVK estable, VKD3D (Vulkan v1.2)"
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)" msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
msgstr "Más nuevo DXVK, VKD3D, D8VK (Vulkan v1.3+)" msgstr "Más nuevo DXVK, VKD3D, D8VK (Vulkan v1.3+)"
msgid "Gallium Nine (DirectX 9 for MESA)"
msgstr "Gallium Nine (DirectX 9 para MESA)"
msgid "Gallium Zink (OpenGL to Vulkan)" msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr "Gallium Zink (OpenGL a Vulkan)" msgstr "Gallium Zink (OpenGL a Vulkan)"

@ -98,9 +98,6 @@ msgstr "Стабильные DXVK, VKD3D (Vulkan v1.2)"
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)" msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
msgstr "Новейшие DXVK, VKD3D, D8VK (Vulkan v1.3+)" msgstr "Новейшие DXVK, VKD3D, D8VK (Vulkan v1.3+)"
msgid "Gallium Nine (DirectX 9 for MESA)"
msgstr "Gallium Nine (поддержка DirectX 9 для MESA)"
msgid "Gallium Zink (OpenGL to Vulkan)" msgid "Gallium Zink (OpenGL to Vulkan)"
msgstr "Gallium Zink (трансляция OpenGL в Vulkan)" msgstr "Gallium Zink (трансляция OpenGL в Vulkan)"

@ -420,8 +420,10 @@ lsbash () {
fi fi
grep_find_file2 () { grep_find_file2 () {
if [[ -z $1 ]] ; then if [[ -z $1 ]] ; then
echo "$find_file_old" if [[ $find_file_old != "*" ]] ; then
found_successfully=1 echo "$find_file_old"
found_successfully=1
fi
else else
find_file_old_array+=("$find_file_old") find_file_old_array+=("$find_file_old")
fi fi
@ -1626,7 +1628,7 @@ init_wine_ver () {
else else
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
IFS=$'\n' IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist") ; do for dist_dir in $(lsbash "${PORT_WINE_PATH}/data/dist") ; do
dist_dir_new=$(echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g) dist_dir_new=$(echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g)
if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then
mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}"
@ -1634,7 +1636,7 @@ init_wine_ver () {
done done
IFS="$orig_IFS" IFS="$orig_IFS"
fi fi
if [[ -z $(ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}") ]] ; then if [[ -z $(lsbash "${PORT_WINE_PATH}/data/dist/" --grep "${PW_WINE_USE}") ]] ; then
if [[ "$PW_WINE_USE" =~ PROTON_LG* ]] if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
then export PW_WINE_USE=PROTON_LG then export PW_WINE_USE=PROTON_LG
else export PW_WINE_USE=WINE_LG else export PW_WINE_USE=WINE_LG
@ -1651,20 +1653,20 @@ init_wine_ver () {
export WINELOADER="${WINEDIR}/bin/wine" export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver" export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in $(ls "${WINEDIR}" | sed -r "s/^(files|version)$//g") ; do for clear_dist_files in $(lsbash "$WINEDIR" | sed -r "s/^(files|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files" rm -fr "${WINEDIR}/$clear_dist_files"
done done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/" mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files" rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
for clear_dist_files in $(ls "${WINEDIR}" | sed -r "s/^(dist|version)$//g") ; do for clear_dist_files in $(lsbash "$WINEDIR" | sed -r "s/^(dist|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files" rm -fr "${WINEDIR}/$clear_dist_files"
done done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/" mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist" rm -fr "${WINEDIR}/dist"
elif [[ -f "${WINEDIR}/proton_dist.tar" ]] ; then elif [[ -f "${WINEDIR}/proton_dist.tar" ]] ; then
unpack "${WINEDIR}/proton_dist.tar" "${WINEDIR}/" unpack "${WINEDIR}/proton_dist.tar" "${WINEDIR}/"
for clear_dist_files in $(ls "${WINEDIR}" | sed -r "s/^(bin|lib|lib64|share|version)$//g") ; do for clear_dist_files in $(lsbash "$WINEDIR" | sed -r "s/^(bin|lib|lib64|share|version)$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files" rm -fr "${WINEDIR}/$clear_dist_files"
done done
fi fi
@ -1953,7 +1955,7 @@ pw_kill_autostart () {
fi fi
done done
if [[ -n "$(ls "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp")" ]] ; then if [[ -n "$(lsbash "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/ | grep -m 1 ".tmp")" ]] ; then
rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp rm -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/drive_c/*.tmp
fi fi
@ -2044,8 +2046,8 @@ pw_download_libs () {
"${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" ; then
if unpack "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then if unpack "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}/" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz" try_remove_file "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}.tar.xz"
if ls "${PORT_WINE_TMP_PATH}" | grep libs_v | grep -v libs"${PW_LIBS_VER}" ; then if lsbash "${PORT_WINE_TMP_PATH}" --grep libs_v --grep -v libs"${PW_LIBS_VER}" ; then
for RM_LIBS in $(ls "${PORT_WINE_TMP_PATH}" | grep libs_v | grep -v libs"${PW_LIBS_VER}") for RM_LIBS in $(lsbash "${PORT_WINE_TMP_PATH}" --grep libs_v --grep -v libs"${PW_LIBS_VER}")
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_LIBS}"
done done
fi fi
@ -2195,9 +2197,9 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins # TODO: drop clear prefix, and add update prefix from new plugins
pw_clear_pfx pw_clear_pfx
if ls "${PORT_WINE_TMP_PATH}" | grep plugins_v | grep -v "plugins${PW_PLUGINS_VER}" if lsbash "${PORT_WINE_TMP_PATH}" --grep plugins_v --grep -v "plugins${PW_PLUGINS_VER}"
then then
for RM_PLUGINS in $(ls "${PORT_WINE_TMP_PATH}" | grep plugins_v | grep -v "plugins${PW_PLUGINS_VER}") for RM_PLUGINS in $(lsbash "${PORT_WINE_TMP_PATH}" --grep plugins_v --grep -v "plugins${PW_PLUGINS_VER}")
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done done
fi fi
@ -2228,9 +2230,9 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins # TODO: drop clear prefix, and add update prefix from new plugins
pw_clear_pfx pw_clear_pfx
if ls "${PORT_WINE_TMP_PATH}" | grep plugins_v | grep -v "plugins${PW_PLUGINS_VER}" if lsbash "${PORT_WINE_TMP_PATH}" --grep plugins_v --grep -v "plugins${PW_PLUGINS_VER}"
then then
for RM_PLUGINS in $(ls "${PORT_WINE_TMP_PATH}" | grep plugins_v | grep -v "plugins${PW_PLUGINS_VER}") for RM_PLUGINS in $(lsbash "${PORT_WINE_TMP_PATH}" --grep plugins_v --grep -v "plugins${PW_PLUGINS_VER}")
do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}" do try_remove_dir "${PORT_WINE_TMP_PATH}/${RM_PLUGINS}"
done done
fi fi
@ -2357,7 +2359,7 @@ pw_init_db () {
# shellcheck source=/dev/null # shellcheck source=/dev/null
source "${PORTWINE_DB_FILE}" source "${PORTWINE_DB_FILE}"
if echo "${portwine_exe}" | grep "/prefixes/" &>/dev/null ; then if echo "${portwine_exe}" | grep "/prefixes/" &>/dev/null ; then
if [[ -z $(ls "${PORT_WINE_PATH}/prefixes/" | grep -e ^"${PW_PREFIX_NAME}"$) ]] \ if [[ -z $(lsbash "${PORT_WINE_PATH}/prefixes/" --grep ^"${PW_PREFIX_NAME}"$) ]] \
|| [[ -z $(grep -e ^"export PW_PREFIX_NAME=" "${PORTWINE_DB_FILE}" 2>/dev/null) ]] || [[ -z $(grep -e ^"export PW_PREFIX_NAME=" "${PORTWINE_DB_FILE}" 2>/dev/null) ]]
then then
PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}') PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
@ -2397,7 +2399,7 @@ pw_init_db () {
try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb try_copy_file "${PW_FIND_DB_FILE}" "${portwine_exe}".ppdb
PORTWINE_DB_FILE="${portwine_exe}".ppdb PORTWINE_DB_FILE="${portwine_exe}".ppdb
if echo "${portwine_exe}" | grep "/prefixes/" &>/dev/null ; then if echo "${portwine_exe}" | grep "/prefixes/" &>/dev/null ; then
if [[ -z $(ls "${PORT_WINE_PATH}/prefixes/" | grep -e ^"${PW_PREFIX_NAME}"$) ]] \ if [[ -z $(lsbash "${PORT_WINE_PATH}/prefixes/" --grep ^"${PW_PREFIX_NAME}"$) ]] \
|| [[ -z $(grep -e ^"export PW_PREFIX_NAME=" "${PORTWINE_DB_FILE}" 2>/dev/null) ]] || [[ -z $(grep -e ^"export PW_PREFIX_NAME=" "${PORTWINE_DB_FILE}" 2>/dev/null) ]]
then then
PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}') PW_PREFIX_NAME=$(echo "${portwine_exe}" | awk -F"/prefixes/" '{print $2}' | awk -F"/" '{print $1}')
@ -2446,7 +2448,7 @@ pw_init_db () {
if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ -n "${WINE_CPU_TOPOLOGY}" ]] ; then if [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] && [[ -n "${WINE_CPU_TOPOLOGY}" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}" export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}"
fi fi
if ls "${PATH_TO_GAME}"/*_Data/Resources/ 2>/dev/null | grep "unity" &>/dev/null \ if lsbash "${PATH_TO_GAME}"/*_Data/Resources/ --grep "unity" &>/dev/null \
&& [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] \ && [[ "${PW_WINE_CPU_TOPOLOGY}" == "disabled" ]] \
&& [[ $(grep -c ^"processor" /proc/cpuinfo) -gt "8" ]] && [[ $(grep -c ^"processor" /proc/cpuinfo) -gt "8" ]]
then then
@ -2913,12 +2915,13 @@ edit_db_from_gui () {
fi fi
fi fi
# Escaping backslashes and quotes for Windows paths # HACK: Escaping backslashes and quotes for Windows paths
proxy_mod_db=$(echo "$proxy_mod_db" | sed 's/\\/\\\\\\\\/g; s/"/\\"/g') proxy_mod_db=$(echo "$proxy_mod_db" | sed 's/\\/\\\\\\\\/g; s/"/\\"/g')
proxy_mod_db_escaped=$(printf '%s\n' "$proxy_mod_db" | sed 's/[\/&]/\\&/g')
if [[ $(<"${PORTWINE_DB_FILE}") =~ export\ ${mod_db}= ]] if [[ $(<"${PORTWINE_DB_FILE}") =~ export\ ${mod_db}= ]]
then sed -i "s|export ${mod_db}=.*|export ${mod_db}=\"$proxy_mod_db\"|g" "${PORTWINE_DB_FILE}" then sed -i "s|export ${mod_db}=.*|export ${mod_db}=\"${proxy_mod_db_escaped}\"|g" "${PORTWINE_DB_FILE}"
else echo "export ${mod_db}=\"$proxy_mod_db\"" >> "${PORTWINE_DB_FILE}" else echo "export ${mod_db}=\"${proxy_mod_db}\"" >> "${PORTWINE_DB_FILE}"
fi fi
done done
fi fi
@ -3541,6 +3544,8 @@ start_portwine () {
export PW_GAMEMODERUN_SLR="" export PW_GAMEMODERUN_SLR=""
fi fi
# TODO: Add org.freedesktop.ScreenSaver.SimulateUserActivity for Flatpak support
# org.freedesktop.ScreenSaver.Inhibit doesn`t work because the Inhibit method is released as soon as the D-Bus connection is released
if command -v systemd-inhibit &>/dev/null \ if command -v systemd-inhibit &>/dev/null \
&& [[ "$GAMEMODERUN" != "1" ]] && [[ "$GAMEMODERUN" != "1" ]]
then then
@ -3612,8 +3617,7 @@ start_portwine () {
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll" try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll"
# 3D API # 3D API
unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES
unset CP_GALLIUM_NINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES
case "${PW_VULKAN_USE}" in case "${PW_VULKAN_USE}" in
0) 0)
# WINED3D OPENGL # WINED3D OPENGL
@ -3632,7 +3636,7 @@ start_portwine () {
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi openvr_api_dxvk" CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi" openvr_api_dxvk
CP_VKD3D_FILES="d3d12 libvkd3d-shader-1" CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="d3d12core d3d8" CP_WINE_FILES="d3d12core d3d8"
;; ;;
@ -3642,24 +3646,10 @@ start_portwine () {
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi openvr_api_dxvk" CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi" openvr_api_dxvk
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1" CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10" CP_WINE_FILES="d3d10_1 d3d10"
;; ;;
3)
# GALLIUM NINE
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_GALLIUM_NINE_FILES="d3d9"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d8 dxgi"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export PW_VKBASALT="0"
export PW_MANGOHUD="0"
export PW_WINE_FULLSCREEN_FSR="0"
;;
4) 4)
# GALLIUM ZINK # GALLIUM ZINK
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)" print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
@ -3725,10 +3715,6 @@ start_portwine () {
2) 2)
rm_from_var CP_DXVK_FILES "d3d9 d3d8" rm_from_var CP_DXVK_FILES "d3d9 d3d8"
;; ;;
3)
rm_from_var CP_GALLIUM_NINE_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
4) 4)
rm_from_var CP_WINE_FILES "d3d9 d3d8" rm_from_var CP_WINE_FILES "d3d9 d3d8"
;; ;;
@ -3969,36 +3955,6 @@ start_portwine () {
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache" export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
fi fi
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then
print_info "Try create symlink GALLIUM_NINE files..."
PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname $(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*") 2>/dev/null)
if [[ -n "$FIND_D3D_MODULE" ]] ; then
IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do
if [[ -n "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi
done
IFS="$orig_IFS"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
else
pw_stop_progress_bar
yad_error "${translations[d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing package: <b>d3dadapter9</b>]}"
stop_portwine
fi
else
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi
var_winedlloverride_update "d3d9=n"
fi
if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then if [[ ! -d "${WINEPREFIX}/drive_c/vrclient/bin" ]] ; then
create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin" create_new_dir "${WINEPREFIX}/drive_c/vrclient/bin"
try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll" try_force_link_file "${WINEDIR}"/lib/wine/i386-windows/vrclient.dll "${WINEPREFIX}/drive_c/vrclient/bin/vrclient.dll"
@ -4327,6 +4283,7 @@ pw_run () {
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME"
print_var "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" print_var "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES"
proxy_launch_parameters=${LAUNCH_PARAMETERS//\\\\/\\}
if [[ "$PW_USE_RUNTIME" == 1 ]] \ if [[ "$PW_USE_RUNTIME" == 1 ]] \
&& [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]] && [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]]
then then
@ -4349,7 +4306,7 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \ ${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
else else
if [[ "$PW_USE_TERMINAL" == 1 ]] ; then if [[ "$PW_USE_TERMINAL" == 1 ]] ; then
PW_ADD_TO_ARGS_IN_RUNTIME="--xterm" PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
@ -4368,7 +4325,7 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \ ${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \ ${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
print_info "Update prefix log:" print_info "Update prefix log:"
[[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log" [[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log"
echo echo
@ -4396,7 +4353,7 @@ pw_run () {
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \ ${PW_DISPLAY} \
${PW_INHIBIT_SLR}\ ${PW_INHIBIT_SLR}\
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}" "${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
wait_wineserver wait_wineserver
else else
print_info "Update prefix log:" print_info "Update prefix log:"
@ -4415,7 +4372,7 @@ pw_run () {
${PW_MANGOHUD_SLR} \ ${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \ ${PW_DISPLAY} \
${PW_INHIBIT_SLR}\ ${PW_INHIBIT_SLR}\
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} "${WINELOADER}" "$@" ${proxy_launch_parameters}
wait_wineserver wait_wineserver
fi fi
fi fi
@ -5144,13 +5101,6 @@ gui_edit_db () {
# Stable, Newest # Stable, Newest
VKD3D_CB="CB" VKD3D_CB="CB"
;; ;;
3)
# Gallium Nine
VKD3D_CB="DCB"
DISABLE_EDIT_DB_LIST="PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_WINE_FULLSCREEN_FSR
PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
"
;;
4|5|6) 4|5|6)
# Galliun Zink, Legacy, WineD3D Vulkan # Galliun Zink, Legacy, WineD3D Vulkan
VKD3D_CB="DCB" VKD3D_CB="DCB"
@ -6590,7 +6540,7 @@ pw_prefix_manager () {
IFS=$'\n' IFS=$'\n'
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp" try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
while read -r PW_BOOL_IN_DLL_LIST ; do while read -r PW_BOOL_IN_DLL_LIST ; do
if [[ ! ${PW_BOOL_IN_DLL_LIST} =~ (d3d|directx9|dont_use|dxvk|vkd3d|galliumnine|faudio1|Foundation) ]] ; then if [[ ! ${PW_BOOL_IN_DLL_LIST} =~ (d3d|directx9|dont_use|dxvk|vkd3d|faudio1|Foundation) ]] ; then
if grep ^"$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')"$ "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then if grep ^"$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')"$ "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ; then
echo -e "true\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PW_TMPFS_PATH}/dll_list_tmp" echo -e "true\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{print $1}')\n$(echo "${PW_BOOL_IN_DLL_LIST}" | awk '{ $1 = ""; print substr($0, 2) }')" >> "${PW_TMPFS_PATH}/dll_list_tmp"
else else

@ -1,24 +0,0 @@
#!/usr/bin/env bash
# Author: chal55rus
# type: games
# name: Stalker Online
# image: so
# info_en: An MMORPG based on the popular S.T.A.L.K.E.R. series, where players can explore the danger Zone, complete quests, fight mutants and other players. The game offers elements of survival and interaction with the open world.
# info_ru: MMORPG, основанная на популярной серии S.T.A.L.K.E.R., где игроки могут исследовать опасную Зону, выполнять квесты, сражаться с мутантами и другими игроками. Игра предлагает элементы выживания и взаимодействия с открытым миром.
########################################################################
export LAUNCH_PARAMETERS="/S"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/SO_installer.exe"
start_portwine
if try_download "https://update-nl-release.stalker.so/launcher/SO_installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "Stalker Online."
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Game/StalkerOnline/StalkerOnline Launcher.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Stalker Online"
portwine_create_shortcut
fi
stop_portwine

@ -6,7 +6,10 @@ export url_site="https://linux-gaming.ru/portproton/"
export url_cloud="https://cloud.linux-gaming.ru/portproton" export url_cloud="https://cloud.linux-gaming.ru/portproton"
export url_git="https://git.linux-gaming.ru/CastroFidel/PortWINE" export url_git="https://git.linux-gaming.ru/CastroFidel/PortWINE"
######################################################################## ########################################################################
if [[ "${START_FROM_FLATPAK:-0}" == 1 ]] && [[ -z "${STEAM_COMPAT_DATA_PATH:-}" ]] && command -v "flatpak" &>/dev/null; then if [[ "${START_FROM_FLATPAK:-0}" == 1 ]] \
&& [[ -z "${STEAM_COMPAT_DATA_PATH:-}" ]] \
&& command -v "flatpak" &>/dev/null
then
unset START_FROM_FLATPAK unset START_FROM_FLATPAK
flatpak run ru.linux_gaming.PortProton "$@" flatpak run ru.linux_gaming.PortProton "$@"
exit exit
@ -121,7 +124,7 @@ echo "" > "${PW_TMPFS_PATH}/tmp_yad_form_vulkan"
create_new_dir "${PORT_WINE_PATH}/data/dist" create_new_dir "${PORT_WINE_PATH}/data/dist"
IFS=$'\n' IFS=$'\n'
for dist_dir in $(ls -1 "${PORT_WINE_PATH}/data/dist") ; do for dist_dir in $(lsbash "${PORT_WINE_PATH}/data/dist/") ; do
dist_dir_new=$(echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g) dist_dir_new=$(echo "${dist_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g)
if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then if [[ ! -d "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" ]] ; then
mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}" mv -- "${PORT_WINE_PATH}/data/dist/$dist_dir" "${PORT_WINE_PATH}/data/dist/${dist_dir_new^^}"
@ -250,9 +253,7 @@ if [[ -z "$DOWNLOAD_STEAM_GRID" ]] ; then
export DOWNLOAD_STEAM_GRID="1" export DOWNLOAD_STEAM_GRID="1"
fi fi
if [[ "${INSTALLING_PORT}" == 1 ]] ; then [[ "${INSTALLING_PORT}" == 1 ]] && return 0
return 0
fi
# choose gui start # choose gui start
if [[ ! $PW_GUI_START =~ (PANED|NOTEBOOK) ]] ; then if [[ ! $PW_GUI_START =~ (PANED|NOTEBOOK) ]] ; then
@ -483,17 +484,15 @@ SORT_VULKAN="${translations[WineD3D Vulkan (Damavand experimental)]}"
SORT_LEGACY="${translations[Legacy DXVK (Vulkan v1.1)]}" SORT_LEGACY="${translations[Legacy DXVK (Vulkan v1.1)]}"
SORT_STABLE="${translations[Stable DXVK, VKD3D (Vulkan v1.2)]}" SORT_STABLE="${translations[Stable DXVK, VKD3D (Vulkan v1.2)]}"
SORT_NEWEST="${translations[Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)]}" SORT_NEWEST="${translations[Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)]}"
SORT_G_NINE="${translations[Gallium Nine (DirectX 9 for MESA)]}"
SORT_G_ZINK="${translations[Gallium Zink (OpenGL to Vulkan)]}" SORT_G_ZINK="${translations[Gallium Zink (OpenGL to Vulkan)]}"
case "$PW_VULKAN_USE" in case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_VULKAN" ;; 0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_VULKAN" ;;
6) PW_DEFAULT_VULKAN_USE="$SORT_VULKAN!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;; 6) PW_DEFAULT_VULKAN_USE="$SORT_VULKAN!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;; 1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;;
5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;; 5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;;
4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;; 4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL!$SORT_VULKAN" ;;
3) PW_DEFAULT_VULKAN_USE="$SORT_G_NINE!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;; *) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL!$SORT_VULKAN" ;;
esac esac
if [[ $PW_WINE_USE == PROTON_LG ]] ; then if [[ $PW_WINE_USE == PROTON_LG ]] ; then
@ -692,7 +691,6 @@ else
fi fi
done done
# Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему. # Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему.
# 10 миллисекунд на 40 .desktop файлов, работает быстро
if [[ $SORT_WITH_TIME == enabled ]] && [[ -n ${PW_GAME_TIME[1]} ]] ; then if [[ $SORT_WITH_TIME == enabled ]] && [[ -n ${PW_GAME_TIME[1]} ]] ; then
for i in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do for i in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
for j in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do for j in "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
@ -906,7 +904,6 @@ case "${VULKAN_MOD}" in
"$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;; "$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;;
"$SORT_STABLE" ) export PW_VULKAN_USE="1" ;; "$SORT_STABLE" ) export PW_VULKAN_USE="1" ;;
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;; "$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
"$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
"$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;; "$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;; "$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;;
"$SORT_VULKAN" ) export PW_VULKAN_USE="6" ;; "$SORT_VULKAN" ) export PW_VULKAN_USE="6" ;;

@ -1,10 +1,10 @@
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2390 #SCRIPTS_NEXT_VERSION=2391
#SCRIPTS_STABLE_VERSION=2388 #SCRIPTS_STABLE_VERSION=2388
######################################################################## ########################################################################
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT" export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
# export PROTON_USE_XALIA="1" export PROTON_USE_XALIA="0"
export LANGUAGES_LIST="ru es" export LANGUAGES_LIST="ru es"
export PW_VKBASALT="0" export PW_VKBASALT="0"
export PW_MANGOHUD="0" export PW_MANGOHUD="0"
@ -43,7 +43,6 @@ export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v18" export PW_PLUGINS_VER="_v18"
export PW_FAKE_DLSS_VER="230506" export PW_FAKE_DLSS_VER="230506"
export PW_FAKE_DLSS_3_VER="0.9.1-plus" export PW_FAKE_DLSS_3_VER="0.9.1-plus"
export PW_GALLIUM_NINE_VER="0.10"
###WINE_AND_PROTON_LG### ###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_9-19" export PW_PROTON_LG_VER="PROTON_LG_9-19"
export PW_WINE_LG_VER="WINE_LG_9-12-2" export PW_WINE_LG_VER="WINE_LG_9-12-2"