From 41bc48fb1f6f78f81aa21adcc8192fa39d3521df Mon Sep 17 00:00:00 2001 From: castro-fidel Date: Fri, 11 Nov 2022 00:49:39 +0300 Subject: [PATCH] Scripts version 2140 --- data_from_portwine/changelog_eng | 6 + data_from_portwine/changelog_rus | 8 ++ data_from_portwine/scripts/functions_helper | 64 ++++++++--- data_from_portwine/scripts/lang | 106 +++++++++++++++++- .../scripts/portwine_db/EALauncher | 43 +++++++ .../scripts/portwine_db/EpicGamesLauncher | 2 +- data_from_portwine/scripts/portwine_db/Origin | 38 ++++++- .../scripts/portwine_db/VKPlayLoader | 2 +- data_from_portwine/scripts/portwine_db/steam | 4 +- .../scripts/pw_autoinstall/PW_EAAPP | 55 +++++++++ .../scripts/pw_autoinstall/PW_ORIGIN | 18 --- data_from_portwine/scripts/runlib | 77 ++++++++----- data_from_portwine/scripts/start.sh | 50 +++++---- data_from_portwine/scripts/var | 7 +- data_from_portwine/scripts/zen_yad_gui | 56 ++++----- 15 files changed, 419 insertions(+), 117 deletions(-) create mode 100755 data_from_portwine/scripts/portwine_db/EALauncher create mode 100755 data_from_portwine/scripts/pw_autoinstall/PW_EAAPP delete mode 100755 data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng index 1fb82c0..542e716 100755 --- a/data_from_portwine/changelog_eng +++ b/data_from_portwine/changelog_eng @@ -2,6 +2,12 @@ You can help us in the development of the project on the website: boosty.to/linu ----------------------------------------- Changelog: +###Scripts version 2140### +* added the USE_WINE_DXGI variable to EDIT_DB +* added the function of modular updating of DXVK and VKD3D-PROTON from GitHub servers +* added selection of DXVK and VKD3D-PROTON versions when launching games/launchers +* changed the automatic installation of ORIGIN on EA Launcher (beta test) + ###Scripts version 2139### * added the function of reinstalling PortProton from the menu of PortProton itself and using the "--reinstall" argument in the terminal * updated version of PROTON_LG 7.34 based on PROTON GE 7.39 (Updated support for running game: "Overwatch 2") diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus index 1b2c3be..27f922b 100755 --- a/data_from_portwine/changelog_rus +++ b/data_from_portwine/changelog_rus @@ -2,6 +2,14 @@ ----------------------------------------- История изменений: +###Scripts version 2140### +* значительно улучшена локализация интерфейса PortProton. +* добавлено множество всплывющих подсказок при наведении курсора мыши +* добавлена переменная USE_WINE_DXGI в EDIT_DB (настройки) +* добавлена функция модульного обновления DXVK и VKD3D-PROTON из серверов GitHub +* добавлен выбор версий DXVK и VKD3D-PROTON при запуске игр/лончеров +* изменена автоматическая установка ORIGIN на EA Launcher (бета тест) + ###Scripts version 2139### * добавлена функция переустановки PortProton из меню самого PortProton и с помощью аргумента "--reinstall" в терминале * обновлена версия PROTON_LG 7.34 на основе PROTON GE 7.39 (Обновлена поддержка запуска игры: "Overwatch 2") diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index d49d18e..eb6efb2 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -183,6 +183,13 @@ var_vk_istance_layers_config_update () { return 0 } + +unpack_tar_zst () { + set -o pipefail + tar -I zstd -xvf "$1" -C "$2" | sszen + [ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0 +} + unpack_tar_xz () { set -o pipefail tar -Jxvf "$1" -C "$2" | sszen @@ -251,12 +258,7 @@ pw_reinstall_pp () { fi pw_clear_pfx try_remove_dir "${PORT_WINE_PATH}/data/dist" - try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache" - try_remove_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache" - try_remove_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" - try_remove_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" - try_remove_dir "${PORT_WINE_TMP_PATH}/mono" - try_remove_dir "${PORT_WINE_TMP_PATH}/gecko" + try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN" try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier" try_remove_file "${PORT_WINE_PATH}/data/user.conf" echo 1000 > "${PORT_WINE_TMP_PATH}/scripts_ver" @@ -336,13 +338,6 @@ init_wine_ver () { try_remove_file "${WINEDIR}/lib/libsteam_api.so" try_remove_file "${WINEDIR}/lib64/libsteam_api.so" - for copy_proton_dll in "dxvk" "vkd3d-proton" ; do - if [[ ! -d "${WINEDIR}/lib/wine/${copy_proton_dll}/" || ! -d "${WINEDIR}/lib64/wine/${copy_proton_dll}/" ]] ; then - try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_LG_VER}/lib/wine/${copy_proton_dll}" "${WINEDIR}/lib/wine/" - try_copy_dir "${PORT_WINE_PATH}/data/dist/${PW_PROTON_LG_VER}/lib64/wine/${copy_proton_dll}" "${WINEDIR}/lib64/wine/" - fi - done - for mono_gecko_chk in "mono" "gecko" ; do if check_symlink "${WINEDIR}/share/wine/${mono_gecko_chk}" ; then echo "${WINEDIR}/share/wine/${mono_gecko_chk} is symlink. OK." @@ -358,7 +353,7 @@ init_wine_ver () { fi done - grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" + grep 'Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' "${WINEDIR}/share/wine/wine.inf" &> /dev/null if [[ "$?" != "0" ]] ; then echo 'HKLM,Software\NVIDIA Corporation\Global,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" echo 'HKLM,System\ControlSet001\Services\nvlddmkm,"{41FCC608-8496-4DEF-B43E-7D9BD675A6FF}",0x10001,0x00000001' >> "${WINEDIR}/share/wine/wine.inf" @@ -668,6 +663,47 @@ pw_check_and_download_wine () { return 0 } +pw_check_and_download_dxvk_and_vkd3d () { + #Download stable and git version DXVK + for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" ; do + if [ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ] ; then + print_info "Download and install DXVK v.${DXVK_VAR_VER}" + if try_download "https://github.com/doitsujin/dxvk/releases/download/v${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" ; then + if unpack_tar_gz "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" "${PW_VULKAN_DIR}" ; then + try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" + else + try_remove_file "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}.tar.gz" + try_remove_dir dxvk-${DXVK_VAR_VER} + + zenity_error_download && pw_check_and_download_dxvk_and_vkd3d + fi + else + zenity_error_download && pw_check_and_download_dxvk_and_vkd3d + fi + fi + done + + #Download stamle and git version VKD3D + for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do + if [ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ] ; then + print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}" + if try_download "https://github.com/HansKristian-Work/vkd3d-proton/releases/download/v${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" ; then + if unpack_tar_zst "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" "${PW_VULKAN_DIR}" ; then + try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" + else + try_remove_file "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}.tar.zst" + try_remove_dir vkd3d-proton-${VKD3D_VAR_VER} + + zenity_error_download && pw_check_and_download_dxvk_and_vkd3d + fi + else + zenity_error_download && pw_check_and_download_dxvk_and_vkd3d + fi + fi + done + return 0 +} + pw_check_and_download_plugins () { if [ ! -z "`ls ${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}` diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang index ef310df..154dea2 100755 --- a/data_from_portwine/scripts/lang +++ b/data_from_portwine/scripts/lang @@ -30,7 +30,7 @@ then export inst_set="Выбор" export inst_set_top="Установка PortWINE" - export ss_done="Ярлык создан в корневом каталоге порта.\n Добавить его в МЕНЮ -> ИГРЫ?" + export ss_done="Ярлык создан в каталоге PortProton. \n Добавить его в МЕНЮ -> ИГРЫ?" export inst_succ="Установка завершена успешно!" @@ -134,12 +134,112 @@ then export PW_SMAA_INFO='Альтернативный вариант сглаживания (меньший эффект, но с меньшим потреблением ресурсов GPU, относительно стандартного SMAA)' export PW_GaussianBlur_INFO='Небольшой эффект размытия ярких обьектов (например пламя)' - export PW_WAYLAND_INFO="Внимание! Вы запускаете $portname в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" + export PW_WAYLAND_INFO="Внимание! Вы запускаете PortProton в сессии Wayland, некоторые функции могут быть недоступны!\nРекомендуется перезапустить сессию в X11!" - export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9" + export loc_find_d3dadapter9_error="не найден в системе.\nУстановите недостающий пакет: d3dadapter9" + + export loc_gui_error='Ошибка.' + export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания" + export loc_gui_settings="Пожалуйста подождите." + export loc_gui_sett_info="Обновление конфигурации PortProton..." + export loc_gui_edit_db="Изменение файла настроек для:" + export loc_gui_edit_db_help="ПРИМЕЧАНИЕ: Для вывода справки по каждому пункту, просто наведите курсор мыши на текст." + + export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ" + export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню." + + export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК" + export loc_gui_open_db_help="Открыть файл настроек .ppdb в системном текстовом редакторе для просмотра и изменений переменных вручную." + + export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ" + export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню." + + export loc_gui_ver_windows="Изменить версию эмуляции WINDOWS" + export loc_gui_ver_windows_help="Изменение версии эмуляции WINDOWS может потребоваться для запуска старых игр. Версии WINDOWS ниже 10 не поддерживает новые игры с DirectX 12." + + export loc_gui_aut_winetricks="Автоматически установить с помощью WINETRICKS" + export loc_gui_aut_winetricks_help="Автоматически установить с помощью WINETRICKS дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)" + + export loc_gui_winedllover="Принудительно использовать/отключить библиотеки" + export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке) + +Краткая инструкция: + * библиотеки пишутся БЕЗ расширения файлов .dll + * библиотеки разделяются точкой с запятой - ; + * библиотека=n - использовать библиотеку WINDOWS (сторонюю) + * библиотека=b - использовать библиотеку WINE (встроенную) + * библиотека=n,b - использовать WINDOWS библиотеку, а затем WINE + * библиотека=b,n - использовать библиотеку WINE, а затем WINDOWS + * библиотека= - отключить использование данной библиотеки" + + export loc_gui_arg_exe="Добавить аргумент после .exe файла" + export loc_gui_arg_exe_help="Добавление аргумента после .exe файла, так же как если бы вы добавили аргумент в ярлыке в системе WINDOWS " + + export loc_gui_mango_fps="Ограничить FPS (0 - выключено)" + export loc_gui_mango_fps_help="Включение ограничения количества кадров в секунду средстами MANGOHUD встроенного в PortProton." + + export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub" + export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE." + export loc_gui_set_new_wine="Выберите версию WINE для загрузки:" + export loc_gui_del_wine="Выберите версию WINE для удаления:" + export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ" + + export loc_gui_ffx_cas="AMD FidelityFX - CAS предназначе для значительного улучшения резкости текстур без дополнительных установок модификаций для игр, с минимальной потерей производительности. (Для старых игр рекомендуется значение = 100)" + export loc_gui_disabled_vkbas="ВЫКЛЮЧИТЬ VKBASALT" + export loc_gui_disabled_vkbas_help="Выключить vkBasalt и перейти в предыдущее меню." + export loc_gui_vkbasalt_top="Настройки vkBasalt для добавления эффектов в играх работающих под Vulkan. (Клавиша HOME отключает vkbasalt)\nПРИМЕЧАНИЕ: Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\n" + + export loc_gui_no="НЕТ" + export loc_gui_yes="ДА" + + export loc_gui_create_shortcut="СОЗДАТЬ ЯРЛЫК" + export loc_gui_delete_shortcut="УДАЛИТЬ ЯРЛЫК" + export loc_gui_launch="ЗАПУСТИТЬ" + export loc_gui_debug="СОЗДАТЬ ЛОГ" + export loc_gui_edit_db_start="НАСТРОИТЬ" + export loc_gui_vkbasalt_start="VKBASALT" + export loc_gui_db_comments="Найден файл настроек PortProton для" + + export loc_gui_vulkan_stable="VULKAN (Стабильные версии DXVK и VKD3D)" + export loc_gui_vulkan_git="VULKAN (Новейшие GIT версии DXVK и VKD3D)" + export loc_gui_gallium_nine="GALLIUM_NINE (Аппаратный DX9 для MESA)" + export loc_gui_open_gl="OPENGL (Для видеокарт без VULKAN)" elif [ "${update_loc}" = "ENG" ] then + export loc_gui_vulkan_stable="VULKAN (Stable version of DXVK and VKD3D)" + export loc_gui_vulkan_git="VULKAN (New GIT version of DXVK and VKD3D)" + export loc_gui_gallium_nine="GALLIUM_NINE (Native DX9 on MESA)" + export loc_gui_open_gl="OPENGL (For video cards without VULKAN)" + + export loc_gui_error='Error.' + export loc_gui_error_download="You will need to check internet connection,\nand press OK for repeat download" + export loc_gui_settings="Settings." + export loc_gui_sett_info="Updating parameters..." + export loc_gui_edit_db="Change settings in database file for" + export loc_gui_cancel="CANCEL" + export loc_gui_open_db="OPEN DB FILE" + export loc_gui_save_changes="SAVE CHANGES" + export loc_gui_ver_windows="SELECT VERSION OF WINDOWS" + export loc_gui_aut_winetricks="AUTOINSTALL WITH WINETRICKS" + export loc_gui_winedllover="WINEDLLOVERRIDES" + export loc_gui_arg_exe="ADD ARGUMENTS FOR .EXE FILE" + export loc_gui_mango_fps="MANGOHUD FPS LIMIT (0-disabled)" + export loc_gui_check_new_wine="Check new version WINE from GitHub" + export loc_gui_check_new_wine_error="Error: check wine from github." + export loc_gui_set_new_wine="Select WINE for download:" + export loc_gui_del_wine="Select installed WINE for delete:" + export loc_gui_installed_wine="INSTALLED" + export loc_gui_disabled_vkbas="DISABLE VKBASALT" + export loc_gui_no="NO" + export loc_gui_yes="YES" + export loc_gui_create_shortcut="CREATE SHORTCUT" + export loc_gui_delete_shortcut="DELETE SHORTCUT" + export loc_gui_launch="LAUNCH" + export loc_gui_debug="DEBUG" + export loc_gui_edit_db_start="EDIT DB" + export loc_gui_vkbasalt_start="VKBASALT" + export loc_gui_db_comments="PortProton database file was found for" export loc_gui_rm_pp="REMOVE PORTPROTON" export loc_gui_upd_pp="UPDATE PORTPROTON" diff --git a/data_from_portwine/scripts/portwine_db/EALauncher b/data_from_portwine/scripts/portwine_db/EALauncher new file mode 100755 index 0000000..45e89b4 --- /dev/null +++ b/data_from_portwine/scripts/portwine_db/EALauncher @@ -0,0 +1,43 @@ +#!/usr/bin/env bash +#Author: PortWINE +#EALauncher.exe +#EADesktop.exe +#Rating=5 +#####################examples########################### +export PW_DLL_INSTALL="vcrun2019" # Install DDL in port prefix (used winetricks) +export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL +# export PW_USE_TERMINAL="1" +export PW_WINE_TKG_VER="7.20" +export PW_WINE_USE="WINE-${PW_WINE_TKG_VER}-STAGING-TKG-AMD64" +export PW_MUST_HAVE_DLL="" +export PW_PREFIX_NAME="EA_APP" +# export WINEDLLOVERRIDES="mscoree,mshtml=" + +check_download_wine_ver_for_ea () { + if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then + if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/${PW_WINE_TKG_VER}/wine-${PW_WINE_TKG_VER}-staging-tkg-amd64.tar.xz" \ + "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then + if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then + try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" + UNPACK_STATUS=0 + else + try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" + try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" + fi + fi + [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 + fi +} +check_download_wine_ver_for_ea + +if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then + orig_IFS="$IFS" + IFS=$'\n' + for dist_dir in $(ls -1 "${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^^}" + fi + done + IFS="$orig_IFS" +fi diff --git a/data_from_portwine/scripts/portwine_db/EpicGamesLauncher b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher index e9365ef..dfc1485 100755 --- a/data_from_portwine/scripts/portwine_db/EpicGamesLauncher +++ b/data_from_portwine/scripts/portwine_db/EpicGamesLauncher @@ -4,7 +4,7 @@ #Rating=5 ############################################## #export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher" -export PW_WINE_USE=PROTON_GE +# export PW_WINE_USE=PROTON_GE export PW_VULKAN_USE=1 export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq" export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019" diff --git a/data_from_portwine/scripts/portwine_db/Origin b/data_from_portwine/scripts/portwine_db/Origin index 40226b6..f6eb4d2 100755 --- a/data_from_portwine/scripts/portwine_db/Origin +++ b/data_from_portwine/scripts/portwine_db/Origin @@ -3,6 +3,40 @@ #Origin.exe #Rating=5 #####################examples########################### -export PW_DLL_INSTALL="vcrun2012 vcrun2019" # Install DDL in port prefix (used winetricks) +export PW_DLL_INSTALL="vcrun2019" # Install DDL in port prefix (used winetricks) export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL -export PW_USE_TERMINAL="1" +# export PW_USE_TERMINAL="1" +export PW_WINE_TKG_VER="7.20" +export PW_WINE_USE="WINE-${PW_WINE_TKG_VER}-STAGING-TKG-AMD64" +export PW_MUST_HAVE_DLL="" +export PW_PREFIX_NAME="EA_APP" +# export WINEDLLOVERRIDES="mscoree,mshtml=" + +check_download_wine_ver_for_ea () { + if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then + if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/${PW_WINE_TKG_VER}/wine-${PW_WINE_TKG_VER}-staging-tkg-amd64.tar.xz" \ + "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then + if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then + try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" + UNPACK_STATUS=0 + else + try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" + try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" + fi + fi + [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 + fi +} +check_download_wine_ver_for_ea + +if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then + orig_IFS="$IFS" + IFS=$'\n' + for dist_dir in $(ls -1 "${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^^}" + fi + done + IFS="$orig_IFS" +fi diff --git a/data_from_portwine/scripts/portwine_db/VKPlayLoader b/data_from_portwine/scripts/portwine_db/VKPlayLoader index bf43850..3ec25ae 100755 --- a/data_from_portwine/scripts/portwine_db/VKPlayLoader +++ b/data_from_portwine/scripts/portwine_db/VKPlayLoader @@ -9,4 +9,4 @@ export PW_WINE_USE="PROTON_LG" export WINEDLLOVERRIDES="mscoree,mshtml=" export PW_MUST_HAVE_DLL="" export PW_PREFIX_NAME="VK_PLAY" -export PW_VIRTUAL_DESKTOP="1" +# export PW_VIRTUAL_DESKTOP="1" diff --git a/data_from_portwine/scripts/portwine_db/steam b/data_from_portwine/scripts/portwine_db/steam index c74fe87..7fd8988 100755 --- a/data_from_portwine/scripts/portwine_db/steam +++ b/data_from_portwine/scripts/portwine_db/steam @@ -4,9 +4,9 @@ #Rating=5 ################################################ export PW_COMMENT_DB="Steam" -export PW_WINDOWS_VER=7 +export PW_WINDOWS_VER=10 export PW_DLL_INSTALL="vcrun2019 d3dcompiler_46" export WINEDLLOVERRIDES="libglesv2,lsteamclient=" export LAUNCH_PARAMETERS="-no-cef-sandbox" export PW_VULKAN_USE=1 -export PW_WINE_USE=PROTON_GE +# export PW_WINE_USE=PROTON_GE diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP b/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP new file mode 100755 index 0000000..dee9781 --- /dev/null +++ b/data_from_portwine/scripts/pw_autoinstall/PW_EAAPP @@ -0,0 +1,55 @@ +#!/usr/bin/env bash +# Author: Castro-Fidel (linux-gaming.ru) +######################################################################## +export LAUNCH_PARAMETERS=("/silent" "/repair" ) +export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe" +export PW_DLL_INSTALL="" # Install DDL in port prefix (used winetricks) +export PW_VULKAN_USE=1 # dxvk, vkd3d or 0 for OpenGL +# export PW_USE_TERMINAL="1" +# export PW_WINE_TKG_VER="7.20" +# export PW_WINE_USE="WINE-${PW_WINE_TKG_VER}-STAGING-TKG-AMD64" +export PW_MUST_HAVE_DLL="" +export PW_PREFIX_NAME="EA_APP" +# export WINEDLLOVERRIDES="mscoree,mshtml=b" + +# if [ ! -d "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" ] ; then +# if try_download "https://github.com/Kron4ek/Wine-Builds/releases/download/${PW_WINE_TKG_VER}/wine-${PW_WINE_TKG_VER}-staging-tkg-amd64.tar.xz" \ +# "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" ; then +# if unpack_tar_xz "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" "${PORT_WINE_PATH}/data/dist/" ; then +# try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" +# UNPACK_STATUS=0 +# else +# try_remove_file "${PORT_WINE_PATH}/data/tmp/${PW_WINE_USE}.tar.xz" +# try_remove_dir "${PORT_WINE_PATH}/data/dist/${PW_WINE_USE}" +# fi +# fi +# [[ "${UNPACK_STATUS}" != 0 ]] && exit 1 +# fi + +# if [[ -d "${PORT_WINE_PATH}/data/dist" ]] ; then +# orig_IFS="$IFS" +# IFS=$'\n' +# for dist_dir in $(ls -1 "${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^^}" +# fi +# done +# IFS="$orig_IFS" +# fi + +start_portwine +if try_download "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}" +then + pw_start_progress_bar_block "Installing the EA Launcher. Please wait..." + pw_kill_autostart EABackgroundService.exe & + # pw_kill_autostart EALocalHostSvc.exe & + mkdir -p "$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop" + pw_run "${PW_AUTOINSTALL_EXE}" + portwine_exe="$WINEPREFIX/drive_c/Program Files/Electronic Arts/EA Desktop/EA Desktop/EALauncher.exe" + pw_stop_progress_bar + try_remove_file "${PW_AUTOINSTALL_EXE}" + kill_portwine + portwine_create_shortcut +fi +stop_portwine diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN b/data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN deleted file mode 100755 index b616d19..0000000 --- a/data_from_portwine/scripts/pw_autoinstall/PW_ORIGIN +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash -# Author: Castro-Fidel (linux-gaming.ru) -######################################################################## -export LAUNCH_PARAMETERS=("/silent" "/NoLaunch" ) -export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/OriginSetup.exe" -start_portwine -if try_download "origin-a.akamaihd.net/Origin-Client-Download/origin/live/OriginThinSetup.exe" "${PW_AUTOINSTALL_EXE}" -then - pw_start_progress_bar_block "Installing the Origin. Please wait..." - # pw_kill_autostart Origin.exe & - pw_run "${PW_AUTOINSTALL_EXE}" - portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/Origin/Origin.exe" - pw_stop_progress_bar - try_remove_file "${PW_AUTOINSTALL_EXE}" - kill_portwine - portwine_create_shortcut -fi -stop_portwine diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index c4a8020..a0ac325 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -204,7 +204,6 @@ start_portwine () { export vblank_mode=1 export __GL_SYNC_TO_VBLANK=1 ;; esac - create_new_dir "${PORT_WINE_TMP_PATH}"/gl_shader_cache export int_xneur=0 if [[ ! -z "`pgrep xneur`" ]]; then killall xneur @@ -351,6 +350,10 @@ start_portwine () { fi done + create_new_dir "${PW_VULKAN_DIR}/opengl" + PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/opengl" + PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/opengl" + if [[ "${PW_VULKAN_USE}" == "0" ]] ; then echo "Use OpenGL" export GL_YIELD="NOTHING" @@ -397,33 +400,45 @@ start_portwine () { # export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1 # print_info "Try to use RADV driver (only with MESA)" # fi - # export VKD3D_FEATURE_LEVEL="12_0" - # export __GL_DXVK_OPTIMIZATIONS=1 - # var_vkd3d_config_update no_upload_hvv - if [[ "${PW_USE_WINE_DXGI}" == 1 ]] || [[ "${PW_VULKAN_USE}" == 2 ]]; then - export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxvk_config openvr_api_dxvk" + if [[ "${PW_USE_WINE_DXGI}" == 1 ]] ; then + export CP_DXVK_FILES="d3d11 d3d10core d3d9" # dxvk_config openvr_api_dxvk var_winedlloverride_update "d3d11,d3d10core,d3d9=n" else - export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi dxvk_config openvr_api_dxvk" + export CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi" # dxvk_config openvr_api_dxvk var_winedlloverride_update "d3d11,d3d10core,d3d9,dxgi=n" fi + + if [[ "${PW_VULKAN_USE}" == "1" ]] ; then + PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}" + PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}" + echo "DXVK v.${DXVK_STABLE_VER} in use" + echo "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use" + elif [[ "${PW_VULKAN_USE}" == "2" ]] ; then + PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}" + PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}" + echo "DXVK v.${DXVK_GIT_VER} in use" + echo "VKD3D-PROTON v.${VKD3D_GIT_VER} in use" + fi + echo "Try link native DXVK files..." for wine_dxvk_dll in ${CP_DXVK_FILES} ; do - try_force_link_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll" - try_force_link_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_dxvk_dll}.dll" - done + try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll" + try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_dxvk_dll}.dll" + done + echo "Try link native VKD3D files..." - try_force_link_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/libvkd3d-shader-1.dll" - try_force_link_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/libvkd3d-shader-1.dll" - for wine_vkd3d_dll in d3d12 libvkd3d-proton-utils-3 ; do - try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" - try_force_link_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" + # try_force_link_file "${WINEDIR}/lib/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/libvkd3d-shader-1.dll" + # try_force_link_file "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/libvkd3d-shader-1.dll" + for wine_vkd3d_dll in d3d12 # libvkd3d-proton-utils-3 + do + try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll" + try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" done fi - + if [[ ! -z "${PW_DX12_DISABLE}" && "${PW_DX12_DISABLE}" != 0 ]] - then var_winedlloverride_update "libvkd3d-proton-utils-3,libvkd3d-shader-1=n;d3d12=" - else var_winedlloverride_update "d3d12,libvkd3d-proton-utils-3,libvkd3d-shader-1=n" + then var_winedlloverride_update "d3d12=" # libvkd3d-proton-utils-3,libvkd3d-shader-1; + else var_winedlloverride_update "d3d12=n" # libvkd3d-proton-utils-3,libvkd3d-shader-1=n fi if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/vrclient/bin" ]] ; then @@ -436,18 +451,22 @@ start_portwine () { fi fi + try_remove_dir "${PORT_WINE_TMP_PATH}/mesa_shader_cache" + try_remove_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache" + try_remove_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" + try_remove_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" + if [[ "${PW_USE_SHADER_CACHE}" == 1 ]] ; then - export MESA_SHADER_CACHE_DIR="${PORT_WINE_TMP_PATH}" - create_new_dir "${PORT_WINE_TMP_PATH}/gl_shader_cache" + create_new_dir "${PATH_TO_DXVK_FILES}/gl_shader_cache" export __GL_SHADER_DISK_CACHE=1 export __GL_SHADER_DISK_CACHE_PATH="${PORT_WINE_TMP_PATH}/gl_shader_cache" - export __GL_SHADER_DISK_CACHE_SIZE=1000000000 - create_new_dir "${PORT_WINE_TMP_PATH}/dxvk_cache" - export DXVK_STATE_CACHE_PATH="${PORT_WINE_TMP_PATH}"/dxvk_cache + export __GL_SHADER_DISK_CACHE_SIZE=50000000000 + export __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 + create_new_dir "${PATH_TO_DXVK_FILES}/dxvk_cache" + export DXVK_STATE_CACHE_PATH="${PATH_TO_DXVK_FILES}"/dxvk_cache export DXVK_STATE_CACHE=1 - create_new_dir "${PORT_WINE_TMP_PATH}/vkd3d_cache" - export VKD3D_SHADER_CACHE_PATH="${PORT_WINE_TMP_PATH}/vkd3d_cache" - # var_vkd3d_config_update pipeline_library_apw_cache + create_new_dir "${PATH_TO_VKD3D_FILES}/vkd3d_cache" + export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache" else export __GL_SHADER_DISK_CACHE=0 export DXVK_STATE_CACHE=0 @@ -549,7 +568,7 @@ pw_run () { pw_vkbasalt_check PW_LOG_TO_FILE="${PORT_WINE_PATH}/${portname}.log" print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VKD3D_CONFIG" \ - "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" + "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" "WINEDLLPATH" if [[ "${PW_LOG}" == 1 ]] ; then echo "WINEDLLOVERRIDES=${WINEDLLOVERRIDES}" >> "${PW_LOG_TO_FILE}" echo "------------------------------------" >> "${PW_LOG_TO_FILE}" @@ -634,6 +653,9 @@ IFS="$orig_IFS" create_new_dir "${PORT_WINE_TMP_PATH}"/gecko create_new_dir "${PORT_WINE_TMP_PATH}"/mono +export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN" +create_new_dir "${PW_VULKAN_DIR}" + cd "${PORT_SCRIPTS_PATH}" . "${PORT_SCRIPTS_PATH}/var" @@ -666,6 +688,7 @@ if [[ -z "${INSTALLING_PORT}" ]] ; then pw_download_libs pw_check_and_download_wine ${PW_PROTON_LG_VER} pw_check_and_download_plugins + pw_check_and_download_dxvk_and_vkd3d pw_init_db . "${USER_CONF}" fi diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh index 8782c21..2041dba 100755 --- a/data_from_portwine/scripts/start.sh +++ b/data_from_portwine/scripts/start.sh @@ -96,7 +96,7 @@ portwine_start_debug () { echo $(ldd --version | grep -m1 ldd | awk '{print $NF}') >> "${PORT_WINE_PATH}/${portname}.log" echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/${portname}.log" if [[ "${PW_VULKAN_USE}" = "0" ]] ; then - echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to OpenGL" >> "${PORT_WINE_PATH}/${portname}.log" + echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DX9-11 to ${loc_gui_open_gl}" >> "${PORT_WINE_PATH}/${portname}.log" elif [[ "${PW_VULKAN_USE}" = "3" ]] ; then echo "PW_VULKAN_USE=${PW_VULKAN_USE} - native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/${portname}.log" else @@ -407,7 +407,7 @@ pw_edit_db () { PW_MANGOHUD PW_MANGOHUD_USER_CONF ENABLE_VKBASALT PW_NO_ESYNC PW_NO_FSYNC PW_USE_DXR10 PW_USE_DXR11 PW_USE_NVAPI_AND_DLSS \ PW_USE_FAKE_DLSS PW_WINE_FULLSCREEN_FSR PW_OLD_GL_STRING PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL \ PW_HEAP_DELAY_FREE PW_GUI_DISABLED_CS PW_USE_GAMEMODE PW_DX12_DISABLE PW_PRIME_RENDER_OFFLOAD PW_USE_D3D_EXTRAS \ - PW_FIX_VIDEO_IN_GAME PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE + PW_FIX_VIDEO_IN_GAME PW_FORCE_LARGE_ADDRESS_AWARE PW_USE_SHADER_CACHE PW_USE_WINE_DXGI if [ "$?" == 0 ] ; then echo "Restarting PP after update ppdb file..." /usr/bin/env bash -c ${pw_full_command_line[*]} & @@ -467,8 +467,8 @@ fi case "${1}" in '--help' ) echo ' -usege: [--reinstall]' - echo ' +usege: [--reinstall] + --reinstall reinstall portproton to default settings ' exit 0 ;; @@ -503,16 +503,16 @@ do export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}" done if [[ -n "${PORTWINE_DB_FILE}" ]] ; then - [[ -z "${PW_COMMENT_DB}" ]] && PW_COMMENT_DB="PortWINE database file for "\"${PORTWINE_DB}"\" was found." + [[ -z "${PW_COMMENT_DB}" ]] && PW_COMMENT_DB="${loc_gui_db_comments} ${PORTWINE_DB}." if [[ -z "${PW_VULKAN_USE}" || -z "${PW_WINE_USE}" ]] ; then unset PW_GUI_DISABLED_CS [[ -z "${PW_VULKAN_USE}" ]] && export PW_VULKAN_USE=1 fi case "${PW_VULKAN_USE}" in - "0") export PW_DEFAULT_VULKAN_USE='OPENGL!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!GALLIUM_NINE (native DX9 on MESA)' ;; - "2") export PW_DEFAULT_VULKAN_USE='VULKAN (WINE DXGI)!VULKAN (DXVK and VKD3D)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;; - "3") export PW_DEFAULT_VULKAN_USE='GALLIUM_NINE (native DX9 on MESA)!VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL' ;; - *) export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' ;; + "0") export PW_DEFAULT_VULKAN_USE="${loc_gui_open_gl}!${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_gallium_nine}" ;; + "2") export PW_DEFAULT_VULKAN_USE="${loc_gui_vulkan_git}!${loc_gui_vulkan_stable}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" ;; + "3") export PW_DEFAULT_VULKAN_USE="${loc_gui_gallium_nine}!${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}" ;; + *) export PW_DEFAULT_VULKAN_USE="${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" ;; esac if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_LG$") ]] ; then export PW_DEFAULT_WINE_USE="${PW_PROTON_LG_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" @@ -529,7 +529,7 @@ if [[ -n "${PORTWINE_DB_FILE}" ]] ; then fi fi else - export PW_DEFAULT_VULKAN_USE='VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)' + export PW_DEFAULT_VULKAN_USE="${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" if [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_LG$") ]] ; then export PW_DEFAULT_WINE_USE="${PW_PROTON_LG_VER}!${PW_PROTON_GE_VER}${DIST_ADD_TO_GUI}!GET-OTHER-WINE" elif [[ -n $(echo "${PW_WINE_USE}" | grep "^PROTON_GE$") ]] ; then @@ -551,9 +551,9 @@ if [ -n "${portwine_exe}" ]; then pw_create_gui_png grep -il "${portwine_exe}" "${HOME}/.local/share/applications"/*.desktop if [[ "$?" != "0" ]] ; then - PW_SHORTCUT="CREATE SHORTCUT!!${loc_create_shortcut}:100" + PW_SHORTCUT="${loc_gui_create_shortcut}!!${loc_create_shortcut}:100" else - PW_SHORTCUT="DELETE SHORTCUT!!${loc_delete_shortcut}:98" + PW_SHORTCUT="${loc_gui_delete_shortcut}!!${loc_delete_shortcut}:98" fi OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --wrap-width=150 --borders=7 --form --center \ --title "${portname}-${install_ver} (${scripts_install_ver})" --image "${PW_ICON_FOR_YAD}" --separator=";" \ @@ -562,11 +562,11 @@ if [ -n "${portwine_exe}" ]; then --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field="PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=":LBL" "" \ - --button='VKBASALT'!!"${ENABLE_VKBASALT_INFO}":120 \ - --button='EDIT DB'!!"${loc_edit_db} ${PORTWINE_DB}":118 \ + --button="${loc_gui_vkbasalt_start}"!!"${ENABLE_VKBASALT_INFO}":120 \ + --button="${loc_gui_edit_db_start}"!!"${loc_edit_db} ${PORTWINE_DB}":118 \ --button="${PW_SHORTCUT}" \ - --button='DEBUG'!!"${loc_debug}":102 \ - --button='LAUNCH'!!"${loc_launch}":106 ) + --button="${loc_gui_debug}"!!"${loc_debug}":102 \ + --button="${loc_gui_launch}"!!"${loc_launch}":106 ) export PW_YAD_SET="$?" if [[ "$PW_YAD_SET" == "1" || "$PW_YAD_SET" == "252" ]] ; then exit 0 ; fi export VULKAN_MOD=$(echo "${OUTPUT_START}" | grep \;\; | awk -F";" '{print $1}') @@ -655,7 +655,7 @@ else --field=" $loc_gui_credits"!""!"":"FBTN" '@bash -c "button_click gui_credits"' & "${pw_yad_new}" --plug=${KEY} --tabnum=3 --columns=3 --align-buttons --form --separator=";" \ - --field=" 3D API : :CB" "VULKAN (DXVK and VKD3D)!VULKAN (WINE DXGI)!OPENGL!GALLIUM_NINE (native DX9 on MESA)" \ + --field=" 3D API : :CB" "${loc_gui_vulkan_stable}!${loc_gui_vulkan_git}!${loc_gui_open_gl}!${loc_gui_gallium_nine}" \ --field=" PREFIX : :CBE" "${PW_ADD_PREFIXES_TO_GUI}" \ --field=" WINE : :CB" "${PW_DEFAULT_WINE_USE}" \ --field=" DOWNLOAD OTHER WINE "!"${loc_download_other_wine}":"FBTN" '@bash -c "button_click gui_proton_downloader"' \ @@ -690,7 +690,7 @@ else --field=" Ubisoft Game Launcher"!"$PW_GUI_ICON_PATH/ubc.png"!"":"FBTN" '@bash -c "button_click PW_UBC"' \ --field=" EVE Online Launcher"!"$PW_GUI_ICON_PATH/eve.png"!"":"FBTN" '@bash -c "button_click PW_EVE"' \ --field=" Lesta Game Center"!"$PW_GUI_ICON_PATH/lgc.png"!"":"FBTN" '@bash -c "button_click PW_LGC"' \ - --field=" Origin Launcher"!"$PW_GUI_ICON_PATH/origin.png"!"":"FBTN" '@bash -c "button_click PW_ORIGIN"' \ + --field=" EA Launcher (Origin)"!"$PW_GUI_ICON_PATH/eaapp.png"!"":"FBTN" '@bash -c "button_click PW_EAAPP"' \ --field=" Rockstar Games Launcher"!"$PW_GUI_ICON_PATH/Rockstar.png"!"":"FBTN" '@bash -c "button_click PW_ROCKSTAR"' \ --field=" vkPlay Games Center"!"$PW_GUI_ICON_PATH/mygames.png"!"":"FBTN" '@bash -c "button_click PW_VKPLAY"' \ --field=" Ankama Launcher"!"$PW_GUI_ICON_PATH/ankama.png"!"":"FBTN" '@bash -c "button_click PW_ANKAMA"' \ @@ -706,7 +706,11 @@ else "${pw_yad_new}" --key=$KEY --notebook --borders=5 --width=900 --height=235 --no-buttons --auto-close --center \ --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \ - --tab-pos=bottom --tab=" $loc_mg_autoinstall"!""!"" --tab=" $loc_mg_emulators"!""!"" --tab=" $loc_mg_wine_settings"!""!"" --tab=" $loc_mg_portproton_settings"!""!"" + --tab-pos=bottom \ + --tab=" $loc_mg_autoinstall"!!"" \ + --tab=" $loc_mg_emulators"!!"" \ + --tab=" $loc_mg_wine_settings"!!"" \ + --tab=" $loc_mg_portproton_settings"!!"" YAD_STATUS="$?" if [[ "$YAD_STATUS" == "1" || "$YAD_STATUS" == "252" ]] ; then exit 0 ; fi @@ -728,13 +732,13 @@ else export PW_DISABLED_CREATE_DB=1 fi -if [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "OPENGL" ]] +if [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "${loc_gui_open_gl}" ]] then export PW_VULKAN_USE="0" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (DXVK and VKD3D)" ]] +elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "${loc_gui_vulkan_stable}" ]] then export PW_VULKAN_USE="1" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "VULKAN (WINE DXGI)" ]] +elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "${loc_gui_vulkan_git}" ]] then export PW_VULKAN_USE="2" -elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "GALLIUM_NINE (native DX9 on MESA)" ]] +elif [[ -n "${VULKAN_MOD}" && "${VULKAN_MOD}" = "${loc_gui_gallium_nine}" ]] then export PW_VULKAN_USE="3" fi diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var index c072378..65ddfce 100755 --- a/data_from_portwine/scripts/var +++ b/data_from_portwine/scripts/var @@ -1,6 +1,6 @@ #!/usr/bin/env bash #Author: Castro-Fidel (linux-gaming.ru) -#SCRIPTS_NEXT_VERSION=2139 +#SCRIPTS_NEXT_VERSION=2140 ######################################################################## export PW_MANGOHUD=0 export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt @@ -40,6 +40,11 @@ export PW_PROTON_LG_VER="PROTON_LG_${PW_LG_VER}" export PW_GE_VER="7-37" export PW_PROTON_GE_VER="PROTON_GE_${PW_GE_VER}" export PW_WINE_FULLSCREEN_FSR="0" +###DXVK_AND_VKD3D### +export DXVK_STABLE_VER="1.10.3" +export DXVK_GIT_VER="2.0" +export VKD3D_STABLE_VER="2.6" +export VKD3D_GIT_VER="2.7" ###PREFIX_VERSION### export DOTPFX_VER="48v1" export DEFPFX_VER="v1" diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui index 098cbb4..11792b4 100755 --- a/data_from_portwine/scripts/zen_yad_gui +++ b/data_from_portwine/scripts/zen_yad_gui @@ -14,7 +14,7 @@ zenity_error () { export -f zenity_error zenity_error_download () { - `zenity --error --title "Error..." --text "You will need to check internet connection,\nand press OK for repeat download" --no-wrap ` + `zenity --error --title "$loc_gui_error" --text "$loc_gui_error_download" --no-wrap ` if [[ "$?" != 0 ]] ; then stop_portwine else @@ -23,7 +23,7 @@ zenity_error_download () { } sszen() { - zenity --progress --title="Settings..." --text="Updating parameters" --pulsate --auto-close --width=500 --height=90 --no-cancel + zenity --progress --title="$loc_gui_settings" --text="$loc_gui_sett_info" --pulsate --auto-close --width=500 --height=90 --no-cancel } gui_question () { @@ -101,7 +101,7 @@ pw_stop_progress_bar_cover () { export -f pw_stop_progress_bar_cover open_changelog () { - "${pw_yad}" --title="Changelog" --borders=10 --no-buttons --text-align=center \ + "${pw_yad}" --title="$loc_gui_changelog" --borders=10 --no-buttons --text-align=center \ --text-info --show-uri --wrap --center --width=1200 --height=550 --uri-color=red \ --filename="${PORT_WINE_PATH}/data/${PW_CHANGELOG_FILE}" } @@ -180,17 +180,20 @@ pw_gui_for_edit_db () { *) ADD_WINVER_EDIT_DB="10!7!XP" ;; esac "${pw_yad_new}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \ - --field="SELECT VERSION OF WINDOWS::CB" "${ADD_WINVER_EDIT_DB}" \ - --field="AUTOINSTALL WITH WINETRICKS::CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \ - --field="WINEDLLOVERRIDES::CBE" "${WINEDLLOVERRIDES}!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \ + --field="${loc_gui_ver_windows}!${loc_gui_ver_windows_help} :CB" "${ADD_WINVER_EDIT_DB}" \ + --field="${loc_gui_aut_winetricks}!${loc_gui_aut_winetricks_help} :CBE" "${PW_DLL_INSTALL}!vcrun2019 corefonts lucida" \ + --field="${loc_gui_winedllover}!${loc_gui_winedllover_help} :CBE" "${WINEDLLOVERRIDES}!libglesv2=!d3dx9_36,d3dx9_42=n,b;mfc120=b,n" \ --field=":LBL" "" \ - --field="ADD ARGUMENTS FOR .EXE FILE::CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \ + --field="${loc_gui_arg_exe}!${loc_gui_arg_exe_help} :CBE" "\\${LAUNCH_PARAMETERS[@]}!-dx11 -skipintro 1" \ --field=":LBL" "" \ - --field="MANGOHUD FPS LIMIT (0-disabled):SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" & + --field="${loc_gui_mango_fps}!${loc_gui_mango_fps_help} :SCL" ${FPS_LIMIT_VAR} 2>/dev/null 1> "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" & "${pw_yad_new}" --paned --key="$KEY_EDIT_DB_GUI" --title "EDIT_DB" --text-align=center --height="450" \ - --text "Change settings in database file for ${PORTWINE_DB}\n" --separator=" " --borders=10 --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --button="CANCEL":1 --button="OPEN DB FILE":150 --button="SAVE CHANGES":0 + --text "${loc_gui_edit_db} ${PORTWINE_DB}\n ${loc_gui_edit_db_help}" --separator=" " --borders=10 --center \ + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ + --button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \ + --button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \ + --button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 YAD_STATUS="$?" case "$YAD_STATUS" in 1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;; @@ -227,7 +230,7 @@ pw_gui_for_edit_db () { gui_proton_downloader () { - pw_start_progress_bar_block "Check new version WINE from GitHub" + pw_start_progress_bar_block "$loc_gui_check_new_wine" #PROTON_GE export PROTON_GE_GIT=($(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4)) try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" @@ -272,7 +275,7 @@ gui_proton_downloader () { fi pw_stop_progress_bar if [[ -z "${PROTON_GE_GIT}" ]] || [[ -z "${PROTON_PW_GIT}" ]] ; then - zenity_error "Error: check wine from github." + zenity_error "$loc_gui_check_new_wine_error" /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 fi @@ -291,18 +294,18 @@ gui_proton_downloader () { try_remove_file "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set" `"${pw_yad}" --plug=$KEY_WINE --tabnum=1 --list --separator="" --listen \ - --column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"` & + --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_pw_set"` & `"${pw_yad}" --plug=$KEY_WINE --tabnum=2 --list --separator="" --listen \ - --column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"` & + --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git" 1> "${PORT_WINE_TMP_PATH}/tmp_kron4ek_set"` & `"${pw_yad}" --plug=$KEY_WINE --tabnum=3 --list --separator="" --listen \ - --column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set"` & + --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git" 1> "${PORT_WINE_TMP_PATH}/tmp_proton_set"` & `"${pw_yad}" --plug=$KEY_WINE --tabnum=4 --list --separator="" --listen \ - --column "Select WINE for download:" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"` & + --column "$loc_gui_set_new_wine" < "${PORT_WINE_TMP_PATH}/tmp_wine_ge_custom_git" 1> "${PORT_WINE_TMP_PATH}/tmp_ge_custom_set"` & `"${pw_yad}" --plug=$KEY_WINE --tabnum=5 --list --separator="" --listen \ - --column "Select installed WINE for delete:" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"` & + --column "$loc_gui_del_wine" < "${PORT_WINE_TMP_PATH}/tmp_installed_wine" 1> "${PORT_WINE_TMP_PATH}/tmp_installed_wine_set"` & `"${pw_yad}" --key=$KEY_WINE --notebook --width=500 --height=600 --text-align=center --center \ - --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "Download..." --separator="" \ - --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="INSTALLED"` + --window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "WINE MANAGER" --separator="" \ + --tab-pos=top --tab="PROTON-LG" --tab="WINE-KRON4EK" --tab="PROTON-GE" --tab="WINE-GE-CUSTOM" --tab="$loc_gui_installed_wine"` YAD_WINE_STATUS="$?" if [[ "$YAD_WINE_STATUS" == "1" || "$YAD_WINE_STATUS" == "252" ]] ; then /usr/bin/env bash -c ${pw_full_command_line[*]} & @@ -388,16 +391,19 @@ gui_vkBasalt () { export old_IFS=$IFS export IFS="%" "${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="1" --form --columns=5 --separator=" " \ + --text-align=center --text="$loc_gui_vkbasalt_top" \ ${ADD_GUI_FX} 1> "${PORT_WINE_TMP_PATH}/tmp_yad_basalt_set" & export IFS="${old_IFS}" "${pw_yad_new}" --plug=$KEY_FX_GUI --tabnum="2" --separator=" " --form \ - --field="AMD FidelityFX - Contrast Adaptive Sharpening":SCL "${VKBASALT_FFX_CAS_GUI}" \ + --field="AMD FidelityFX - Contrast Adaptive Sharpening"!"$loc_gui_ffx_cas":SCL "${VKBASALT_FFX_CAS_GUI}" \ 1> "${PORT_WINE_TMP_PATH}/tmp_yad_cas_set" & "${pw_yad_new}" --paned --key="$KEY_FX_GUI" --height="500" --title="vkBasalt" --center --borders=10 \ --separator=" " --window-icon="$PW_GUI_ICON_PATH/port_proton.png" \ - --button="CANCEL":1 --button="DISABLE VKBASALT":180 --button="ENABLE VKBASALT":182 + --button="$loc_gui_cancel"!!"$loc_gui_cancel_help":1 \ + --button="$loc_gui_disabled_vkbas"!!"$loc_gui_disabled_vkbas_help":180 \ + --button="$loc_gui_save_changes"!!"$loc_gui_save_changes_help":182 YAD_VKBASALT_STATUS="$?" case "${YAD_VKBASALT_STATUS}" in 1|252) @@ -454,10 +460,10 @@ portwine_create_shortcut () { "${pw_yad}" --title="${inst_set}." --form --center --borders=5 \ --window-icon "$PW_GUI_ICON_PATH/port_proton.png" \ --image "${PORT_WINE_PATH}/data/img/${PORTPROTON_NAME}.png" \ - --field=" ${name_desktop}.desktop:LBL" "" \ - --field=" ${ss_done}:LBL" "" \ - --button='CANCEL'!!"":1 \ - --button='OK'!!"":0 + --field="\n ${name_desktop}.desktop:LBL" "" \ + --field="\n ${ss_done}:LBL" "" \ + --button="$loc_gui_no":1 \ + --button="$loc_gui_yes":0 if [ $? -eq "0" ]; then try_remove_file "${HOME}/.local/share/applications/${name_desktop}.desktop" cp -f "${PORT_WINE_PATH}/${name_desktop}.desktop" ${HOME}/.local/share/applications/