Commit 41bc48fb authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2140

parent d8f96deb
......@@ -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")
......
......@@ -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")
......
......@@ -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}`
......
......@@ -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Установите недостающий пакет: </Sb>d3dadapter9</b>"
export loc_gui_error='Ошибка.'
export loc_gui_error_download="Проверьте интернет соединение и\nнажмите OK для повторной попытки скачивания"
export loc_gui_settings="Пожалуйста подождите."
export loc_gui_sett_info="Обновление конфигурации <b>PortProton</b>..."
export loc_gui_edit_db="Изменение файла настроек для:"
export loc_gui_edit_db_help="<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст."
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
export loc_gui_open_db_help="Открыть файл настроек <b>.ppdb</b> в системном текстовом редакторе для просмотра и изменений переменных вручную."
export loc_gui_save_changes="СОХРАНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_save_changes_help="Сохранить текущие изменения, и перейти в предыдущее меню."
export loc_gui_ver_windows="Изменить версию эмуляции <b>WINDOWS</b>"
export loc_gui_ver_windows_help="Изменение версии эмуляции <b>WINDOWS</b> может потребоваться для запуска старых игр. Версии <b>WINDOWS</b> ниже 10 не поддерживает новые игры с DirectX 12."
export loc_gui_aut_winetricks="Автоматически установить с помощью <b>WINETRICKS</b>"
export loc_gui_aut_winetricks_help="Автоматически установить с помощью <b>WINETRICKS</b> дополнительных библиотек необходимых для запуска игры/программы. Список библиотек разделяются пробелами. (Пример есть в выпадающем списке)"
export loc_gui_winedllover="Принудительно использовать/отключить библиотеки"
export loc_gui_winedllover_help="Принудительное использование/отключиение библиотеки только для даного приложения. (Примеры есть в выпадающем списке)
Краткая инструкция:
* библиотеки пишутся <b>БЕЗ</b> расширения файлов .dll
* библиотеки разделяются точкой с запятой - <b>;</b>
* библиотека=n - использовать библиотеку <b>WINDOWS</b> (сторонюю)
* библиотека=b - использовать библиотеку <b>WINE</b> (встроенную)
* библиотека=n,b - использовать <b>WINDOWS</b> библиотеку, а затем <b>WINE</b>
* библиотека=b,n - использовать библиотеку <b>WINE</b>, а затем <b>WINDOWS</b>
* библиотека= - отключить использование данной библиотеки"
export loc_gui_arg_exe="Добавить аргумент после <b>.exe</b> файла"
export loc_gui_arg_exe_help="Добавление аргумента после <b>.exe</b> файла, так же как если бы вы добавили аргумент в ярлыке в системе <b>WINDOWS </b>"
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. (Клавиша <b>HOME</b> отключает vkbasalt)\n<b>ПРИМЕЧАНИЕ:</b> Для вывода справки по каждому пункту, просто наведите курсор мыши на текст.\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"
......
#!/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
......@@ -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"
......
......@@ -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
......@@ -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"
......@@ -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
#!/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
#!/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
......@@ -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
......@@ -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} <b>${PORTWINE_DB}</b>."
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
......
#!/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"
......
......@@ -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} <b>${PORTWINE_DB}</b>\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=" <b>${name_desktop}.desktop</b>:LBL" "" \
--field=" ${ss_done}:LBL" "" \
--button='CANCEL'!!"":1 \
--button='OK'!!"":0
--field="\n <b>${name_desktop}.desktop</b>: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/
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment