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:
###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
* 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

@ -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 мегабайта
* добавлена информация о том что нельзя использовать FAKE_DLSS_3 в мультиплеерных играх
* добавлен индивидуальный dxvk.conf файл при использовании FAKE_DLSS_3 для подмены определения видеокарты в играх на NVIDIA RTX 4090

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

@ -90,9 +90,6 @@ msgstr "DXVK estable, VKD3D (Vulkan v1.2)"
msgid "Newest 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)"
msgstr "Gallium Zink (OpenGL a Vulkan)"

@ -98,9 +98,6 @@ msgstr "Стабильные DXVK, VKD3D (Vulkan v1.2)"
msgid "Newest 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)"
msgstr "Gallium Zink (трансляция OpenGL в Vulkan)"

@ -420,8 +420,10 @@ lsbash () {
fi
grep_find_file2 () {
if [[ -z $1 ]] ; then
if [[ $find_file_old != "*" ]] ; then
echo "$find_file_old"
found_successfully=1
fi
else
find_file_old_array+=("$find_file_old")
fi
@ -1626,7 +1628,7 @@ init_wine_ver () {
else
if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then
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)
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^^}"
@ -1634,7 +1636,7 @@ init_wine_ver () {
done
IFS="$orig_IFS"
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* ]]
then export PW_WINE_USE=PROTON_LG
else export PW_WINE_USE=WINE_LG
@ -1651,20 +1653,20 @@ init_wine_ver () {
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
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"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
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"
done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist"
elif [[ -f "${WINEDIR}/proton_dist.tar" ]] ; then
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"
done
fi
@ -1953,7 +1955,7 @@ pw_kill_autostart () {
fi
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
fi
@ -2044,8 +2046,8 @@ pw_download_libs () {
"${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
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
for RM_LIBS in $(ls "${PORT_WINE_TMP_PATH}" | grep libs_v | grep -v libs"${PW_LIBS_VER}")
if lsbash "${PORT_WINE_TMP_PATH}" --grep libs_v --grep -v libs"${PW_LIBS_VER}" ; then
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}"
done
fi
@ -2195,9 +2197,9 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins
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
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}"
done
fi
@ -2228,9 +2230,9 @@ pw_check_and_download_plugins () {
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
# TODO: drop clear prefix, and add update prefix from new plugins
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
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}"
done
fi
@ -2357,7 +2359,7 @@ pw_init_db () {
# shellcheck source=/dev/null
source "${PORTWINE_DB_FILE}"
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) ]]
then
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
PORTWINE_DB_FILE="${portwine_exe}".ppdb
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) ]]
then
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
export PW_WINE_CPU_TOPOLOGY="${WINE_CPU_TOPOLOGY}"
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" ]] \
&& [[ $(grep -c ^"processor" /proc/cpuinfo) -gt "8" ]]
then
@ -2913,12 +2915,13 @@ edit_db_from_gui () {
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_escaped=$(printf '%s\n' "$proxy_mod_db" | sed 's/[\/&]/\\&/g')
if [[ $(<"${PORTWINE_DB_FILE}") =~ export\ ${mod_db}= ]]
then sed -i "s|export ${mod_db}=.*|export ${mod_db}=\"$proxy_mod_db\"|g" "${PORTWINE_DB_FILE}"
else echo "export ${mod_db}=\"$proxy_mod_db\"" >> "${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}"
fi
done
fi
@ -3541,6 +3544,8 @@ start_portwine () {
export PW_GAMEMODERUN_SLR=""
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 \
&& [[ "$GAMEMODERUN" != "1" ]]
then
@ -3612,8 +3617,7 @@ start_portwine () {
try_force_link_file "${PHYSX_PATH}/cudart64_65.dll" "${WINEPREFIX}/drive_c/windows/system32/cudart64_65.dll"
# 3D API
unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES
unset CP_GALLIUM_NINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES
unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES
case "${PW_VULKAN_USE}" in
0)
# WINED3D OPENGL
@ -3632,7 +3636,7 @@ start_portwine () {
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_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_WINE_FILES="d3d12core d3d8"
;;
@ -3642,24 +3646,10 @@ start_portwine () {
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_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_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)
# GALLIUM ZINK
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
@ -3725,10 +3715,6 @@ start_portwine () {
2)
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)
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"
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
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"
@ -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 "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"
proxy_launch_parameters=${LAUNCH_PARAMETERS//\\\\/\\}
if [[ "$PW_USE_RUNTIME" == 1 ]] \
&& [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]]
then
@ -4349,7 +4306,7 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}"
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
else
if [[ "$PW_USE_TERMINAL" == 1 ]] ; then
PW_ADD_TO_ARGS_IN_RUNTIME="--xterm"
@ -4368,7 +4325,7 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}"
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
print_info "Update prefix log:"
[[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log"
echo
@ -4396,7 +4353,7 @@ pw_run () {
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
${PW_INHIBIT_SLR}\
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS} &>>"${PW_LOG_TO_FILE}"
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
wait_wineserver
else
print_info "Update prefix log:"
@ -4415,7 +4372,7 @@ pw_run () {
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
${PW_INHIBIT_SLR}\
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS}
"${WINELOADER}" "$@" ${proxy_launch_parameters}
wait_wineserver
fi
fi
@ -5144,13 +5101,6 @@ gui_edit_db () {
# Stable, Newest
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)
# Galliun Zink, Legacy, WineD3D Vulkan
VKD3D_CB="DCB"
@ -6590,7 +6540,7 @@ pw_prefix_manager () {
IFS=$'\n'
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
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
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

@ -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_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
flatpak run ru.linux_gaming.PortProton "$@"
exit
@ -121,7 +124,7 @@ echo "" > "${PW_TMPFS_PATH}/tmp_yad_form_vulkan"
create_new_dir "${PORT_WINE_PATH}/data/dist"
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)
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^^}"
@ -250,9 +253,7 @@ if [[ -z "$DOWNLOAD_STEAM_GRID" ]] ; then
export DOWNLOAD_STEAM_GRID="1"
fi
if [[ "${INSTALLING_PORT}" == 1 ]] ; then
return 0
fi
[[ "${INSTALLING_PORT}" == 1 ]] && return 0
# choose gui start
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_STABLE="${translations[Stable DXVK, VKD3D (Vulkan v1.2)]}"
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)]}"
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" ;;
6) PW_DEFAULT_VULKAN_USE="$SORT_VULKAN!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_G_NINE!$SORT_OPENGL" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$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_G_NINE!$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" ;;
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_G_NINE!$SORT_OPENGL!$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_OPENGL" ;;
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_OPENGL!$SORT_VULKAN" ;;
4) PW_DEFAULT_VULKAN_USE="$SORT_G_ZINK!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL!$SORT_VULKAN" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_G_ZINK!$SORT_OPENGL!$SORT_VULKAN" ;;
esac
if [[ $PW_WINE_USE == PROTON_LG ]] ; then
@ -692,7 +691,6 @@ else
fi
done
# Переопределение элементов в массивах в зависимости от PW_GAME_TIME, от большего значения к меньшему.
# 10 миллисекунд на 40 .desktop файлов, работает быстро
if [[ $SORT_WITH_TIME == enabled ]] && [[ -n ${PW_GAME_TIME[1]} ]] ; then
for i 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_STABLE" ) export PW_VULKAN_USE="1" ;;
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
"$SORT_G_NINE" ) export PW_VULKAN_USE="3" ;;
"$SORT_G_ZINK" ) export PW_VULKAN_USE="4" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;;
"$SORT_VULKAN" ) export PW_VULKAN_USE="6" ;;

@ -1,10 +1,10 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2390
#SCRIPTS_NEXT_VERSION=2391
#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 PROTON_USE_XALIA="1"
export PROTON_USE_XALIA="0"
export LANGUAGES_LIST="ru es"
export PW_VKBASALT="0"
export PW_MANGOHUD="0"
@ -43,7 +43,6 @@ export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v18"
export PW_FAKE_DLSS_VER="230506"
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
export PW_GALLIUM_NINE_VER="0.10"
###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_9-19"
export PW_WINE_LG_VER="WINE_LG_9-12-2"