diff --git a/data_from_portwine/changelog_en b/data_from_portwine/changelog_en index fc1421c5..41660169 100755 --- a/data_from_portwine/changelog_en +++ b/data_from_portwine/changelog_en @@ -2,6 +2,34 @@ You can help us in the development of the project on the website: https://linux- ---------------------------------------- Changelog: +###Scripts version 2424### / stable / Дата: 01.07.2025 / Download update size: 380 megabytes +* cumulative update to the stable version of PortProton scripts + +###Scripts version 2423### / Date: 01.07.2025 / Download update size: 4 megabytes +* added new version "WINE_HYP_10-10" to fix launch of game "Genshin Impact" +(to apply fix just use autoinstall HoYoPlay again) + +###Scripts version 2422### / Date: 25.06.2025 / Download update size: 4 megabytes +* fixed work of games in full screen when using native wayland +* fixed work of third-party versions of WINE when using native wayland +* quieter mode when using the variable START_FROM_STEAM="1" + +###Scripts version 2421### / Date: 24.06.2025 / Download update size: 380 megabytes +* with new versions of WINE and PROTON, launch under native Wayland has been fixed +* WINE_LG has been updated to version "10-10-1" (added support for native Wayland) +* PROTON_LG has been updated to version "10-4" (repackaging from GE-Proton10-4) +* updated versions: + - DXVK_GIT "2.6.1-255" (together with dxvk-nvapi) + - VKD3D_GIT "1.1-4591" (together with vkd3d-shader) +* added a setting to enable HDR in the game (only for Wayland) +* added automatic creation of shortcuts when unpacking a prefix from a backup copy (only with the START_FROM_STEAM="1" variable) + +###Scripts version 2420### / Date: 14.06.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 diff --git a/data_from_portwine/changelog_ru b/data_from_portwine/changelog_ru index d8c845aa..6b302a04 100755 --- a/data_from_portwine/changelog_ru +++ b/data_from_portwine/changelog_ru @@ -2,6 +2,35 @@ ----------------------------------------- История изменений: +###Scripts version 2424### / stable / Дата: 01.07.2025 / Размер скачиваемого обновления: 380 мегабайт +* кумулятивное обновление стабильной версии скриптов PortProton + +###Scripts version 2423### / Дата: 01.07.2025 / Размер скачиваемого обновления: 4 мегабайта +* добавлена новая версия "WINE_HYP_10-10" для исправления запуска игры "Genshin Impact" +(для применения исправления просто воспользуйтесь повторно автоустановкой HoYoPlay) + +###Scripts version 2422### / Дата: 25.06.2025 / Размер скачиваемого обновления: 4 мегабайта +* исправлена работа игр в полном экране при использовании нативного wayland +* исправлена работа сторонних версий WINE при использовании нативного wayland +* более "тихий" режим при использовании переменной START_FROM_STEAM="1" + +###Scripts version 2421### / Дата: 24.06.2025 / Размер скачиваемого обновления: 380 мегабайт +* с новыми версиями WINE и PROTON исправлен запуск под нативным Wayland +* обновлен WINE_LG до версии "10-10-1" (добавлена поддержка нативного Wayland) +* обновлен PROTON_LG до версии "10-4" (перепаковка с GE-Proton10-4) +* обновлены версии: + - DXVK_GIT "2.6.1-255" (совместно с dxvk-nvapi) + - VKD3D_GIT "1.1-4591" (совместно vkd3d-shader) +* добавлена настройка для включения HDR в игре (только для Wayland) +* добавлено автоматическое создание ярлыков при распаковке префикса из резервной копии (только при переменной START_FROM_STEAM="1") +* исправлены возможные артефакты в играх от LGC и WGC (спасибо zorn-v) + +###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 diff --git a/data_from_portwine/img/gui/albiononline.png b/data_from_portwine/img/gui/albiononline.png index 2345d511..192bc198 100644 Binary files a/data_from_portwine/img/gui/albiononline.png and b/data_from_portwine/img/gui/albiononline.png differ diff --git a/data_from_portwine/img/gui/arizonagameslauncher.png b/data_from_portwine/img/gui/arizonagameslauncher.png index 5447ec54..b6e0c4a8 100644 Binary files a/data_from_portwine/img/gui/arizonagameslauncher.png and b/data_from_portwine/img/gui/arizonagameslauncher.png differ diff --git a/data_from_portwine/img/gui/bdo.png b/data_from_portwine/img/gui/bdo.png index c5281d2e..c317623f 100644 Binary files a/data_from_portwine/img/gui/bdo.png and b/data_from_portwine/img/gui/bdo.png differ diff --git a/data_from_portwine/img/gui/caliber.png b/data_from_portwine/img/gui/caliber.png index 7fc88a63..4aee309c 100644 Binary files a/data_from_portwine/img/gui/caliber.png and b/data_from_portwine/img/gui/caliber.png differ diff --git a/data_from_portwine/img/gui/celeste.png b/data_from_portwine/img/gui/celeste.png index aee04467..f932de36 100644 Binary files a/data_from_portwine/img/gui/celeste.png and b/data_from_portwine/img/gui/celeste.png differ diff --git a/data_from_portwine/img/gui/crossout.png b/data_from_portwine/img/gui/crossout.png index 6fbd13bb..37f23e7a 100644 Binary files a/data_from_portwine/img/gui/crossout.png and b/data_from_portwine/img/gui/crossout.png differ diff --git a/data_from_portwine/img/gui/dcuniverseonline.png b/data_from_portwine/img/gui/dcuniverseonline.png index 38aa4c1a..6ad39a5c 100644 Binary files a/data_from_portwine/img/gui/dcuniverseonline.png and b/data_from_portwine/img/gui/dcuniverseonline.png differ diff --git a/data_from_portwine/img/gui/eldevin.png b/data_from_portwine/img/gui/eldevin.png index cb9a7ae9..ea3b0444 100644 Binary files a/data_from_portwine/img/gui/eldevin.png and b/data_from_portwine/img/gui/eldevin.png differ diff --git a/data_from_portwine/img/gui/elsword.png b/data_from_portwine/img/gui/elsword.png index 2e3251ef..2104eb02 100644 Binary files a/data_from_portwine/img/gui/elsword.png and b/data_from_portwine/img/gui/elsword.png differ diff --git a/data_from_portwine/img/gui/exotanks.png b/data_from_portwine/img/gui/exotanks.png index ab304108..94cbc3b5 100644 Binary files a/data_from_portwine/img/gui/exotanks.png and b/data_from_portwine/img/gui/exotanks.png differ diff --git a/data_from_portwine/img/gui/goosegooseduck.png b/data_from_portwine/img/gui/goosegooseduck.png index 1cb1fee7..4df3d2d4 100644 Binary files a/data_from_portwine/img/gui/goosegooseduck.png and b/data_from_portwine/img/gui/goosegooseduck.png differ diff --git a/data_from_portwine/img/gui/itch.png b/data_from_portwine/img/gui/itch.png old mode 100755 new mode 100644 index ddc5e6b9..2aeeb27f Binary files a/data_from_portwine/img/gui/itch.png and b/data_from_portwine/img/gui/itch.png differ diff --git a/data_from_portwine/img/gui/lastchaos.png b/data_from_portwine/img/gui/lastchaos.png index 3960bf4f..c8c78dc3 100644 Binary files a/data_from_portwine/img/gui/lastchaos.png and b/data_from_portwine/img/gui/lastchaos.png differ diff --git a/data_from_portwine/img/gui/mame.png b/data_from_portwine/img/gui/mame.png index 1481de3a..09a05f7c 100644 Binary files a/data_from_portwine/img/gui/mame.png and b/data_from_portwine/img/gui/mame.png differ diff --git a/data_from_portwine/img/gui/miniworld.png b/data_from_portwine/img/gui/miniworld.png index 11a8b367..40decb49 100644 Binary files a/data_from_portwine/img/gui/miniworld.png and b/data_from_portwine/img/gui/miniworld.png differ diff --git a/data_from_portwine/img/gui/panzar.png b/data_from_portwine/img/gui/panzar.png index 24cda4e1..d6853bb0 100644 Binary files a/data_from_portwine/img/gui/panzar.png and b/data_from_portwine/img/gui/panzar.png differ diff --git a/data_from_portwine/img/gui/pulseonline.png b/data_from_portwine/img/gui/pulseonline.png index 5225ca03..af35d8dc 100644 Binary files a/data_from_portwine/img/gui/pulseonline.png and b/data_from_portwine/img/gui/pulseonline.png differ diff --git a/data_from_portwine/img/gui/theworldofniftycraft.png b/data_from_portwine/img/gui/theworldofniftycraft.png index 7dfa266a..3d75b59f 100644 Binary files a/data_from_portwine/img/gui/theworldofniftycraft.png and b/data_from_portwine/img/gui/theworldofniftycraft.png differ diff --git a/data_from_portwine/img/gui/toontownrewritten.png b/data_from_portwine/img/gui/toontownrewritten.png index 7fd08ab9..e6d97b9d 100644 Binary files a/data_from_portwine/img/gui/toontownrewritten.png and b/data_from_portwine/img/gui/toontownrewritten.png differ diff --git a/data_from_portwine/img/gui/toribash.png b/data_from_portwine/img/gui/toribash.png index e643ebb0..04b2992c 100644 Binary files a/data_from_portwine/img/gui/toribash.png and b/data_from_portwine/img/gui/toribash.png differ diff --git a/data_from_portwine/img/gui/wosb.png b/data_from_portwine/img/gui/wosb.png index fbb7a2c3..878dff83 100644 Binary files a/data_from_portwine/img/gui/wosb.png and b/data_from_portwine/img/gui/wosb.png differ diff --git a/data_from_portwine/locales/PortProton.pot b/data_from_portwine/locales/PortProton.pot index 780401ce..d2d9d13b 100644 --- a/data_from_portwine/locales/PortProton.pot +++ b/data_from_portwine/locales/PortProton.pot @@ -7,7 +7,7 @@ msgid "" msgstr "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" - "POT-Creation-Date: 2025-05-09 02:05+0500\n" + "POT-Creation-Date: 2025-06-24 14:35+0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -341,10 +341,6 @@ msgstr "" msgid "Launched" msgstr "" -msgid "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the " - "missing package: d3dadapter9" -msgstr "" - msgid "EXIT" msgstr "" @@ -520,8 +516,10 @@ msgstr "" msgid "Force use DirectInput protocol instead of XInput" msgstr "" -msgid "Enable experemental native Wayland support (need special wine build " - "to work)" +msgid "Enable experemental native Wayland support" +msgstr "" + +msgid "Enable HDR settings in games with native Wayland" msgstr "" msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" diff --git a/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po b/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po index 9fde19d2..2b5dd090 100644 --- a/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po +++ b/data_from_portwine/locales/es/LC_MESSAGES/PortProton.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 02:05+0500\n" +"POT-Creation-Date: 2025-06-24 14:18+0300\n" "PO-Revision-Date: 2024-11-13 08:18+0500\n" "Last-Translator: \n" "Language-Team: \n" @@ -375,13 +375,6 @@ 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: d3dadapter9" -msgstr "" -"d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n" -"Instala el paquete faltante:d3dadapter9" - msgid "EXIT" msgstr "SALIR" @@ -625,12 +618,15 @@ msgstr "" msgid "Force use DirectInput protocol instead of XInput" msgstr "Forzar el uso del protocolo DirectInput en lugar de XInput" -msgid "" -"Enable experemental native Wayland support (need special wine build to work)" +#, fuzzy +msgid "Enable experemental native Wayland support" msgstr "" "Habilite el soporte experimental nativo de Wayland (necesita una compilación " "de vino especial para funcionar)" +msgid "Enable HDR settings in games with native Wayland" +msgstr "" + #, fuzzy msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" msgstr "Gallium Zink (OpenGL a Vulkan)" @@ -2177,6 +2173,13 @@ 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: d3dadapter9" +#~ msgstr "" +#~ "d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n" +#~ "Instala el paquete faltante:d3dadapter9" + #~ msgid "Global settings" #~ msgstr "Configuraciones globales" @@ -2208,8 +2211,8 @@ msgstr "BIBLIOTECAS DE TERCEROS" #~ msgid "" #~ "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?" #~ msgstr "" -#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar." -#~ "\\n\\¿Quieres reiniciar STEAM ahora?" +#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar.\\n" +#~ "\\¿Quieres reiniciar STEAM ahora?" #~ msgid "Restarting STEAM... Please wait." #~ msgstr "Restarting STEAM... Please wait." diff --git a/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.mo b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.mo new file mode 100644 index 00000000..13238699 Binary files /dev/null and b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.mo differ diff --git a/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po index 06d99106..f007d5e9 100644 --- a/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po +++ b/data_from_portwine/locales/ru/LC_MESSAGES/PortProton.po @@ -7,16 +7,16 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2025-05-09 02:05+0500\n" -"PO-Revision-Date: 2025-04-21 21:59+0500\n" +"POT-Creation-Date: 2025-06-24 14:35+0300\n" +"PO-Revision-Date: 2025-06-24 14:37+0300\n" "Last-Translator: \n" "Language-Team: \n" "Language: ru_RU\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " -"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" +"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "X-Generator: Poedit 3.6\n" msgid "" @@ -385,13 +385,6 @@ msgstr "Хотите добавить рекомендуемые библиот msgid "Launched" msgstr "Запущено" -msgid "" -"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " -"package: d3dadapter9" -msgstr "" -"d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий пакет: " -"d3dadapter9" - msgid "EXIT" msgstr "ВЫХОД" @@ -646,11 +639,14 @@ msgstr "" "протоколе XInput, также работают. Выключите эту опцию, если геймпад перестал " "опознаваться игрой" -msgid "" -"Enable experemental native Wayland support (need special wine build to work)" +msgid "Enable experemental native Wayland support" msgstr "" "Включить экспериментальную поддержку запуска игры/программы из-под нативной " -"сессии Wayland, минуя XWayland (для работы требуется специальная сборка Wine)" +"сессии Wayland, минуя XWayland" + +msgid "Enable HDR settings in games with native Wayland" +msgstr "" +"Включить настройки HDR в игре (автоматически включает USE_NATIVE_WAYLAND)" msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)" msgstr "Использовать Gallium Zink (трансляция OpenGL в Vulkan)" @@ -1694,8 +1690,8 @@ msgid "" "Gamescope is not detected on the system, to install it, run the command in " "the terminal" msgstr "" +"Gamescope не обнаружен, для установки воспользуйтесь командой в терминале" -#, fuzzy msgid "Can be selected and copied" msgstr "(можно выделить и скопировать)" @@ -2159,6 +2155,13 @@ msgstr "ПРИСОЕДЕНИТЬСЯ" msgid "THIRD PARTY LIBRARIES" msgstr "БИБЛИОТЕКИ" +#~ msgid "" +#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing " +#~ "package: d3dadapter9" +#~ msgstr "" +#~ "d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий " +#~ "пакет: d3dadapter9" + #~ msgid "Global settings" #~ msgstr "Глобальные настройки" diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index b046d325..05056b13 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -1696,7 +1696,7 @@ init_wine_ver () { WINE_LIBRARY_PATH="${WINEDIR}/lib" if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] then WINE_LIBRARY_PATH+=":${WINEDIR}/lib64" - elif [[ -d "${WINEDIR}/lib/x86_64-linux-gnu/gstreamer-1.0" ]] + elif [[ -d "${WINEDIR}/lib/x86_64-linux-gnu" ]] then WINE_LIBRARY_PATH+=":${WINEDIR}/lib/x86_64-linux-gnu:${WINEDIR}/lib/i386-linux-gnu" fi export WINE_LIBRARY_PATH @@ -1814,10 +1814,8 @@ pw_mangohud_check () { export PW_MANGOHUD_SLR='MANGOHUD=1' fi # TODO: need to fix work for OpenGL without flatpak... - 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 + MANGOHUD_LIB_NAME="libMangoHud_shim.so" + export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}" else export PW_MANGOHUD_SLR='' print_info "MangoHud is disabled" @@ -2479,7 +2477,7 @@ pw_port_update () { if [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ]] \ || [[ ! $BRANCH =~ (devel|master) ]]; then - echo "2024" > "${PORT_WINE_TMP_PATH}/scripts_ver" + echo "2025" > "${PORT_WINE_TMP_PATH}/scripts_ver" BRANCH_VERSION_UPDATE="SCRIPTS_STABLE_VERSION" BRANCH="master" fi @@ -2489,21 +2487,26 @@ pw_port_update () { URL_PP_GITEA="https://git.linux-gaming.ru/CastroFidel/PortWINE/raw/branch/${BRANCH}/data_from_portwine/scripts/var" pw_check_update () { - 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" + 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..." + 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 + UPDATE_SKIP_ETERFUND="1" 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" @@ -2737,6 +2740,28 @@ 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 () { @@ -3536,7 +3561,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]}" + PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]} --what=idle:sleep" print_info "Screensaver will be inhibit" fi pw_other_fixes @@ -3605,85 +3630,68 @@ 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 - [[ "$PW_USE_GALLIUM_NINE" == "1" ]] && PW_VULKAN_USE="3" + 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 - if [[ $PW_USE_DAMAVAND == "1" ]] && [[ $PW_VULKAN_USE != "0" ]] ; then - # WINED3D VULKAN (DAMAVAND) - print_info "Use DAMAVAND (DirectX to wined3d vulkan)" + 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 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" @@ -3693,14 +3701,25 @@ start_portwine () { then export LIBGL_KOPPER_DRI2="1" fi - if [[ $(check_vendor_gpu) =~ nouveau ]] ; then - export NOUVEAU_USE_ZINK="1" + [[ $(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" 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 @@ -3749,7 +3768,12 @@ 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_SUPPLIED_DXVK_VKD3D != "0" ]] ; then + 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 rm_from_var CP_DXVK_FILES "d3d9" else case "${PW_VULKAN_USE}" in @@ -3764,10 +3788,6 @@ 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" ;; @@ -4038,7 +4058,8 @@ start_portwine () { export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache" fi - if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then + # GALLIUM NINE + if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] && [[ -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] ; 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" \ @@ -4052,28 +4073,8 @@ 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" - 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: d3dadapter9]}" - 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 + export D3D_MODULE_PATH="$(<"${PW_TMPFS_PATH}/gallium_nine.tmp")" + print_info "D3D_MODULE_PATH=$D3D_MODULE_PATH" var_winedlloverride_update "d3d9=n" fi @@ -4215,6 +4216,29 @@ start_portwine () { get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "1" "system" fi + if check_wayland_session \ + && [[ $PW_USE_NATIVE_WAYLAND == "1" || $PW_USE_DXVK_HDR == "1" ]] + then + [[ $PW_USE_DXVK_HDR == "1" ]] && export DXVK_HDR="1" + export WINE_WAYLAND_HACKS="1" + var_winedlloverride_update "winex11.drv=d;winewayland.drv=b" + get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user" + + print_warning "Wayland in use. Force dpi=96" + export PW_WINE_DPI_VALUE="96" + + if [[ -f "$WINEDIR/lib/libxkbregistry.so" ]] \ + || [[ -f "$WINEDIR/lib/x86_64-linux-gnu/libxkbregistry.so" ]] + then print_info "runtime in use with native wayland." + else + print_warning "Wine is not support native wayland with runtime! Force disabled SLR." + export PW_USE_RUNTIME="0" + fi + else + unset WINE_WAYLAND_HACKS DXVK_HDR + get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics' + fi + if [[ $PW_WINE_DPI_VALUE != "disabled" ]] ; then if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then PW_RECOMMENDED_DPI=$(recommend_dpi "${PW_SCREEN_RESOLUTION:5:8}") @@ -4224,15 +4248,6 @@ start_portwine () { fi fi - if [[ $PW_USE_NATIVE_WAYLAND == "1" ]] ; then - export PW_DISPLAY="env DISPLAY=" - export PW_USE_RUNTIME="0" - get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user" - else - unset PW_DISPLAY - get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics' - fi - case "$PW_SOUND_DRIVER_USE" in pulse) get_and_set_reg_file --add 'Software\Wine\Drivers' 'Audio' 'REG_SZ' "pulse" "user" ;; alsa) get_and_set_reg_file --add 'Software\Wine\Drivers' 'Audio' 'REG_SZ' "alsa" "user" ;; @@ -4444,7 +4459,6 @@ pw_run () { VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \ ${PW_GAMEMODERUN_SLR} \ ${PW_MANGOHUD_SLR} \ - ${PW_DISPLAY} \ "${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}" else if [[ "$PW_USE_TERMINAL" == 1 ]] ; then @@ -4464,7 +4478,6 @@ pw_run () { VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \ ${PW_GAMEMODERUN_SLR} \ ${PW_MANGOHUD_SLR} \ - ${PW_DISPLAY} \ "${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" @@ -4491,7 +4504,6 @@ pw_run () { ${PW_GAMEMODERUN_SLR} \ ${PW_POWERPROFILECTL_SLR} \ ${PW_MANGOHUD_SLR} \ - ${PW_DISPLAY} \ ${PW_INHIBIT_SLR} \ ${PW_TASKSET_SLR} \ "${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}" @@ -4511,7 +4523,6 @@ pw_run () { ${PW_GAMEMODERUN_SLR} \ ${PW_POWERPROFILECTL_SLR} \ ${PW_MANGOHUD_SLR} \ - ${PW_DISPLAY} \ ${PW_INHIBIT_SLR} \ ${PW_TASKSET_SLR} \ "${WINELOADER}" "$@" ${proxy_launch_parameters} @@ -4593,11 +4604,11 @@ portwine_launch () { while true ; do sleep 5 if [[ -z "$GAMEPID" ]] ; then - GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')" + GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)" else if waitpid "$GAMEPID" ; then sleep 1 - GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')" + GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)" [[ -z "$GAMEPID" ]] && break || continue fi fi @@ -5189,19 +5200,14 @@ 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_DAMAVAND PW_USE_SUPPLIED_DXVK_VKD3D + PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE + PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR ) - 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 - if check_flatpak ; then - rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME - fi + # GALLIUM NINE + [[ ! -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] && rm_from_array "PW_EDIT_DB_LIST" PW_USE_GALLIUM_NINE 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.)]} @@ -5242,10 +5248,11 @@ gui_edit_db () { PW_DISABLE_COMPOSITING_INFO=${translations[Disable desktop compositing (effects). It often improves performance.]} PW_USE_RUNTIME_INFO=${translations[Use container launch mode (It is recommended not to change the value)]} PW_DINPUT_PROTOCOL_INFO=${translations[Force use DirectInput protocol instead of XInput]} - PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support (need special wine build to work)]} + PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support]} + PW_USE_DXVK_HDR_INFO=${translations[Enable HDR settings in games with native Wayland]} 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_DAMAVAND_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]} + PW_USE_WINED3D_VULKAN_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]} @@ -5257,20 +5264,28 @@ 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_DAMAVAND" + 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" ;; 1|2) # Stable, Newest VKD3D_CB="CB" ;; - 5) + 3) # Legacy VKD3D_CB="DCB" DISABLE_EDIT_DB_LIST="PW_USE_RAY_TRACING" ;; esac - [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D" + if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] \ + || [[ $PW_VULKAN_USE == "0" ]] ; then + DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D" + fi + + if check_wayland_session + then DISABLE_EDIT_DB_LIST+=" PW_USE_US_LAYOUT" + else DISABLE_EDIT_DB_LIST+=" PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR" + fi unset ADD_CHK_BOX_EDIT_DB for int_to_boole in "${PW_EDIT_DB_LIST[@]}" ; do @@ -5286,7 +5301,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}%${!int_to_boole}%" + ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%FALSE%" fi done fi @@ -5434,8 +5449,12 @@ Binding a game to a single node reduces memory‑access latency and limits costl fi export PW_WINE_CPU_TOPOLOGY - 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 + 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 if [[ -z "$MANGOHUD_CONFIG" ]] ; then MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')" @@ -5860,7 +5879,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|5) + 0|3) DISABLE_DGV2_LIST="PW_DGV2_USE_DX12 " ;; @@ -6452,19 +6471,29 @@ portwine_create_shortcut () { } portwine_output_yad_shortcut () { - if [[ "$PW_YAD_OUT" == "0" ]] ; then - name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $1}' | sed -e "s/\`//g" -e "s/\"//g" -e "s/'//g" -e "s/\!//g") - PW_SHORTCUT_MENU=$(echo "$OUTPUT" | awk -F'|' '{print $2}') - PW_SHORTCUT_DESKTOP=$(echo "$OUTPUT" | awk -F'|' '{print $3}') - PW_SHORTCUT_STEAM=$(echo "$OUTPUT" | awk -F'|' '{print $4}') - - if [[ $PORTWINE_CHANGE_SHORTCUT != 1 ]] ; then - edit_user_conf_from_gui PW_SHORTCUT_MENU PW_SHORTCUT_DESKTOP PW_SHORTCUT_STEAM + if [[ $PW_YAD_OUT == "0" ]] || [[ $1 == "--silent" ]] ; then + if [[ $1 == "--silent" ]] ; then + [[ ! -e ${portwine_exe} ]] && return 1 + pw_create_gui_png + unset name_desktop + PW_SHORTCUT_MENU="TRUE" + PW_SHORTCUT_DESKTOP="TRUE" + PW_SHORTCUT_STEAM="FALSE" + else + name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $1}' | sed -e "s/\`//g" -e "s/\"//g" -e "s/'//g" -e "s/\!//g") + PW_SHORTCUT_MENU=$(echo "$OUTPUT" | awk -F'|' '{print $2}') + PW_SHORTCUT_DESKTOP=$(echo "$OUTPUT" | awk -F'|' '{print $3}') + PW_SHORTCUT_STEAM=$(echo "$OUTPUT" | awk -F'|' '{print $4}') + if [[ $PORTWINE_CHANGE_SHORTCUT != 1 ]] ; then + edit_user_conf_from_gui PW_SHORTCUT_MENU PW_SHORTCUT_DESKTOP PW_SHORTCUT_STEAM + fi + portwine_delete_shortcut fi - portwine_delete_shortcut - - [[ -z $name_desktop ]] && create_name_desktop && export name_desktop="$PW_NAME_DESKTOP_PROXY" + if [[ -z $name_desktop ]] ; then + create_name_desktop + export name_desktop="$PW_NAME_DESKTOP_PROXY" + fi echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop" echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop" @@ -6886,8 +6915,7 @@ 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} - 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" ;; + 3) 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" diff --git a/data_from_portwine/scripts/portwine_db/Genshin Impact.ppdb b/data_from_portwine/scripts/portwine_db/Genshin Impact.ppdb index 409bfbd6..a565549e 100644 --- a/data_from_portwine/scripts/portwine_db/Genshin Impact.ppdb +++ b/data_from_portwine/scripts/portwine_db/Genshin Impact.ppdb @@ -8,5 +8,5 @@ export PW_WINDOWS_VER="10" export PW_VULKAN_USE="2" export PW_PREFIX_NAME="HO_YO_PLAY" -export PW_WINE_USE="WINE_LG" +export PW_WINE_USE="WINE_HYP_10-10" export LAUNCH_PARAMETERS="-platform_type CLOUD_THIRD_PARTY_PC" diff --git a/data_from_portwine/scripts/portwine_db/UbisoftConnect.ppdb b/data_from_portwine/scripts/portwine_db/UbisoftConnect.ppdb index bb2a36fc..990df049 100644 --- a/data_from_portwine/scripts/portwine_db/UbisoftConnect.ppdb +++ b/data_from_portwine/scripts/portwine_db/UbisoftConnect.ppdb @@ -6,5 +6,5 @@ #upc.exe #Rating=1-5 ################################################ -export PW_VULKAN_USE=2 +export PW_VULKAN_USE="2" export PW_DLL_INSTALL="" diff --git a/data_from_portwine/scripts/portwine_db/lgc.ppdb b/data_from_portwine/scripts/portwine_db/lgc.ppdb index c18860bf..a78538d2 100644 --- a/data_from_portwine/scripts/portwine_db/lgc.ppdb +++ b/data_from_portwine/scripts/portwine_db/lgc.ppdb @@ -5,9 +5,9 @@ #Rating=5 export PW_COMMENT_DB="Lesta Game Centers" ################################################ -export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL +export PW_VULKAN_USE="2" #dxvk, vkd3d or 0 for OpenGL export LAUNCH_PARAMETERS="" # Additional launch options -export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +export PW_WINDOWS_VER="10" # Set windows version 10, 7 or XP export WINEDLLOVERRIDES="" export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks) export PW_USE_D3D_EXTRAS="1" diff --git a/data_from_portwine/scripts/portwine_db/wgc.ppdb b/data_from_portwine/scripts/portwine_db/wgc.ppdb index 6bfaa218..c9517b7e 100644 --- a/data_from_portwine/scripts/portwine_db/wgc.ppdb +++ b/data_from_portwine/scripts/portwine_db/wgc.ppdb @@ -5,9 +5,9 @@ #Rating=5 export PW_COMMENT_DB="Wargaming Game Centers" ################################################ -export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL +export PW_VULKAN_USE="2" #dxvk, vkd3d or 0 for OpenGL export LAUNCH_PARAMETERS="" # Additional launch options -export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP +export PW_WINDOWS_VER="2" # Set windows version 10, 7 or XP export WINEDLLOVERRIDES="" export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks) export PW_USE_D3D_EXTRAS="1" diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY b/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY index 96704bf9..aa75dbf6 100755 --- a/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY +++ b/data_from_portwine/scripts/pw_autoinstall/PW_HO_YO_PLAY @@ -10,6 +10,7 @@ export PW_VULKAN_USE=2 export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Hoyolauncher_installer.exe" export PW_PREFIX_NAME="HO_YO_PLAY" export PORTWINE_CREATE_SHORTCUT_NAME="HoYoPlay" +export PW_WINE_USE="WINE_HYP_10-10" start_portwine diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 5733e8ee..ea2a54fb 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -34,8 +34,8 @@ then exit 1 fi -PORT_SCRIPTS_PATH="$(dirname "$(realpath "$0")")" -PORT_WINE_PATH="$(realpath "$PORT_SCRIPTS_PATH/../..")" +PORT_SCRIPTS_PATH="$(cd "$(dirname "$0")" && pwd)" +PORT_WINE_PATH="$(dirname "$(dirname "$PORT_SCRIPTS_PATH")")" export PORT_SCRIPTS_PATH PORT_WINE_PATH # shellcheck source=/dev/null @@ -233,16 +233,20 @@ fi # choose mirror if [[ -z "$MIRROR" ]] \ -&& [[ "$LANGUAGE" == "ru" ]] \ -&& [[ "$BRANCH" != "devel" ]] +&& [[ "$LANGUAGE" == "ru" ]] then echo 'export MIRROR="CLOUD"' >> "$USER_CONF" - MIRROR="CLOUD" + export MIRROR="CLOUD" elif [[ -z "$MIRROR" ]] ; then echo 'export MIRROR="GITHUB"' >> "$USER_CONF" - MIRROR="GITHUB" + 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" fi -export MIRROR print_info "The first mirror in used: $MIRROR\n" # choose downloading covers from SteamGridDB or not @@ -311,7 +315,9 @@ fi if ! check_flatpak ; then if [[ -f "${PW_TMPFS_PATH}/portproton.lock" ]] ; then print_warning "Found lock file: ${PW_TMPFS_PATH}/portproton.lock" - yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0 + if [[ $START_FROM_STEAM != "1" ]] + then yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0 + fi fi touch "${PW_TMPFS_PATH}/portproton.lock" rm_lock_file () { @@ -407,10 +413,15 @@ EOF while read -r line do export portwine_exe="$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/$line" - portwine_create_shortcut + if [[ $START_FROM_STEAM == "1" ]] + then portwine_output_yad_shortcut --silent + else portwine_create_shortcut + fi done < "$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/.create_shortcut" fi - yad_info "${translations[Unpack is DONE for prefix:]} \"${PW_PREFIX_NAME}\"." + if [[ $START_FROM_STEAM != "1" ]] + then yad_info "${translations[Unpack is DONE for prefix:]} \"${PW_PREFIX_NAME}\"." + fi exit 0 fi fi @@ -516,7 +527,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" ;; - 5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;; + 3|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 @@ -958,7 +969,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="5" ;; + "$SORT_LEGACY" ) export PW_VULKAN_USE="3" ;; esac init_wine_ver diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index 886b1b04..bbf6b82b 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,7 +1,7 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2419 -#SCRIPTS_STABLE_VERSION=2419 +#SCRIPTS_NEXT_VERSION=2424 +#SCRIPTS_STABLE_VERSION=2424 ######################################################################## 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="0" @@ -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_ZINK="0" export PW_USE_GALLIUM_NINE="0" -export PW_USE_DAMAVAND="0" +export PW_USE_GALLIUM_ZINK="0" +export PW_USE_WINED3D_VULKAN="0" export PW_USE_SUPPLIED_DXVK_VKD3D="1" ###DEFAULT_WINE### export PW_WINE_USE="PROTON_LG" @@ -49,8 +49,8 @@ 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-27" -export PW_WINE_LG_VER="WINE_LG_10-7" +export PW_PROTON_LG_VER="PROTON_LG_10-4" +export PW_WINE_LG_VER="WINE_LG_10-10-1" export PW_WINE_FULLSCREEN_FSR="1" export WINE_FULLSCREEN_FSR_MODE="ultra" ###DXVK_AND_VKD3D### @@ -58,9 +58,9 @@ export PW_VULKAN_USE="2" export VKD3D_LIMIT_TESS_FACTORS="64" export DXVK_LEGACY_VER="1.6.1" export DXVK_STABLE_VER="1.10.3-28" -export DXVK_GIT_VER="2.6-65" +export DXVK_GIT_VER="2.6.1-255" export VKD3D_STABLE_VER="1.1-2602" -export VKD3D_GIT_VER="1.1-4511" +export VKD3D_GIT_VER="1.1-4591" ###VKBASALT### export PW_VKBASALT_EFFECTS="Curves:cas" export PW_VKBASALT_FFX_CAS="0.50"