diff --git a/.vscode/launch.json b/.vscode/launch.json
new file mode 100644
index 00000000..cf8d2047
--- /dev/null
+++ b/.vscode/launch.json
@@ -0,0 +1,14 @@
+{
+ // Используйте IntelliSense, чтобы узнать о возможных атрибутах.
+ // Наведите указатель мыши, чтобы просмотреть описания существующих атрибутов.
+ // Для получения дополнительной информации посетите: https://go.microsoft.com/fwlink/?linkid=830387
+ "version": "0.2.0",
+ "configurations": [
+ {
+ "type": "bashdb",
+ "request": "launch",
+ "name": "Bash-Debug (simplest configuration)",
+ "program": "/home/fidel/PortProton/data/scripts/start.sh"
+ }
+ ]
+}
\ No newline at end of file
diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng
index 1df44ae6..b8a80022 100755
--- a/data_from_portwine/changelog_eng
+++ b/data_from_portwine/changelog_eng
@@ -2,6 +2,17 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
+###Scripts version 2275### Date: 14.04.2024 / Download update size: 175 megabytes
+* all archives of wine libraries and versions have been moved to CDN (download speed correction)
+* the libs_v48 library package has been updated
+* added Russian language support in Steam Deck game mode
+* fixed the operation of Sony Playstation gamepads (thanks Ardash for identifying the problem)
+* fixed the work of the latest versions of SVN on NVIDIA 550+ drivers (problems are still possible with MANGOHUD)
+* updated icons in the AUTO-INSTALLATION tab (thanks Dervart)
+* added color detection of the system theme to change the tray icon (thanks to Boria138 and Dervart)
+* added support for disabling deepin compositing (thanks Boria138)
+* fixed GALLIUM_NINE in flatpak (thanks Boria138)
+
###Scripts version 2274### Date: 07.04.2024 / Download update size: 15 megabytes
* added the previous theme for PortProton, enabled by adding "export GUI_THEME=classic" to "data/user.conf"
diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index 14316b6c..c7887d2c 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,8 +2,16 @@
-----------------------------------------
История изменений:
+###Scripts version 2275### Дата: 14.04.2024 / Размер скачиваемого обновления: 175 мегабайт
+* все архивы библиотек и версий wine перенесены на CDN (исправление скорости скачивания)
+* обновлен пакет библиотек libs_v48
* добавлена поддержка русского языка в игровом режиме Steam Deck
-* обновлены иконки во вкладке АВТОУСТАНОВКА
+* исправлена работа геймпадов от Sony Playstation (спасибо Ardash за выявление проблемы)
+* исправлена работа новейших версий DXVK на драйверах NVIDIA 550+ (c MANGOHUD всё еще возможны проблемы)
+* обновлены иконки во вкладке АВТОУСТАНОВКА (спасибо Dervart)
+* добавлено определение цвета системной темы для изменения иконки в трее (спасибо Boria138 и Dervart)
+* добавлена поддержка отключения композитинга deepin (спасибо Boria138)
+* исправлена работа GALLIUM_NINE во flatpak (спасибо Hty за выявление проблемы, спасибо Boria138 за PR)
###Scripts version 2274### Дата: 07.04.2024 / Размер скачиваемого обновления: 15 мегабайт
* добавлена предыдущая тема для PortProton, включается добавлением "export GUI_THEME=classic" в "data/user.conf"
@@ -113,7 +121,7 @@
* добавлена функция отключения композитинга (спасибо Boria138)
* для префиксов созданных вручную, добавлен выбор его наполнения (чистый, или с рекомендованными библиотеками)
* улучшена функция обновления префикса при смене версии WINE-PROTON
-* улучшение переводов
+* улучшение переводов
* множество небольших улучшений скриптов
###Scripts version 2256### Дата: 13.02.2024 / Размер скачиваемого обновления: 15 мегабайт
diff --git a/data_from_portwine/img/gui/close.png b/data_from_portwine/img/gui/close.png
index de254cac..04542779 100644
Binary files a/data_from_portwine/img/gui/close.png and b/data_from_portwine/img/gui/close.png differ
diff --git a/data_from_portwine/img/gui/history.png b/data_from_portwine/img/gui/history.png
index c6b424d2..440738c9 100644
Binary files a/data_from_portwine/img/gui/history.png and b/data_from_portwine/img/gui/history.png differ
diff --git a/data_from_portwine/img/gui/portproton_tray_dark.png b/data_from_portwine/img/gui/portproton_tray_dark.png
deleted file mode 100644
index 5caa1c2f..00000000
Binary files a/data_from_portwine/img/gui/portproton_tray_dark.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/portproton_tray_dark.svg b/data_from_portwine/img/gui/portproton_tray_dark.svg
new file mode 100644
index 00000000..a943863f
--- /dev/null
+++ b/data_from_portwine/img/gui/portproton_tray_dark.svg
@@ -0,0 +1,84 @@
+
+
diff --git a/data_from_portwine/img/gui/portproton_tray_flatpak.svg b/data_from_portwine/img/gui/portproton_tray_flatpak.svg
new file mode 100644
index 00000000..de3205d5
--- /dev/null
+++ b/data_from_portwine/img/gui/portproton_tray_flatpak.svg
@@ -0,0 +1,85 @@
+
+
diff --git a/data_from_portwine/img/gui/portproton_tray_light.png b/data_from_portwine/img/gui/portproton_tray_light.png
deleted file mode 100644
index 0f94e607..00000000
Binary files a/data_from_portwine/img/gui/portproton_tray_light.png and /dev/null differ
diff --git a/data_from_portwine/img/gui/portproton_tray_light.svg b/data_from_portwine/img/gui/portproton_tray_light.svg
new file mode 100644
index 00000000..7a66e402
--- /dev/null
+++ b/data_from_portwine/img/gui/portproton_tray_light.svg
@@ -0,0 +1,85 @@
+
+
diff --git a/data_from_portwine/img/gui/wine_file.png b/data_from_portwine/img/gui/wine_file.png
index 350d466e..3aac4698 100644
Binary files a/data_from_portwine/img/gui/wine_file.png and b/data_from_portwine/img/gui/wine_file.png differ
diff --git a/data_from_portwine/img/gui/wine_system.png b/data_from_portwine/img/gui/wine_system.png
index daca8c20..61d93474 100644
Binary files a/data_from_portwine/img/gui/wine_system.png and b/data_from_portwine/img/gui/wine_system.png differ
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 08430c19..9f8bfd33 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -116,97 +116,60 @@ check_process () {
}
export -f check_process
-try_download_no_mirror () {
- [[ -f "${PW_AUTOINSTALL_EXE}" ]] && try_remove_file "${PW_AUTOINSTALL_EXE}"
- PW_DOWNLOAD_FILE_NAME="$(basename $2)"
- if check_gamescope_session ; then
- $PW_TERM curl -f -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
- -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2"
- [ "$?" != 0 ] && return 1 || return 0
- fi
- set -o pipefail
- curl -f -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \
- tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
- "${pw_yad_v13_0}" --progress --percentage=0 --text="${loc_downloading} ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
- --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
- --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
- if [ "${PIPESTATUS[0]}" != 0 ] ; then
- print_error "Failed to download $PW_DOWNLOAD_FILE_NAME"
- return 1
- else
- print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
- return 0
- fi
-}
try_download () {
- PW_DOWNLOAD_FILE_NAME="$(basename $1)"
- if check_gamescope_session ; then
- $PW_TERM curl -f -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
- -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2"
- # $PW_TERM curl -f -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
- # -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" -o "$2"
- return 0
- fi
- [[ ! -f "${pw_yad_v13_0}" ]] && local pw_yad_v13_0="yad"
- set -o pipefail
- curl -f -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2" 2>&1 | \
- tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
- "${pw_yad_v13_0}" --progress --percentage=0 --text="${loc_downloading} ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
- --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
- --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
- if [ "${PIPESTATUS[0]}" != 0 ] ; then
- print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from GitHub."
- print_info "Try download ${PW_DOWNLOAD_FILE_NAME} from FTP"
- curl -f -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -L "ftp://171.22.215.18/archives/${PW_DOWNLOAD_FILE_NAME}" -o "$2" 2>&1 | \
- tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
- "${pw_yad_v13_0}" --progress --percentage=0 --text="${loc_downloading} ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
- --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
- --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
- if [ "${PIPESTATUS[0]}" != 0 ] ; then
- print_error "Failed to download ${PW_DOWNLOAD_FILE_NAME} from FTP."
- return 1
- fi
- fi
- try_remove_file "${PORT_WINE_TMP_PATH}/download_log"
- print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
- return 0
-}
+ local filename="$(basename "$1")"
+ local url="$url_cdn/$filename"
+ local dest="$2"
+ local silent="false"
+ local no_mirror="false"
+ case "$3" in
+ silent)
+ silent=true ;;
+ no_mirror)
+ no_mirror=true
+ url="$1" ;;
+ esac
-try_download_to_path () {
- PW_DOWNLOAD_FILE_NAME="$(basename $1)"
+ [[ ! -f "${pw_yad_v13_0}" ]] && local pw_yad_v13_0="yad"
+
+ # If gamescope session is active, use PW_TERM for downloading
if check_gamescope_session ; then
- $PW_TERM curl -f -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" \
- -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2/$PW_DOWNLOAD_FILE_NAME"
+ $PW_TERM curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \
+ -H 'Pragma: no-cache' -L "$url" -o "$dest"
[ "$?" != 0 ] && return 1 || return 0
fi
- set -o pipefail
- curl -f -# -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' \
- -H 'Pragma: no-cache' -L "$1" -o "$2/$PW_DOWNLOAD_FILE_NAME" 2>&1 | \
- tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
- "${pw_yad_v13_0}" --progress --percentage=0 --text="${loc_downloading} ${PW_DOWNLOAD_FILE_NAME}" --auto-close --no-escape \
- --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
- --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
- if [ "${PIPESTATUS[0]}" != 0 ] ; then
- print_error "Failed to download $PW_DOWNLOAD_FILE_NAME"
- return 1
- else
- print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
- return 0
- fi
-}
-try_download_silent () {
- PW_DOWNLOAD_FILE_NAME="$(basename $1)"
- curl -f -sS -A "Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)" -H 'Cache-Control: no-cache, no-store' -H 'Pragma: no-cache' -L "$1" -o "$2"
- if [ "$?" != 0 ] ; then
- print_error "Failed to download $PW_DOWNLOAD_FILE_NAME. Skipping."
- try_remove_file "$2"
- return 1
+ # Normal download
+ set -o pipefail
+ if [ "$silent" == "true" ] ; then
+ curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \
+ -H 'Pragma: no-cache' -L "$url" -o "$dest" 2>&1
else
- print_ok "File downloaded successfully: $PW_DOWNLOAD_FILE_NAME from $1"
- return 0
+ curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \
+ -H 'Pragma: no-cache' -L "$url" -o "$dest" 2>&1 | \
+ tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
+ "$pw_yad_v13_0" --progress --percentage=0 --text="${loc_downloading} $filename" --auto-close --no-escape \
+ --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
+ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
fi
+
+ if [ "${PIPESTATUS[0]}" != 0 ] ; then
+ if [[ "$no_mirror" != "true" ]] ; then
+ print_error "Failed to download $filename from $url, trying GITHUB mirror..."
+ url="$1"
+ curl -f -# -A 'Mozilla/5.0 (compatible; Konqueror/2.1.1; X11)' -H 'Cache-Control: no-cache, no-store' \
+ -H 'Pragma: no-cache' -L "$url" -o "$dest" 2>&1 | \
+ tr '\r' '\n' | sed -ur 's|[# ]+||g;s|.*=.*||g;s|.*|#Downloading at &\n&|g' | \
+ "$pw_yad_v13_0" --progress --percentage=0 --text="${loc_downloading} $filename" --auto-close --no-escape \
+ --auto-kill --center --text-align="center" --fixed --no-buttons --title "PortProton" --width=500 --height=90 \
+ --window-icon="$PW_GUI_ICON_PATH/portproton.svg" --borders=15
+ fi
+ [[ "${PIPESTATUS[0]}" != 0 ]] && print_error "Failed to download $filename from GITHUB. Skipping." && return 1
+ fi
+
+ print_ok "File downloaded successfully: $filename from $url"
+ return 0
}
create_new_dir () {
@@ -308,7 +271,7 @@ unpack_tar_zst () {
unset PW_ZSTD_PORT
pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
if command -v zstd &>/dev/null ; then
- tar -I zstd -xhvf "$1" -C "$2"
+ tar -I zstd -xhf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
else
@@ -320,11 +283,11 @@ unpack_tar_zst () {
unpack_tar_xz () {
if [[ "$3" == "silent" ]] ; then
- tar -Jxhvf "$1" -C "$2" && return 0 || return 1
+ tar -Jxhf "$1" -C "$2" && return 0 || return 1
else
set -o pipefail
pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
- tar -Jxhvf "$1" -C "$2"
+ tar -Jxhf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
fi
@@ -333,7 +296,7 @@ unpack_tar_xz () {
unpack_tar_gz () {
set -o pipefail
pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
- tar -xhzvf "$1" -C "$2"
+ tar -xhzf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
@@ -341,7 +304,7 @@ unpack_tar_gz () {
unpack_tar () {
set -o pipefail
pw_start_progress_bar_cover_block "${COVERS_PATH}/unpacking_${update_loc}.gif"
- tar -xhvf "$1" -C "$2"
+ tar -xhf "$1" -C "$2"
pw_stop_progress_bar_cover_block
[ "${PIPESTATUS[0]}" != 0 ] && print_error "File $1 unpacking error." && return 1 || return 0
}
@@ -450,14 +413,14 @@ init_wine_ver () {
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`
+ 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
- if [[ -z `ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}"` ]] ; then
+ if ls "${PORT_WINE_PATH}/data/dist/" | grep "${PW_WINE_USE}" ; then
if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
then export PW_WINE_USE=PROTON_LG
else export PW_WINE_USE=WINE_LG
@@ -474,20 +437,20 @@ init_wine_ver () {
export WINELOADER="${WINEDIR}/bin/wine"
export WINESERVER="${WINEDIR}/bin/wineserver"
if [[ -d "${WINEDIR}/files" && ! -d "${WINEDIR}/dist" ]] ; then
- for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g"` ; do
+ for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^files$//g" | sed -e "s/^version$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/files"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/files"
elif [[ ! -d "${WINEDIR}/files" && -d "${WINEDIR}/dist" ]] ; then
- for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g"` ; do
+ for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^dist$//g" | sed -e "s/^version$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
mv -f "${WINEDIR}/dist"/* "${WINEDIR}/"
rm -fr "${WINEDIR}/dist"
elif [ -f "${WINEDIR}/proton_dist.tar" ] ; then
unpack_tar "${WINEDIR}/proton_dist.tar" "${WINEDIR}/"
- for clear_dist_files in `ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g"` ; do
+ for clear_dist_files in $(ls "${WINEDIR}" | sed -e "s/^bin$//g" | sed -e "s/^lib$//g" | sed -e "s/^lib64$//g" | sed -e "s/^share$//g" | sed -e "s/^version$//g") ; do
rm -fr "${WINEDIR}/$clear_dist_files"
done
fi
@@ -638,8 +601,6 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
fi
done
- # drop portable: libssl 32-bit
- try_remove_file "${PW_PLUGINS_PATH}/portable/lib/lib32/libssl.so.1.1"
print_info "RUNTIME is enabled"
}
@@ -904,8 +865,8 @@ pw_check_and_download_dxvk_and_vkd3d () {
yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
- elif try_download_no_mirror "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
+ elif 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" no_mirror ; 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
@@ -934,8 +895,8 @@ pw_check_and_download_dxvk_and_vkd3d () {
yad_error_download && pw_check_and_download_dxvk_and_vkd3d || exit 1
fi
- elif try_download_no_mirror "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
+ elif 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" no_mirror ; 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
@@ -1007,7 +968,7 @@ pw_check_and_download_plugins () {
else
PW_NOTIFY_TEXT="Please wait for update PortProton"
pw_notify_send -u normal
- if try_download_silent "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" \
+ if try_download "github.com/Castro-Fidel/wine_builds/releases/download/plugins${PW_PLUGINS_VER}/plugins${PW_PLUGINS_VER}.tar.xz" silent \
"${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" ; then
if unpack_tar_xz "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz" "${PORT_WINE_TMP_PATH}" ; then
try_remove_file "${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}.tar.xz"
@@ -1197,18 +1158,18 @@ pw_port_update () {
if [ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ] ; then
echo "2022" > "${PORT_WINE_TMP_PATH}/scripts_ver"
fi
- export scripts_install_ver=`cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1`
+ export scripts_install_ver=$(cat "${PORT_WINE_TMP_PATH}/scripts_ver" | head -n 1)
print_info "Check update..."
- if curl -f -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
+ if curl -f -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
- URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine"
- URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
+ URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine"
+ URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz"
print_info "OK."
else
- if curl -f -s --list-only --connect-timeout 3 "https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
+ if curl -f -s --list-only --connect-timeout 3 "https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine/scripts/var" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
- URL_FOR_CHANGELOG="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/raw/master/data_from_portwine"
- URL_TO_PW_MASTER="https://gitlab.eterfund.ru/Castro-Fidel/PortWINE/-/archive/master/PortWINE-master.tar.gz"
+ URL_FOR_CHANGELOG="https://raw.githubusercontent.com/Castro-Fidel/PortWINE/master/data_from_portwine"
+ URL_TO_PW_MASTER="https://github.com/Castro-Fidel/PortWINE/archive/refs/heads/master.tar.gz"
print_info "OK."
else
print_error "Unable to determine the version on the server. Skip it..."
@@ -1246,7 +1207,7 @@ pw_port_update () {
echo "######################################################"
print_info "Update scripts..."
try_remove_file "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz"
- if try_download_no_mirror "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" ; then
+ if try_download "${URL_TO_PW_MASTER}" "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" no_mirror ; then
if unpack_tar_gz "${PORT_WINE_TMP_PATH}/PortWINE-master.tar.gz" "${PORT_WINE_TMP_PATH}"
then
create_new_dir "${PORT_WINE_TMP_PATH}/scripts_backup"
@@ -1287,7 +1248,7 @@ update_winetricks () {
|| [[ "$W_TRX_INT_VER" != "$W_TRX_EXT_VER" && ! -z "$W_TRX_EXT_VER" ]]
then
try_remove_file "${PORT_WINE_TMP_PATH}/winetricks"
- if try_download_no_mirror "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks" ; then
+ if try_download "${W_TRX_URL}" "${PORT_WINE_TMP_PATH}/winetricks" no_mirror ; then
W_TRX_INT_VER="$(cat "${PORT_WINE_TMP_PATH}/winetricks" | grep -i 'WINETRICKS_VERSION=' | sed 's/WINETRICKS_VERSION=//')" && print_info "Winetricks version in port has been updated (${W_TRX_INT_VER})"
chmod u+x "${PORT_WINE_TMP_PATH}/winetricks"
fi
@@ -2231,8 +2192,6 @@ pw_run () {
${PW_MANGOHUD_SLR} \
"${WINELOADER}" "$@" ${LAUNCH_PARAMETERS[@]}
wait_wineserver
-
- # ${PW_RUN_GAMESCOPE} \ !!!
fi
fi
}
@@ -2499,29 +2458,21 @@ pw_tray_icon () {
}
export -f tray_icon_click_exit
- if [[ "$PW_DESKTOP_THEME" == "dark" ]] ; then
- # --window-icon="$PW_GUI_ICON_PATH/portproton_tray.png" \
- "${pw_yad_v13_0}" --notification --no-middle \
- --image="$PW_GUI_ICON_PATH/portproton_tray_light.png" \
- --command="bash -c tray_icon_click" \
- --tooltip="PortProton" \
- --icon-size=32 --menu="| \
- ${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/wine_file.png"|| \
- ${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/wine_system.png"|| \
- ${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/history.png"|| \
- ${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/close.png"||" 2>/dev/null &
- else
- # --window-icon="$PW_GUI_ICON_PATH/portproton_tray.png" \
- "${pw_yad_v13_0}" --notification --no-middle \
- --image="$PW_GUI_ICON_PATH/portproton_tray_dark.png" \
- --command="bash -c tray_icon_click" \
- --tooltip="PortProton" \
- --icon-size=32 --menu="| \
- ${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/wine_file.png"|| \
- ${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/wine_system.png"|| \
- ${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/history.png"|| \
- ${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/close.png"||" 2>/dev/null &
+ if check_flatpak
+ then TRAY_ICON="$PW_GUI_ICON_PATH/portproton_tray_flatpak.svg"
+ elif [[ "$PW_DESKTOP_THEME" == "dark" ]]
+ then TRAY_ICON="$PW_GUI_ICON_PATH/portproton_tray_dark.svg"
+ else TRAY_ICON="$PW_GUI_ICON_PATH/portproton_tray_light.svg"
fi
+ "${pw_yad_v13_0}" --notification --no-middle \
+ --image="$TRAY_ICON" \
+ --command="bash -c tray_icon_click" \
+ --tooltip="PortProton" \
+ --icon-size=32 --menu="| \
+ ${loc_tray_winefile}!bash -c pw_tray_winefile!"$PW_GUI_ICON_PATH/wine_file.png"|| \
+ ${loc_tray_tascmng}!bash -c pw_tray_taskmgr!"$PW_GUI_ICON_PATH/wine_system.png"|| \
+ ${loc_tray_cangelog}!bash -c open_changelog!"$PW_GUI_ICON_PATH/history.png"|| \
+ ${loc_tray_force_exit} !bash -c tray_icon_click_exit!"$PW_GUI_ICON_PATH/close.png"||" 2>/dev/null &
return 0
}
@@ -2626,13 +2577,13 @@ pw_gui_for_edit_db () {
done
}
edit_db_field_read $@
- PW_WINDOWS_VER="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $1}'`"
- PW_DLL_INSTALL=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}'`
- WINEDLLOVERRIDES=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}'`
- LAUNCH_PARAMETERS=`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}'`
- CPU_LIMIT="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}'`"
- PW_GPU_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}'`"
- GAMESCOPE_ARGS="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}'`"
+ PW_WINDOWS_VER="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $1}')"
+ PW_DLL_INSTALL="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $2}')"
+ WINEDLLOVERRIDES="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $3}')"
+ LAUNCH_PARAMETERS="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $5}')"
+ CPU_LIMIT="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $7}')"
+ PW_GPU_USE="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $8}')"
+ GAMESCOPE_ARGS="$(cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $9}')"
# PW_AMD_VULKAN_USE="`cat "${PORT_WINE_TMP_PATH}/tmp_output_yad_fps_limit" | awk -F"%" '{print $10}'`"
if [[ "${CPU_LIMIT}" != "disabled" ]] ; then
@@ -2712,7 +2663,7 @@ gui_proton_downloader () {
fi
# PROTON_LG
- export PROTON_PW_GIT=($(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4))
+ export PROTON_PW_GIT=($(curl -s "$url_cdn/metainfo"))
try_remove_file "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
if [[ ! -z "${PROTON_PW_GIT}" ]] ; then
for PPWGIT in ${PROTON_PW_GIT[@]} ; do
@@ -2728,7 +2679,7 @@ gui_proton_downloader () {
/usr/bin/env bash -c ${pw_full_command_line[*]} &
exit 0
fi
- for INSTALLING_VERSION_IN_DIST in `ls "${PORT_WINE_PATH}/data/dist/"` ; do
+ for INSTALLING_VERSION_IN_DIST in $(ls "${PORT_WINE_PATH}/data/dist/") ; do
sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_ge_git"
sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_proton_pw_git"
sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PORT_WINE_TMP_PATH}/tmp_wine_kron4ek_git"
@@ -2816,7 +2767,8 @@ gui_proton_downloader () {
print_info "Download and install ${VERSION_WINE_GIT}..."
PW_WINE_ARCHIVE="$(echo ${URL_VERSION_PROTON_GIT} | awk -F'/' '{print $NF}' | awk -F'.tar' '{print $1}')"
- if try_download_to_path "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/" ; then
+ FILENAME="$(basename "${URL_VERSION_PROTON_GIT}")"
+ if try_download "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/$FILENAME" ; then
for archive_type in "gz" "xz" ; do
if [ -f "${PORT_WINE_PATH}/data/tmp/${PW_WINE_ARCHIVE}.tar.${archive_type}" ] ; then
if unpack_tar_${archive_type} "${PORT_WINE_PATH}/data/tmp/${PW_WINE_ARCHIVE}.tar.${archive_type}" "${PORT_WINE_PATH}/data/dist/" ; then
diff --git a/data_from_portwine/scripts/lang b/data_from_portwine/scripts/lang
index 412f182e..dc9a6b33 100755
--- a/data_from_portwine/scripts/lang
+++ b/data_from_portwine/scripts/lang
@@ -369,8 +369,8 @@ if [[ "${update_loc}" == "RUS" ]] ; then
export loc_gui_gpu_select="Выбрать видеокарту для запуска игры (в user.conf)"
export loc_gui_gpu_select_help="Выбор какая видеокарта будет использоваться для запуска игры (используется для всех запускаемых игр и программ в ${portname}.)"
- export loc_gui_check_new_wine="Проверяем новые версии WINE на GitHub"
- export loc_gui_check_new_wine_error="Не удается установить соединение с GitHub\nдля проверки новых версии WINE."
+ export loc_gui_check_new_wine="Проверяем новые версии WINE"
+ export loc_gui_check_new_wine_error="Не удается проверить новые версии WINE."
export loc_gui_set_new_wine="Выберите версию WINE для загрузки:"
export loc_gui_del_wine="Выберите версию WINE для удаления:"
export loc_gui_installed_wine="УСТАНОВЛЕННЫЕ"
@@ -783,8 +783,8 @@ A brief instruction:
export loc_gui_gpu_select="Choose a graphics card to run the game (in user.conf)"
export loc_gui_gpu_select_help="Select which video card will be used to run the game (used for all running games and programs in ${portname})"
- 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_check_new_wine="Check new version WINE"
+ export loc_gui_check_new_wine_error="Error: check wine."
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"
diff --git a/data_from_portwine/scripts/portwine_db/AliceMadnessReturns b/data_from_portwine/scripts/portwine_db/AliceMadnessReturns
new file mode 100644
index 00000000..6f616377
--- /dev/null
+++ b/data_from_portwine/scripts/portwine_db/AliceMadnessReturns
@@ -0,0 +1,13 @@
+#!/usr/bin/env bash
+#Author: vano
+#AliceMadnessReturns.exe
+#Rating=5
+#####################examples###########################
+export PW_WINDOWS_VER="10"
+export PW_NO_FSYNC="1"
+export PW_NO_ESYNC="1"
+export PW_USE_GSTREAMER="1"
+export PW_WINE_USE="PROTON_LG_8-25-2"
+export PW_FORCE_LARGE_ADDRESS_AWARE="1"
+
+gui_proton_downloader silent "$PW_WINE_USE"
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index f9cd672c..67914322 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -21,6 +21,7 @@ fi
export PW_START_PID="$$"
export NO_AT_BRIDGE=1
+export GDK_BACKEND="x11"
export pw_full_command_line=("$0" $*)
MISSING_DESKTOP_FILE=0
@@ -80,7 +81,7 @@ 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`
+ 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
@@ -97,7 +98,7 @@ try_force_link_dir "${PORT_WINE_PATH}/data/prefixes" "${PORT_WINE_PATH}"
orig_IFS="$IFS"
IFS=$'\n'
for pfx_dir in $(ls -1 "${PORT_WINE_PATH}/data/prefixes/") ; do
- pfx_dir_new=`echo "${pfx_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g`
+ pfx_dir_new=$(echo "${pfx_dir}" | awk '$1=$1' | sed -e s/[[:blank:]]/_/g)
if [[ ! -d "${PORT_WINE_PATH}/data/prefixes/${pfx_dir_new^^}" ]] ; then
mv -- "${PORT_WINE_PATH}/data/prefixes/$pfx_dir" "${PORT_WINE_PATH}/data/prefixes/${pfx_dir_new^^}"
fi
@@ -135,16 +136,13 @@ export PW_PLUGINS_PATH="${PORT_WINE_TMP_PATH}/plugins${PW_PLUGINS_VER}"
export PW_GUI_ICON_PATH="${PORT_WINE_PATH}/data/img/gui"
export PW_GUI_THEMES_PATH="${PORT_WINE_PATH}/data/themes"
-if [[ $(gsettings get org.gnome.desktop.interface color-scheme) == "'prefer-dark'" ]]
-then export PW_DESKTOP_THEME="dark"
-fi
-
. "${PORT_SCRIPTS_PATH}"/lang
export urlg="https://linux-gaming.ru/portproton/"
+export url_cdn="https://cdn.linux-gaming.ru"
export PW_WINELIB="${PORT_WINE_TMP_PATH}/libs${PW_LIBS_VER}"
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}/${portname}_ver" | head -n 1)
export WINETRICKS_DOWNLOADER="curl"
export USER_CONF="${PORT_WINE_PATH}/data/user.conf"
check_user_conf
@@ -174,6 +172,10 @@ else
echo 'export GUI_THEME="default"' >> "$USER_CONF"
fi
+if [[ $(gsettings get org.gnome.desktop.interface color-scheme) == "'prefer-dark'" ]]
+then export PW_DESKTOP_THEME="dark"
+fi
+
if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] \
&& [[ ! -f "/tmp/portproton.lock" ]]
then
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index 304b58cb..f2622f29 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=2274
+#SCRIPTS_NEXT_VERSION=2275
########################################################################
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"
@@ -18,8 +18,7 @@ export PW_FORCE_USE_VSYNC="2"
export PW_USE_TERMINAL="0"
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
-export PW_LIBS_VER="_v47"
-export GDK_BACKEND="x11"
+export PW_LIBS_VER="_v48"
export PW_USE_GSTREAMER="1"
export PW_USE_D3D_EXTRAS="1"
export PW_PREFIX_NAME="DEFAULT"