Commit 026e54e9 authored by Mikhail Tergoev's avatar Mikhail Tergoev

Scripts version 2279

parent a0493321
...@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://linux- ...@@ -2,6 +2,13 @@ You can help us in the development of the project on the website: https://linux-
---------------------------------------- ----------------------------------------
Changelog: Changelog:
###Scripts version 2279### Date: 16.04.2024 / Download update size: 15 megabytes
* improvements to the flatpak version of PortProton:
- fixed running games on SteamDeck in gaming mode
- disabled downloading of the steam runtime container (reduces the size of the installed PortProton)
- improved the function of detecting GALLIUM_NINE libraries
* ATTENTION: Do not use flatpak and the native version of PortProton on the same system!
###Scripts version 2278### Date: 15.04.2024 / Download update size: 15 megabytes ###Scripts version 2278### Date: 15.04.2024 / Download update size: 15 megabytes
* changed function for prefix update * changed function for prefix update
......
...@@ -2,6 +2,14 @@ ...@@ -2,6 +2,14 @@
----------------------------------------- -----------------------------------------
История изменений: История изменений:
###Scripts version 2279### Дата: 16.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* улучшения flatpak версии PortProton:
- исправлен запуск игр на SteamDeck в игровом режиме
- исправлены локализации внутри игр на SteamDeck в игровом режиме (требуется выбор руского интерфейса PortProton)
- отключено скачивание контейнера steam runtime (уменьшает размер установленого PortProton)
- улучшена функция определения библиотек GALLIUM_NINE
* ВНИМАНИЕ: Не используйте flatpak и нативную версии PortProton на одной системе!
###Scripts version 2278### Дата: 15.04.2024 / Размер скачиваемого обновления: 15 мегабайт ###Scripts version 2278### Дата: 15.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* улучшена функция обновления префикса (исправлена ошибка shell32.dll) * улучшена функция обновления префикса (исправлена ошибка shell32.dll)
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Dezert1r #Author: Dezert1r
#GalaxyClient.exe #GalaxyClient.exe
#GOG_Galaxy_2.0.exe #GOG_Galaxy_2.0.exe
#Rating=1-5 #Rating=1-5
################################################ ################################################
......
...@@ -41,16 +41,9 @@ then ...@@ -41,16 +41,9 @@ then
MISSING_DESKTOP_FILE=0 MISSING_DESKTOP_FILE=0
fi fi
. "$(dirname $(readlink -f "$0"))/functions_helper" cd "$(dirname "$(readlink -f "$0")")" && export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
# if [[ -z "${LANG}" ]] ; then . "${PORT_SCRIPTS_PATH}/functions_helper"
# export LANG=C
# export FORCE_ENG_LANG=1
# elif [[ "${START_FROM_STEAM}" == 1 ]] ; then
# export FORCE_ENG_LANG=1
# else
# unset FORCE_ENG_LANG
# fi
create_new_dir "${HOME}/.local/share/applications" create_new_dir "${HOME}/.local/share/applications"
if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then if [[ "${PW_SILENT_RESTART}" == 1 ]] || [[ "${START_FROM_STEAM}" == 1 ]] ; then
...@@ -66,12 +59,7 @@ unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME ...@@ -66,12 +59,7 @@ unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME
unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48 unset PW_NAME_D_NAME PW_NAME_D_ICON PW_NAME_D_EXEC PW_EXEC_FROM_DESKTOP PW_ALL_DF PW_GENERATE_BUTTONS PW_NAME_D_ICON PW_NAME_D_ICON_48
unset MANGOHUD_CONFIG PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME unset MANGOHUD_CONFIG PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME
export portname=PortProton
cd "$(dirname "`readlink -f "$0"`")" && export PORT_SCRIPTS_PATH="$(pwd)"
cd "${PORT_SCRIPTS_PATH}/../../" && export PORT_WINE_PATH="$(pwd)"
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp" export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f $PORT_WINE_TMP_PATH/*{exe,msi,tar}* rm -f $PORT_WINE_TMP_PATH/*{exe,msi,tar}*
echo "" > "${PORT_WINE_TMP_PATH}/tmp_yad_form" echo "" > "${PORT_WINE_TMP_PATH}/tmp_yad_form"
...@@ -142,7 +130,7 @@ export urlg="https://linux-gaming.ru/portproton/" ...@@ -142,7 +130,7 @@ export urlg="https://linux-gaming.ru/portproton/"
export url_cdn="https://cdn.linux-gaming.ru" export url_cdn="https://cdn.linux-gaming.ru"
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}" export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
try_remove_dir "${PW_WINELIB}/var" try_remove_dir "${PW_WINELIB}/var"
export install_ver=$(cat "${PORT_WINE_TMP_PATH}/${portname}_ver" | head -n 1) export install_ver=$(cat "${PORT_WINE_TMP_PATH}/PortProton_ver" | head -n 1)
export WINETRICKS_DOWNLOADER="curl" export WINETRICKS_DOWNLOADER="curl"
export USER_CONF="${PORT_WINE_PATH}/data/user.conf" export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
check_user_conf check_user_conf
...@@ -184,6 +172,8 @@ fi ...@@ -184,6 +172,8 @@ fi
unset SKIP_CHECK_UPDATES unset SKIP_CHECK_UPDATES
pw_check_and_download_plugins pw_check_and_download_plugins
export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo"
export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
if [[ -f "/tmp/portproton.lock" ]] ; then if [[ -f "/tmp/portproton.lock" ]] ; then
print_warning "Found lock file: /tmp/portproton.lock" print_warning "Found lock file: /tmp/portproton.lock"
...@@ -196,10 +186,11 @@ rm_lock_file () { ...@@ -196,10 +186,11 @@ rm_lock_file () {
} }
trap "rm_lock_file" EXIT trap "rm_lock_file" EXIT
pw_download_libs if check_flatpak
export PW_VULKANINFO_PORTABLE="$PW_PLUGINS_PATH/portable/bin/x86_64-linux-gnu-vulkaninfo" then try_remove_dir "${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
export VULKAN_API_DRIVER_VERSION="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')" else pw_download_libs
export VULKAN_DRIVER_NAME="$("$PW_VULKANINFO_PORTABLE" 2>/dev/null | grep driverName | awk '{print$3}' | head -1)" fi
pw_init_db pw_init_db
. "${PORT_SCRIPTS_PATH}"/lang . "${PORT_SCRIPTS_PATH}"/lang
pw_check_and_download_dxvk_and_vkd3d pw_check_and_download_dxvk_and_vkd3d
...@@ -207,7 +198,7 @@ pw_check_and_download_dxvk_and_vkd3d ...@@ -207,7 +198,7 @@ pw_check_and_download_dxvk_and_vkd3d
kill_portwine kill_portwine
killall -15 yad_v13_0 2>/dev/null killall -15 yad_v13_0 2>/dev/null
kill -TERM `pgrep -a yad | grep ${portname} | head -n 1 | awk '{print $1}'` 2>/dev/null kill -TERM $(pgrep -a yad | grep PortProton | head -n 1 | awk '{print $1}') 2>/dev/null
if [[ -f "/usr/bin/portproton" ]] \ if [[ -f "/usr/bin/portproton" ]] \
&& [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]] && [[ -f "${HOME}/.local/share/applications/PortProton.desktop" ]]
...@@ -296,8 +287,7 @@ IFS=$IFS_OLD ...@@ -296,8 +287,7 @@ IFS=$IFS_OLD
export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}" export PW_ADD_PREFIXES_TO_GUI="${PW_PREFIX_NAME^^}${PW_ADD_PREFIXES_TO_GUI}"
PW_ALL_DIST=$(ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_WINE_LG_VER}$//g" | sed -e s/"${PW_PROTON_LG_VER}$//g") PW_ALL_DIST=$(ls "${PORT_WINE_PATH}/data/dist/" | sed -e s/"${PW_WINE_LG_VER}$//g" | sed -e s/"${PW_PROTON_LG_VER}$//g")
if command -v wine &>/dev/null \ if command -v wine &>/dev/null
&& ! check_flatpak
then DIST_ADD_TO_GUI="!USE_SYSTEM_WINE" then DIST_ADD_TO_GUI="!USE_SYSTEM_WINE"
else unset DIST_ADD_TO_GUI else unset DIST_ADD_TO_GUI
fi fi
...@@ -358,7 +348,7 @@ if [[ -f "${portwine_exe}" ]] ; then ...@@ -358,7 +348,7 @@ if [[ -f "${portwine_exe}" ]] ; then
PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${loc_delete_shortcut}:98" PW_SHORTCUT="${loc_gui_delete_shortcut}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${loc_delete_shortcut}:98"
fi fi
OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --form \ OUTPUT_START=$("${pw_yad}" --text-align=center --text "$PW_COMMENT_DB" --form \
--title "${portname}-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
--image "${PW_ICON_FOR_YAD}" --separator=";" \ --image "${PW_ICON_FOR_YAD}" --separator=";" \
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \ --field="3D API : :CB" "${PW_DEFAULT_VULKAN_USE}" \
...@@ -496,7 +486,7 @@ else ...@@ -496,7 +486,7 @@ else
"${pw_yad_v13_0}" --key=$KEY --notebook --expand \ "${pw_yad_v13_0}" --key=$KEY --notebook --expand \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \ --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "${portname}-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom \ --tab-pos=bottom \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$loc_mg_emulators"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
...@@ -508,7 +498,7 @@ else ...@@ -508,7 +498,7 @@ else
"${pw_yad_v13_0}" --key=$KEY --notebook --expand \ "${pw_yad_v13_0}" --key=$KEY --notebook --expand \
--width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \ --width="${PW_MAIN_SIZE_W}" --height="${PW_MAIN_SIZE_H}" --no-buttons \
--auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \ --auto-close --window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
--title "${portname}-${install_ver} (${scripts_install_ver})" \ --title "PortProton-${install_ver} (${scripts_install_ver})" \
--tab-pos=bottom \ --tab-pos=bottom \
--tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$loc_mg_installed"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
--tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \ --tab="$loc_mg_autoinstall"!"$PW_GUI_ICON_PATH/$TAB_SIZE.png"!"" \
......
#!/usr/bin/env bash #!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru) #Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2278 #SCRIPTS_NEXT_VERSION=2279
######################################################################## ########################################################################
export PW_MANGOHUD="0" export PW_MANGOHUD="0"
export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine" export DEFAULT_MANGOHUD_CONFIG="arch,cpu_mhz,cpu_temp,engine_version,gamemode,gpu_core_clock,gpu_mem_clock,gpu_name,gpu_temp,ram,resolution,vkbasalt,vram,vulkan_driver,wine"
......
...@@ -8,7 +8,7 @@ export port_ver=1.5 ...@@ -8,7 +8,7 @@ export port_ver=1.5
######################################################################## ########################################################################
cd "$(dirname "$(readlink -f "$0")")" cd "$(dirname "$(readlink -f "$0")")"
script_path="$(pwd)" script_path="$(pwd)"
def_path="${HOME}/${portname}" def_path="${HOME}/PortProton"
######################################################################## ########################################################################
fatal () { fatal () {
echo -e "\n${1}\n" echo -e "\n${1}\n"
...@@ -16,12 +16,12 @@ fatal () { ...@@ -16,12 +16,12 @@ fatal () {
} }
######################################################################## ########################################################################
if [ "$(id -u)" == "0" ] ; then if [ "$(id -u)" == "0" ] ; then
$yad_gui --error --text "\nDo not run ${portname} from the superuser!" 2>/dev/null $yad_gui --error --text "\nDo not run PortProton from the superuser!" 2>/dev/null
fatal "Do not run the script from the superuser!" fatal "Do not run the script from the superuser!"
fi fi
######################################################################## ########################################################################
[ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share" [ -z "${XDG_DATA_HOME}" ] && export XDG_DATA_HOME="$HOME/.local/share"
PP_CONFIG_FILE="${HOME}/.config/${portname}.conf" PP_CONFIG_FILE="${HOME}/.config/PortProton.conf"
if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then if [ -f "${XDG_DATA_HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
echo "${XDG_DATA_HOME}/PortWINE/PortProton" > "${PP_CONFIG_FILE}" echo "${XDG_DATA_HOME}/PortWINE/PortProton" > "${PP_CONFIG_FILE}"
elif [ -f "${HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then elif [ -f "${HOME}/PortWINE/PortProton/data/scripts/start.sh" ] ; then
...@@ -31,7 +31,7 @@ fi ...@@ -31,7 +31,7 @@ fi
if [ "$script_path" == "/usr/bin" ] && [ -f "${PP_CONFIG_FILE}" ] ; then if [ "$script_path" == "/usr/bin" ] && [ -f "${PP_CONFIG_FILE}" ] ; then
export PORT_WINE_PATH="$(cat "${PP_CONFIG_FILE}" | head -n 1)" export PORT_WINE_PATH="$(cat "${PP_CONFIG_FILE}" | head -n 1)"
if [ -f "${PORT_WINE_PATH}/data/scripts/start.sh" ] ; then if [ -f "${PORT_WINE_PATH}/data/scripts/start.sh" ] ; then
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/PortProton_ver"
/usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/start.sh" "$@" /usr/bin/env bash "${PORT_WINE_PATH}/data/scripts/start.sh" "$@"
exit 0 exit 0
else else
...@@ -78,7 +78,7 @@ export INSTALLING_PORT=1 ...@@ -78,7 +78,7 @@ export INSTALLING_PORT=1
if [[ "${PW_USE_NS}" != "1" ]] ; then if [[ "${PW_USE_NS}" != "1" ]] ; then
case $PW_SET_LANG in case $PW_SET_LANG in
"Russian") "Russian")
inst1=$($yad_gui --title "Install ${portname}" --text "Выберите путь для установки (обновления) ${portname},\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \ inst1=$($yad_gui --title "Install PortProton" --text "Выберите путь для установки (обновления) PortProton,\nили оставьте его по умолчанию.\n\nВнимание:\nУстанавливать необходимо на файловую систему Linux (ext4, btrfs и прочие)." --list --radiolist --width=600 --height=200 \
--column="Выбор" --column "Путь:" \ --column="Выбор" --column "Путь:" \
TRUE "${def_path}" \ TRUE "${def_path}" \
FALSE "Другой путь...") FALSE "Другой путь...")
...@@ -91,7 +91,7 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then ...@@ -91,7 +91,7 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then
D_PATH="$($yad_gui --file --directory --title="Выберите путь..." --width=800 --height=800)" ;; D_PATH="$($yad_gui --file --directory --title="Выберите путь..." --width=800 --height=800)" ;;
esac ;; esac ;;
"English") "English")
inst1=$($yad_gui --title "Install ${portname}" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=600 --height=200 \ inst1=$($yad_gui --title "Install PortProton" --text "Select the installation path (update) port,\nor leave it in default." --list --radiolist --width=600 --height=200 \
--column="Set..." --column "Path:" \ --column="Set..." --column "Path:" \
TRUE "${def_path}" \ TRUE "${def_path}" \
FALSE "Other path...") FALSE "Other path...")
...@@ -105,16 +105,16 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then ...@@ -105,16 +105,16 @@ if [[ "${PW_USE_NS}" != "1" ]] ; then
esac ;; esac ;;
esac esac
[[ -z "${D_PATH}" ]] && fatal [[ -z "${D_PATH}" ]] && fatal
echo "${D_PATH}" | grep -i "${portname}" 2>/dev/null || D_PATH="${D_PATH}/${portname}" echo "${D_PATH}" | grep -i "PortProton" 2>/dev/null || D_PATH="${D_PATH}/PortProton"
case $PW_SET_LANG in case $PW_SET_LANG in
"Russian") "Russian")
progress_bar() { progress_bar() {
$yad_gui --progress --title="Установка..." --text="Настройка ${portname}" --pulsate --auto-close --auto-kill --width=500 $yad_gui --progress --title="Установка..." --text="Настройка PortProton" --pulsate --auto-close --auto-kill --width=500
} ;; } ;;
"English") "English")
progress_bar() { progress_bar() {
$yad_gui --progress --title="Install..." --text="Install ${portname}" --pulsate --auto-close --auto-kill --width=500 $yad_gui --progress --title="Install..." --text="Install PortProton" --pulsate --auto-close --auto-kill --width=500
} ;; } ;;
esac esac
else else
...@@ -133,10 +133,10 @@ else ...@@ -133,10 +133,10 @@ else
fi fi
######################################################################## ########################################################################
mkdir -p "${PORT_WINE_PATH}/data/tmp" mkdir -p "${PORT_WINE_PATH}/data/tmp"
echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/${portname}_ver" echo "${port_ver}" > "${PORT_WINE_PATH}/data/tmp/PortProton_ver"
case "${PW_SET_LANG}" in case "${PW_SET_LANG}" in
"Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; "Russian") echo "RUS" > "${PORT_WINE_PATH}/data/tmp/PortProton_loc" ;;
"English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/${portname}_loc" ;; "English") echo "ENG" > "${PORT_WINE_PATH}/data/tmp/PortProton_loc" ;;
esac esac
######################################################################## ########################################################################
if [[ "${PW_USE_NS}" != "1" ]] ; then if [[ "${PW_USE_NS}" != "1" ]] ; then
......
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