Commit 907923d2 authored by Mikhail Tergoev's avatar Mikhail Tergoev

gamescope, vkbasalt, update prefix

parent de28df93
......@@ -2,6 +2,12 @@
-----------------------------------------
История изменений:
* исправлена совмеcтная работа GAMESCOPE и vkBasalt
* оптимизировано создание и обновление префикса
* исправлено отключение MANGOHUD в настройках
* добавлена кнопка сброса в настройках при запуске exe (для востановления настроек по умолчанию)
* добавлено принудительное отображение настроек запуска exe файла при запуске ярлыка из интерфейса PortProton
###Scripts version 2237### Дата: 08.12.2023 / Размер скачиваемого обновления: 8 мегабайт
* объединено включение MANGOHUD в настройках (32-х и 64-х битные)
* исправлена работа vkBasalt совместно с gamescope
......
......@@ -12,7 +12,7 @@ scripts v. ${scripts_install_ver}
https://linux-gaming.ru
Авторские права © 2022 Castro-Fidel (linux-gaming.ru)
Авторские права © $(date +'%Y') Castro-Fidel (linux-gaming.ru)
Эта программа поставляется без каких-либо гарантий.
Подробнее см. в Лицензия." 2>/dev/null &
......@@ -46,7 +46,7 @@ Akai
"${pw_yad_v12_3}" --plug="${KEY_CREDITS}" --tabnum=3 --text-info --scroll <<< " Лицензия Массачусетского технологического института (MIT License)
Авторские права (©) 2022 Castro-Fidel (linux-gaming.ru)
Авторские права © $(date +'%Y') Castro-Fidel (linux-gaming.ru)
Настоящим предоставляется бесплатное разрешение любому лицу, получившему копию данного
программного обеспечения и связанных с ним файлов документации (Программное
......
......@@ -239,9 +239,13 @@ unpack_tar_zst () {
}
unpack_tar_xz () {
if [[ "$3" == "silent" ]] ; then
tar -Jxhvf "$1" -C "$2" && return 0 || return 1
else
set -o pipefail
tar -Jxhvf "$1" -C "$2" | sszen
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
}
unpack_tar_gz () {
......@@ -527,15 +531,16 @@ pw_mangohud_check () {
pw_vkbasalt_check () {
if [[ "${ENABLE_VKBASALT}" == 1 ]] && [[ "${PW_VULKAN_USE}" != "0" ]] && [[ "${PW_VULKAN_USE}" != "3" ]] ; then
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
if [[ -z "${PW_VKBASALT_EFFECTS}" ]] ; then
export PW_VKBASALT_EFFECTS="Curves:cas"
fi
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
sed -ri "s/effects = .*/effects = ${PW_VKBASALT_EFFECTS}/g" "${VKBASALT_CONFIG_FILE}"
if [[ -z "${PW_VKBASALT_FFX_CAS}" ]] ; then
export PW_VKBASALT_FFX_CAS="0.7"
fi
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${PORT_WINE_PATH}/data/vkBasalt.conf"
export VKBASALT_CONFIG_FILE="${PORT_WINE_PATH}/data/vkBasalt.conf"
sed -ri "s/casSharpness .*/casSharpness = ${PW_VKBASALT_FFX_CAS}/g" "${VKBASALT_CONFIG_FILE}"
sed -ri "s|= .*/reshade|= \"${PW_WINELIB}/pressure-vessel/reshade\"|g" "${VKBASALT_CONFIG_FILE}"
var_vk_istance_layers_config_update "VK_LAYER_VKBASALT_post_processing64:VK_LAYER_VKBASALT_post_processing32"
print_info "vkBasalt is enabled"
else
......@@ -913,6 +918,7 @@ pw_init_db () {
fi
fi
[[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1
[[ "${START_FROM_PP_GUI}" == 1 ]] && export PW_GUI_DISABLED_CS=0 && unset START_FROM_PP_GUI
[[ -z "$GAMESCOPE_ARGS" ]] && export GAMESCOPE_ARGS="-F fsr"
return 0
......
......@@ -230,6 +230,9 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_cancel="ОТМЕНИТЬ ИЗМЕНЕНИЯ"
export loc_gui_cancel_help="Отменить текущие изменения и вернутся в предыдущее меню."
export loc_gui_reset_db="СБРОСИТЬ НАСТРОЙКИ"
export loc_gui_reset_db_help="Востановить все настройки по умолчанию."
export loc_disabled="Отключено"
export loc_gui_open_db="ОТКРЫТЬ ФАЙЛ НАСТРОЕК"
......@@ -538,6 +541,10 @@ elif [[ "${update_loc}" == "ENG" ]] ; then
export loc_gui_cancel="CANCEL THE CHANGES"
export loc_gui_cancel_help="Cancel the current changes and return to the previous menu."
export loc_gui_reset_db="RESET SETTINGS"
export loc_gui_reset_db_help="Restore default settings."
export loc_disabled="Disabled"
export loc_gui_open_db="OPEN THE SETTINGS FILE"
......
......@@ -4,9 +4,4 @@
#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_PREFIX_NAME="EA_APP"
# export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64"
......@@ -5,3 +5,4 @@
################################################
export PW_DLL_INSTALL="vcrun2019"
export LAUNCH_PARAMETERS="-EpicPortal"
export PW_USE_SHADER_CACHE="0"
......@@ -4,7 +4,7 @@
#Rating=?
################################################
export PW_COMMENT_DB="С этим ДБ файлом писать на АНГЛИЙСКОМ не получится.
Для входа в игру используйте ярлык World of Sea Battle (EN)"
Для входа в игру используйте ярлык World of Sea Battle EN"
export PW_PREFIX_NAME="DOTNET"
export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2"
......@@ -15,3 +15,4 @@ export PW_USE_GSTREAMER="1"
export PW_FORCE_LARGE_ADDRESS_AWARE="1"
export PW_USE_SHADER_CACHE="1"
export LAUNCH_PARAMETERS=""
......@@ -13,6 +13,7 @@ export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks
export PW_USE_D3D_EXTRAS="1"
export PW_USE_EAC_AND_BE="0"
export PW_PREFIX_NAME="LGC"
export PW_USE_SHADER_CACHE="0"
add_in_start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/AppData/Roaming/Wargaming.net/WorldOfTanks/preferences.xml" ]] ; then
......
......@@ -13,7 +13,7 @@ export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks
export PW_USE_D3D_EXTRAS="1"
export PW_USE_EAC_AND_BE="0"
export PW_PREFIX_NAME="WGC"
export PW_USE_SHADER_CACHE="0"
add_in_start_portwine () {
if [[ -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/drive_c/users/${USER}/AppData/Roaming/Wargaming.net/WorldOfTanks/preferences.xml" ]] ; then
......
......@@ -4,16 +4,12 @@
export LAUNCH_PARAMETERS=("/silent" "/repair" )
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EAappInstaller.exe"
export PW_VULKAN_USE=1
export PW_PREFIX_NAME="EA_APP"
# export DISABLE_CP_DEFPFX=1
# export PW_WINE_USE="WINE-8.8-STAGING-TKG-AMD64"
# gui_proton_downloader silent "WINE-8.8-STAGING-TKG-AMD64"
start_portwine
if try_download_game "https://origin-a.akamaihd.net/EA-Desktop-Client-Download/installer-releases/EAappInstaller.exe" "${PW_AUTOINSTALL_EXE}"
then
pw_start_progress_bar_block "${loc_gui_installing_the} EA Launcher. ${loc_gui_please_wait} "
pw_kill_autostart EABackgroundService.exe &
# 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}"
......
......@@ -27,7 +27,11 @@ fi
start_portwine () {
var_winedlloverride_update "${PW_MUST_WINEDLLOVERRIDES}"
export WINEPREFIX="${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"
export WINEPREFIX="$(readlink -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}")"
if [[ "$WINEPREFIX" != "${PORT_WINE_PATH}/data/prefixes/"* ]] && [[ ! -d "$WINEPREFIX" ]] ; then
zenity_error "Path to PREFIX not found:\n$WINEPREFIX"
exit 1
fi
create_new_dir "${WINEPREFIX}/drive_c/windows/system32/"
create_new_dir "${WINEPREFIX}/drive_c/windows/syswow64/"
try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${WINEPREFIX}/drive_c/"
......@@ -128,9 +132,10 @@ start_portwine () {
fi
export PW_RUN_GAMESCOPE="gamescope -o 30 ${PW_ID_VIDEO} ${GAMESCOPE_ARGS} --"
export PW_WINE_FULLSCREEN_FSR=0
export vk_xwayland_wait_ready=false
else
export PW_USE_GAMESCOPE=0
unset PW_RUN_GAMESCOPE INTEL_DEBUG
unset PW_RUN_GAMESCOPE INTEL_DEBUG vk_xwayland_wait_ready
fi
enabled_fake_nvidia_videocard ()
......@@ -324,21 +329,16 @@ start_portwine () {
pw_clear_pfx
check_dirs_and_files_in_pfx
if [[ -f "${PW_WINELIB}/default_pfx.tar.xz" ]] && [[ "${DISABLE_CP_DEFPFX}" != 1 ]] ; then
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" 2>/dev/null
unpack_tar_xz "${PW_WINELIB}/default_pfx.tar.xz" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/" silent
fi
${pw_runtime} env WINEDLLOVERRIDES="winegstreamer=" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${WINELOADER}" wineboot -u &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
elif [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" ]] \
|| [[ -z "`cat "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver" | grep ${PW_WINE_USE}`" ]] \
|| [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices" ]] ; then
check_dirs_and_files_in_pfx
${pw_runtime} env WINEDLLOVERRIDES="winegstreamer=" LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
"${WINELOADER}" wineboot -i &>>"${PORT_WINE_TMP_PATH}/update_pfx_log"
wait_wineserver &&
echo "${PW_WINE_USE}" > "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"
fi
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:" ] && try_force_link_dir "${WINEPREFIX}/drive_c/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/c:"
[ ! -d "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:" ] && try_force_link_dir "/" "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/dosdevices/z:"
create_new_dir "${WINEPREFIX}/drive_c/users/steamuser"
......@@ -381,7 +381,9 @@ start_portwine () {
fi
if [[ "${PW_USE_D3D_EXTRAS}" == 1 ]] ; then
if [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]] ; then
if [[ ! -f "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log" ]] \
|| [[ -z "`grep d3dx9 "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"`" ]]
then
echo "d3dx9" >> "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/winetricks.log"
fi
if [[ -d "${PW_PLUGINS_PATH}/d3d_extras" ]]
......
......@@ -838,6 +838,8 @@ else
done
fi &
export START_FROM_PP_GUI=1
if [[ -z "${PW_ALL_DF}" ]] ; then
"${pw_yad_v12_3}" --key=$KEY --notebook --borders=3 --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons --auto-close \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" --title "${portname}-${install_ver} (${scripts_install_ver})" \
......
......@@ -2,13 +2,13 @@
# Author: Castro-Fidel (linux-gaming.ru)
########################################################################
zenity_info () {
echo "INFO: $@"
print_info "$@"
zenity --info --no-wrap --text "$@" 2> /dev/null
}
export -f zenity_info
zenity_error () {
echo "ERROR: $@"
print_error "$@"
zenity --error --no-wrap --text "$@" 2> /dev/null
}
export -f zenity_error
......@@ -148,7 +148,7 @@ pw_tray_icon () {
pw_gui_for_edit_db () {
KEY_EDIT_DB_GUI=$RANDOM
if echo "${MANGOHUD_CONFIG}" | grep "fps_limit" ; then
if [[ "${MANGOHUD_CONFIG}" == *fps_limit=[0-9]* ]] ; then
FPS_LIMIT_VAR="$(echo ${MANGOHUD_CONFIG} | sed 's/.*fps_limit=//' | awk -F, '{print $1}')"
else
FPS_LIMIT_VAR="disabled"
......@@ -224,11 +224,14 @@ pw_gui_for_edit_db () {
--text "${loc_gui_edit_db} <b>${PORTWINE_DB}</b>\n ${loc_gui_edit_db_help}" --separator=" " --borders=3 \
--window-icon="$PW_GUI_ICON_PATH/port_proton.png" \
--button="${loc_gui_cancel}"!!"${loc_gui_cancel_help}":1 \
--button="${loc_gui_reset_db}"!!"${loc_gui_reset_db_help}":2 \
--button="${loc_gui_open_db}"!!"${loc_gui_open_db_help}":150 \
--button="${loc_gui_save_changes}"!!"${loc_gui_save_changes_help}":0 2>/dev/null
YAD_STATUS="$?"
case "$YAD_STATUS" in
1) /usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
2) try_remove_file "$portwine_exe".ppdb
/usr/bin/env bash -c ${pw_full_command_line[*]} & exit 0 ;;
150) xdg-open "${PORTWINE_DB_FILE}" & exit 0 ;;
252) exit 0 ;;
esac
......@@ -261,8 +264,8 @@ pw_gui_for_edit_db () {
elif [[ "${FPS_LIMIT}" != "disabled" ]] && [[ "${FPS_LIMIT_VAR}" == "disabled" ]] ; then
export MANGOHUD_CONFIG=${MANGOHUD_CONFIG},fps_limit=${FPS_LIMIT}
export PW_MANGOHUD=1
elif [[ "${FPS_LIMIT}" == "disabled" ]] && [[ "${FPS_LIMIT_VAR}" != "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//")"
elif [[ "${FPS_LIMIT}" == "disabled" ]] ; then
export MANGOHUD_CONFIG="$(echo ${MANGOHUD_CONFIG} | sed "s/,fps_limit=${FPS_LIMIT_VAR}//" | sed "s/,fps_limit=//")"
fi
if [[ "${CPU_LIMIT}" != "disabled" ]] ; then
export PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $((${CPU_LIMIT} - 1)))"
......
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