Compare commits

..

10 Commits

Author SHA1 Message Date
ac812cc19f Merge branch 'devel' 2025-05-24 14:05:25 +03:00
565324baf3 Merge branch 'devel' 2025-04-11 12:51:18 +03:00
585b2e6ff8 Merge branch 'devel' 2025-03-22 13:18:20 +03:00
ed22c7f228 Merge branch 'devel' 2025-03-18 20:49:59 +03:00
a8c6ee55e7 Merge branch 'devel' 2025-02-04 22:19:18 +03:00
81d72ff03b Merge branch 'devel' 2024-12-29 16:52:21 +03:00
0e9b795512 Merge branch 'devel' 2024-11-17 13:58:40 +03:00
517179c869 Merge branch 'devel' 2024-11-15 17:48:11 +03:00
3b52417637 Merge branch 'devel' 2024-11-15 17:45:24 +03:00
116d838f4c Scripts version 2379 2024-11-15 17:43:33 +03:00
29 changed files with 182 additions and 201 deletions

View File

@ -2,12 +2,6 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2420### / Date: 14.05.2025 / Download update size: 4 megabytes
* updated icons in the autoinstall section (thanks to if984)
* improved functions for selecting 3D Api and their additional settings (thanks to Htylol)
* when adding the variable USE_ONLY_LG_RU="1" to user.conf, PortProton updates only from linux-gaming.ru servers
* other small script improvements (thanks to Boria138, alex2844, Htylol)
###Scripts version 2419### / stable / Дата: 24.05.2025 / Download update size: 185 megabytes
* cumulative update to the stable version of PortProton scripts

View File

@ -2,12 +2,6 @@
-----------------------------------------
История изменений:
###Scripts version 2420### / Дата: 14.06.2025 / Размер скачиваемого обновления: 4 мегабайта
* обновлены иконки в разделе автоустановки (спасибо if984)
* улучшены функции выбора 3D Api и их дополнительных настроек (спасибо Htylol)
* при добавлении переменной USE_ONLY_LG_RU="1" в user.conf, обновления PortProton происходят только с серверов linux-gaming.ru
* другие небольшие улучшения скриптов (спасибо Boria138, alex2844, Htylol)
###Scripts version 2419### / stable / Дата: 24.05.2025 / Размер скачиваемого обновления: 185 мегабайт
* кумулятивное обновление стабильной версии скриптов PortProton

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
data_from_portwine/img/gui/itch.png Normal file → Executable file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

After

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-30 01:28+0500\n"
"POT-Creation-Date: 2025-05-09 02:05+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -341,6 +341,10 @@ msgstr ""
msgid "Launched"
msgstr ""
msgid "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the "
"missing package: <b>d3dadapter9</b>"
msgstr ""
msgid "EXIT"
msgstr ""
@ -520,10 +524,10 @@ msgid "Enable experemental native Wayland support (need special wine build "
"to work)"
msgstr ""
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgstr ""
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgstr ""
msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental "

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-30 01:28+0500\n"
"POT-Creation-Date: 2025-05-09 02:05+0500\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -375,6 +375,13 @@ msgstr "¿Quieres instalar las bibliotecas recomendadas en el nuevo prefijo:"
msgid "Launched"
msgstr "Lanzado"
msgid ""
"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
"package: <b>d3dadapter9</b>"
msgstr ""
"d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n"
"Instala el paquete faltante:<b>d3dadapter9</b>"
msgid "EXIT"
msgstr "SALIR"
@ -624,13 +631,13 @@ msgstr ""
"Habilite el soporte experimental nativo de Wayland (necesita una compilación "
"de vino especial para funcionar)"
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgstr ""
#, fuzzy
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgstr "Gallium Zink (OpenGL a Vulkan)"
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgstr ""
#, fuzzy
msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function."
msgstr "WineD3D Vulkan (Damavand experimental)"
@ -2170,13 +2177,6 @@ msgstr "UNIRSE"
msgid "THIRD PARTY LIBRARIES"
msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid ""
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
#~ "package: <b>d3dadapter9</b>"
#~ msgstr ""
#~ "d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n"
#~ "Instala el paquete faltante:<b>d3dadapter9</b>"
#~ msgid "Global settings"
#~ msgstr "Configuraciones globales"

View File

@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-05-30 01:28+0500\n"
"POT-Creation-Date: 2025-05-09 02:05+0500\n"
"PO-Revision-Date: 2025-04-21 21:59+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -385,6 +385,13 @@ msgstr "Хотите добавить рекомендуемые библиот
msgid "Launched"
msgstr "Запущено"
msgid ""
"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
"package: <b>d3dadapter9</b>"
msgstr ""
"d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий пакет: "
"<b>d3dadapter9</b>"
msgid "EXIT"
msgstr "ВЫХОД"
@ -645,12 +652,12 @@ msgstr ""
"Включить экспериментальную поддержку запуска игры/программы из-под нативной "
"сессии Wayland, минуя XWayland (для работы требуется специальная сборка Wine)"
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgstr "Принудительно использовать Gallium Nine (нативный DirectX9 для Mesa)"
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgstr "Использовать Gallium Zink (трансляция OpenGL в Vulkan)"
msgid "Use Gallium Nine (native DirectX 9 for MESA)"
msgstr "Принудительно использовать Gallium Nine (нативный DirectX9 для Mesa)"
msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function."
msgstr ""
"Вместо DXVK используется WineD3D vulkan (Дамаванд). Экспериментальная "
@ -2152,13 +2159,6 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
#~ msgid ""
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
#~ "package: <b>d3dadapter9</b>"
#~ msgstr ""
#~ "d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий "
#~ "пакет: <b>d3dadapter9</b>"
#~ msgid "Global settings"
#~ msgstr "Глобальные настройки"

View File

@ -1814,8 +1814,10 @@ pw_mangohud_check () {
export PW_MANGOHUD_SLR='MANGOHUD=1'
fi
# TODO: need to fix work for OpenGL without flatpak...
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
if [[ $PW_USE_GALLIUM_ZINK == "0" ]] ; then
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
fi
else
export PW_MANGOHUD_SLR=''
print_info "MangoHud is disabled"
@ -2477,7 +2479,7 @@ pw_port_update () {
if [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ]] \
|| [[ ! $BRANCH =~ (devel|master) ]]; then
echo "2025" > "${PORT_WINE_TMP_PATH}/scripts_ver"
echo "2024" > "${PORT_WINE_TMP_PATH}/scripts_ver"
BRANCH_VERSION_UPDATE="SCRIPTS_STABLE_VERSION"
BRANCH="master"
fi
@ -2487,26 +2489,21 @@ pw_port_update () {
URL_PP_GITEA="https://git.linux-gaming.ru/CastroFidel/PortWINE/raw/branch/${BRANCH}/data_from_portwine/scripts/var"
pw_check_update () {
if [[ $USE_ONLY_LG_RU != "1" ]] ; then
debug_timer --start -s "UPDATE_ETERFUND"
if ! timeout 2 curl -f -s --list-only "$URL_ETERFUND" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://gitlab.eterfund.ru/ broken. Skip it..."
UPDATE_SKIP_ETERFUND="1"
fi
debug_timer --end -s "UPDATE_ETERFUND"
debug_timer --start -s "UPDATE_GITHUB"
if ! timeout 2 curl -f -s --list-only "$URL_GITHUB" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://raw.githubusercontent.com/ broken. Skip it..."
UPDATE_SKIP_GITHUB="1"
fi
debug_timer --end -s "UPDATE_GITHUB"
else
debug_timer --start -s "UPDATE_ETERFUND"
if ! timeout 2 curl -f -s --list-only "$URL_ETERFUND" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://gitlab.eterfund.ru/ broken. Skip it..."
UPDATE_SKIP_ETERFUND="1"
fi
debug_timer --end -s "UPDATE_ETERFUND"
debug_timer --start -s "UPDATE_GITHUB"
if ! timeout 2 curl -f -s --list-only "$URL_GITHUB" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://raw.githubusercontent.com/ broken. Skip it..."
UPDATE_SKIP_GITHUB="1"
fi
debug_timer --end -s "UPDATE_GITHUB"
debug_timer --start -s "UPDATE_PP_GITEA"
if ! timeout 2 curl -f -s --list-only "$URL_PP_GITEA" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
@ -2740,28 +2737,6 @@ pw_get_tmp_files () {
print_warning "use portable vulkaninfo"
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
fi
# GALLIUM NINE
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
FIND_D3D_MODULE="$(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*" 2>/dev/null)"
if [[ -n "$FIND_D3D_MODULE" ]] ; then
FIND_D3D_MODULE="$(dirname "$FIND_D3D_MODULE")"
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"
fi
else
if [[ -d "/app/lib/i386-linux-gnu/GL/default/lib/d3d" && -d "/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d" ]] ; then
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
fi
fi
[[ -n $D3D_MODULE_PATH ]] && echo "$D3D_MODULE_PATH" > "${PW_TMPFS_PATH}/gallium_nine.tmp"
}
pw_skip_get_info () {
@ -3561,7 +3536,7 @@ start_portwine () {
if command -v systemd-inhibit &>/dev/null \
&& [[ "$GAMEMODERUN" != "1" ]]
then
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]} --what=idle:sleep"
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]}"
print_info "Screensaver will be inhibit"
fi
pw_other_fixes
@ -3630,68 +3605,85 @@ start_portwine () {
# 3D API
unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES CP_GALLIUM_NINE_FILES
case "${PW_VULKAN_USE}" in
0)
# WINED3D OPENGL
print_info "Use WINED3D OpenGL"
unset PW_VKBASALT PW_USE_GALLIUM_ZINK PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
;;
1)
# STABLE DXVK AND VKD3D
print_info "DXVK v.${DXVK_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_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="d3d12core d3d8"
;;
2)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_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_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10"
;;
3)
# LEGACY DXVK
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d8"
;;
esac
[[ "$PW_USE_GALLIUM_NINE" == "1" ]] && PW_VULKAN_USE="3"
if [[ $PW_USE_GALLIUM_NINE == "1" ]] \
|| [[ $PW_USE_GALLIUM_ZINK == "1" ]] \
|| [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
unset PATH_TO_DXVK_FILES CP_DXVK_FILES PW_USE_SUPPLIED_DXVK_VKD3D
if [[ $PW_USE_DAMAVAND == "1" ]] && [[ $PW_VULKAN_USE != "0" ]] ; then
# WINED3D VULKAN (DAMAVAND)
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
export WINE_D3D_CONFIG="renderer=vulkan"
else
case "${PW_VULKAN_USE}" in
0)
# WINED3D OPENGL
print_info "Use WINED3D OpenGL"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export PW_VKBASALT="0"
export PW_USE_GALLIUM_ZINK="0"
;;
1)
# STABLE DXVK AND VKD3D
print_info "DXVK v.${DXVK_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_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="d3d12core d3d8"
;;
2)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_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_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "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"
export PW_USE_GALLIUM_ZINK="0"
export DXVK_ENABLE_NVAPI="0"
export PW_USE_VRCLIENT="0"
;;
5)
# LEGACY DXVK
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d8"
;;
esac
fi
# GALLIUM NINE
if [[ $PW_USE_GALLIUM_NINE == "1" ]] ; then
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
unset PW_VKBASALT PW_MANGOHUD PW_WINE_FULLSCREEN_FSR DXVK_ENABLE_NVAPI PW_USE_VRCLIENT
rm_from_var CP_WINE_FILES "d3d9"
CP_GALLIUM_NINE_FILES="d3d9"
fi
# GALLIUM ZINK
if [[ $PW_USE_GALLIUM_ZINK == "1" ]] ; then
# GALLIUM ZINK
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export __GLX_VENDOR_LIBRARY_NAME="mesa"
export MESA_LOADER_DRIVER_OVERRIDE="zink"
export GALLIUM_DRIVER="zink"
@ -3701,25 +3693,14 @@ start_portwine () {
then
export LIBGL_KOPPER_DRI2="1"
fi
[[ $(check_vendor_gpu) =~ nouveau ]] && export NOUVEAU_USE_ZINK="1"
fi
# WINED3D VULKAN
if [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
export WINE_D3D_CONFIG="renderer=vulkan"
else
if [[ $PW_VULKAN_USE == "0" ]] \
|| [[ $PW_USE_GALLIUM_NINE == "1" ]] || [[ $PW_USE_GALLIUM_ZINK == "1" ]] ; then
export WINE_D3D_CONFIG="renderer=gl"
if [[ $(check_vendor_gpu) =~ nouveau ]] ; then
export NOUVEAU_USE_ZINK="1"
fi
fi
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
if [[ $PW_USE_SUPPLIED_DXVK_VKD3D == "1" ]] \
&& [[ ! $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] \
&& [[ ! $PW_VULKAN_USE =~ (0|3) ]] \
&& [[ -f "${WINEDIR}/lib64/wine/dxvk/d3d9.dll" || -f "${WINEDIR}/lib/wine/dxvk/x86_64-windows/d3d9.dll" ]] ; then
export DXVK_ASYNC="1"
if [[ -f "${WINEDIR}/lib64/wine/dxvk/d3d10.dll" && -f "${WINEDIR}/lib64/wine/dxvk/d3d10_1.dll" ]] ; then
@ -3768,12 +3749,7 @@ start_portwine () {
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
if [[ $PW_USE_GALLIUM_NINE == "1" ]] ; then
rm_from_var CP_GALLIUM_NINE_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
elif [[ $PW_USE_GALLIUM_ZINK == "1" ]] || [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
rm_from_var CP_WINE_FILES "d3d9 d3d8"
elif [[ $PW_USE_SUPPLIED_DXVK_VKD3D != "0" ]] ; then
if [[ $PW_USE_SUPPLIED_DXVK_VKD3D != "0" ]] ; then
rm_from_var CP_DXVK_FILES "d3d9"
else
case "${PW_VULKAN_USE}" in
@ -3788,6 +3764,10 @@ start_portwine () {
rm_from_var CP_DXVK_FILES "d3d9 d3d8"
;;
3)
rm_from_var CP_GALLIUM_NINE_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
5)
rm_from_var CP_DXVK_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
@ -4058,8 +4038,7 @@ start_portwine () {
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
fi
# GALLIUM NINE
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] && [[ -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] ; then
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then
PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
if [[ ! -d "$PATH_TO_GALLIUM_NINE_FILES" ]] ; then
if try_download "github.com/Castro-Fidel/vulkan/releases/download/gallium_nine_v.${PW_GALLIUM_NINE_VER}/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" \
@ -4073,8 +4052,28 @@ start_portwine () {
print_info "Try create symlink GALLIUM_NINE files..."
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"
export D3D_MODULE_PATH="$(<"${PW_TMPFS_PATH}/gallium_nine.tmp")"
print_info "D3D_MODULE_PATH=$D3D_MODULE_PATH"
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
@ -4594,11 +4593,11 @@ portwine_launch () {
while true ; do
sleep 5
if [[ -z "$GAMEPID" ]] ; then
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)"
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')"
else
if waitpid "$GAMEPID" ; then
sleep 1
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)"
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')"
[[ -z "$GAMEPID" ]] && break || continue
fi
fi
@ -5190,19 +5189,19 @@ gui_edit_db () {
PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE
PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND PW_USE_GALLIUM_ZINK
PW_USE_GALLIUM_NINE PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE
PW_USE_DAMAVAND PW_USE_SUPPLIED_DXVK_VKD3D
)
if check_wayland_session
then rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT
else rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND
if check_wayland_session ; then
rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT
else
rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND
fi
check_flatpak && rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME
# GALLIUM NINE
[[ ! -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] && rm_from_array "PW_EDIT_DB_LIST" PW_USE_GALLIUM_NINE
if check_flatpak ; then
rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME
fi
PW_MANGOHUD_INFO=${translations[Using FPS and system load monitoring (Turns on and off by the key combination - right Shift + F12)]}
PW_MANGOHUD_USER_CONF_INFO=${translations[Forced use of MANGOHUD system settings (GOverlay, etc.)]}
@ -5246,7 +5245,7 @@ gui_edit_db () {
PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support (need special wine build to work)]}
PW_USE_GALLIUM_ZINK_INFO=${translations[Use Gallium Zink (OpenGL driver is implemented via Vulkan)]}
PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]}
PW_USE_WINED3D_VULKAN_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]}
PW_USE_DAMAVAND_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]}
PW_USE_SUPPLIED_DXVK_VKD3D_INFO=${translations[Use dxvk and vkd3d which are bundled with wine or proton. (Does not work with PROTON_LG and WINE_LG)]}
# PW_VULKAN_NO_ASYNC_INFO=${translations[Disable asynchronous calls for VULKAN and DXVK modes]}
@ -5258,23 +5257,20 @@ gui_edit_db () {
0)
# WineD3D OpenGL
VKD3D_CB="DCB"
DISABLE_EDIT_DB_LIST="PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_WINED3D_VULKAN"
DISABLE_EDIT_DB_LIST="PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_DAMAVAND"
;;
1|2)
# Stable, Newest
VKD3D_CB="CB"
;;
3)
5)
# Legacy
VKD3D_CB="DCB"
DISABLE_EDIT_DB_LIST="PW_USE_RAY_TRACING"
;;
esac
if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] \
|| [[ $PW_VULKAN_USE == "0" ]] ; then
DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D"
fi
[[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D"
unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in "${PW_EDIT_DB_LIST[@]}" ; do
@ -5290,7 +5286,7 @@ gui_edit_db () {
for check_boole in $DISABLE_EDIT_DB_LIST ; do
if [[ $check_boole == "$int_to_boole" ]] ; then
CHECK_BOOLE_TRUE=1
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%FALSE%"
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%${!int_to_boole}%"
fi
done
fi
@ -5438,12 +5434,8 @@ Binding a game to a single node reduces memoryaccess latency and limits costl
fi
export PW_WINE_CPU_TOPOLOGY
for dont_touch_var in $DISABLE_EDIT_DB_LIST ; do
rm_from_array "PW_EDIT_DB_LIST" "$dont_touch_var"
done
edit_db_from_gui "${PW_EDIT_DB_LIST[@]}" LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL \
WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL \
PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
edit_db_from_gui "${PW_EDIT_DB_LIST[@]}" LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY \
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
@ -5868,7 +5860,7 @@ gui_dgvoodoo2 () {
[[ "${PW_DGV2_ANTIALIASING}" == "0" ]] && export PW_DGV2_ANTIALIASING="disabled" && edit_db_from_gui PW_DGV2_ANTIALIASING
case "${PW_VULKAN_USE}" in
0|3)
0|5)
DISABLE_DGV2_LIST="PW_DGV2_USE_DX12
"
;;
@ -6894,7 +6886,8 @@ portwine_start_debug () {
0) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log" ;;
1) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER}, VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
2) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER}, VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
3) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
3) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" ;;
5) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
*) echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
esac
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"

View File

@ -34,8 +34,8 @@ then
exit 1
fi
PORT_SCRIPTS_PATH="$(cd "$(dirname "$0")" && pwd)"
PORT_WINE_PATH="$(dirname "$(dirname "$PORT_SCRIPTS_PATH")")"
PORT_SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
PORT_WINE_PATH="$(realpath "$PORT_SCRIPTS_PATH/../..")"
export PORT_SCRIPTS_PATH PORT_WINE_PATH
# shellcheck source=/dev/null
@ -233,20 +233,16 @@ fi
# choose mirror
if [[ -z "$MIRROR" ]] \
&& [[ "$LANGUAGE" == "ru" ]]
&& [[ "$LANGUAGE" == "ru" ]] \
&& [[ "$BRANCH" != "devel" ]]
then
echo 'export MIRROR="CLOUD"' >> "$USER_CONF"
export MIRROR="CLOUD"
MIRROR="CLOUD"
elif [[ -z "$MIRROR" ]] ; then
echo 'export MIRROR="GITHUB"' >> "$USER_CONF"
export MIRROR="GITHUB"
fi
if [[ $USE_ONLY_LG_RU == "1" ]] ; then
export MIRROR="CLOUD"
edit_user_conf_from_gui MIRROR USE_ONLY_LG_RU
print_info "Force used linux-gaming.ru for all updates.\n"
MIRROR="GITHUB"
fi
export MIRROR
print_info "The first mirror in used: $MIRROR\n"
# choose downloading covers from SteamGridDB or not
@ -520,7 +516,7 @@ SORT_NEWEST="${translations[Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)]}"
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_OPENGL" ;;
3|5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL" ;;
esac
@ -962,7 +958,7 @@ 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_LEGACY" ) export PW_VULKAN_USE="3" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;;
esac
init_wine_ver

View File

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2420
#SCRIPTS_NEXT_VERSION=2419
#SCRIPTS_STABLE_VERSION=2419
########################################################################
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"
@ -38,9 +38,9 @@ export PW_LOCALE_SELECT="disabled"
export PW_DINPUT_PROTOCOL="0"
export PW_USE_VRCLIENT="0"
export STAGING_SHARED_MEMORY="1"
export PW_USE_GALLIUM_NINE="0"
export PW_USE_GALLIUM_ZINK="0"
export PW_USE_WINED3D_VULKAN="0"
export PW_USE_GALLIUM_NINE="0"
export PW_USE_DAMAVAND="0"
export PW_USE_SUPPLIED_DXVK_VKD3D="1"
###DEFAULT_WINE###
export PW_WINE_USE="PROTON_LG"