Compare commits

...

30 Commits

Author SHA1 Message Date
Mikhail Tergoev
565324baf3 Merge branch 'devel' 2025-04-11 12:51:18 +03:00
Mikhail Tergoev
a9666512f2 STABLE: Scripts version 2411 2025-04-11 12:50:01 +03:00
Mikhail Tergoev
49c577f586 updated add_in_steam 2025-04-11 12:49:46 +03:00
Mikhail Tergoev
8752a56cbb fixed borders for HYP and Crossover 2025-04-09 14:03:02 +03:00
Mikhail Tergoev
1f8f1bc918 fixed EGS 2025-04-09 13:33:24 +03:00
Mikhail Tergoev
f42c473c2b Scripts version 2409 2025-04-08 19:00:48 +03:00
Mikhail Tergoev
e076199ee4 remove user.conf from game menu 2025-04-08 18:56:24 +03:00
Mikhail Tergoev
80cde6c82e updated WINE_LG to 10-5 2025-04-08 18:55:30 +03:00
Mikhail Tergoev
8f141dd84c Merge branch 'Htylol-fixes_for_pw_exit_tray' into devel 2025-04-08 17:39:17 +03:00
Mikhail Tergoev
96db88af50 Merge branch 'fixes_for_pw_exit_tray' of github.com:Htylol/PortWINE into Htylol-fixes_for_pw_exit_tray 2025-04-08 17:39:09 +03:00
Mikhail Tergoev
b4c6236fd2 Merge branch 'Htylol-setup_improved' into devel 2025-04-08 17:38:37 +03:00
Mikhail Tergoev
ea5fb5b3cc Merge branch 'setup_improved' of github.com:Htylol/PortWINE into Htylol-setup_improved 2025-04-08 17:38:25 +03:00
Mikhail Tergoev
a1d1c5880e updated libs_v53 2025-04-08 17:05:28 +03:00
Mikhail Tergoev
c39a8c4d89 fixed for Kron4ek wine, again =) 2025-04-08 17:04:56 +03:00
Mikhail Tergoev
655bb2320d Scripts version 2408 2025-04-08 14:20:22 +03:00
Mikhail Tergoev
db6b915aba fixed news wine from kron4ek 2025-04-08 14:15:12 +03:00
Htylol
7cce352f62 setup.ppdb does not work for all installers 2025-04-08 13:52:15 +05:00
Htylol
9cea076f5d Fixes pw_exit_tray 2025-04-08 00:41:12 +05:00
Mikhail Tergoev
4e960fe086 Scripts version 2407 2025-04-07 21:30:43 +03:00
Mikhail Tergoev
64b6d70e8b Merge branch 'alex2844-findLocalSteamAppId' into devel 2025-04-07 21:18:59 +03:00
Mikhail Tergoev
f20d73b84a Merge branch 'findLocalSteamAppId' of github.com:alex2844/PortWINE into alex2844-findLocalSteamAppId 2025-04-07 21:18:51 +03:00
Mikhail Tergoev
f302b594d6 Merge branch 'Boria138-dash' into devel 2025-04-07 21:17:58 +03:00
Mikhail Tergoev
cfed884fab Merge branch 'dash' of github.com:Boria138/PortWINE into Boria138-dash 2025-04-07 21:17:49 +03:00
Mikhail Tergoev
7d9a134714 Merge branch 'Htylol-drop_eval_translations' into devel 2025-04-07 21:15:47 +03:00
Mikhail Tergoev
ebc76216e8 Merge branch 'drop_eval_translations' of github.com:Htylol/PortWINE into Htylol-drop_eval_translations 2025-04-07 21:15:36 +03:00
Mikhail Tergoev
4322fb838a updated PROTON_LG, DXVK and VKD3D 2025-04-07 21:14:06 +03:00
Htylol
280c548149 Dropped eval_translations, repair gamescope settings 2025-04-07 19:53:03 +05:00
Boris Yumankulov
798a18973f
Use yad tray if using dash shell 2025-04-07 12:43:30 +05:00
Alex Smith
bf9cfadb9b index 2025-03-31 02:23:02 +05:00
Alex Smith
b58d7d8b6a find local SteamAppId 2025-03-31 02:12:06 +05:00
18 changed files with 234 additions and 166 deletions

@ -2,6 +2,36 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2411### / stable / Date: 11.04.2025 / Download update size: 280 megabytes
* cumulative update to the stable version of PortProton scripts
###Scripts version 2410### / Date: 11.04.2025 / Download update size: 4 megabytes
* fixed installation/update for "Epic Games Launcher"
* fixed disabling of extra frame for "HoYoPlay" and "Crossout" launchers
###Scripts version 2409### / Date: 08.04.2025 / Download update size: 380 megabytes
* updated WINE_LG to version "10-5"
* updated container library package: libs_v53
- pressure-vessel 0.20250122.0
- steam-runtime-sniper 3.0.20250210.116596
* improved fix for new wine versions by Kron4ek (need to delete and re-download the required wine version)
* additional improvements to the tray function (thanks to Htylol)
* added a unified condition for better detection of installation files instead of Setup.ppdb (thanks to Htylol)
* removed the global settings button from the menu when starting the game
###Scripts version 2408### / Date: 08.04.2025 / Download update size: 4 megabytes
* fixed the work of new versions of Wine from Kron4ek
* fixed settings file for the game "Kingdom Come: Deliverance II"
###Scripts version 2407### / Date: 07.04.2025 / Download update size: 250 megabytes
* PROTON_LG updated to version "9-27"
* updated versions:
- DXVK_GIT "2.6-65" (together with dxvk-nvapi)
- VKD3D_GIT "1.1-4511" (together with vkd3d-shader)
* STEAM_APP_ID from ppdb is used to determine SteamAppId, if it is missing, then steam_appid (and similar) is searched for in the game directory (thanks to alex2844)
* interface translation functions are improved (thanks to Htylol)
* tray operation is fixed for systems using "dash" (thanks to Boria138)
###Scripts version 2406### / stable / Date: 22.03.2025 / Download update size: 4 megabytes
* cumulative update to the stable version of PortProton scripts

@ -2,6 +2,36 @@
-----------------------------------------
История изменений:
###Scripts version 2411### / stable / Дата: 11.04.2025 / Размер скачиваемого обновления: 380 мегабайт
* кумулятивное обновление стабильной версии скриптов PortProton
###Scripts version 2410### / Дата: 11.04.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена установка/обновление "Epic Games Launcher"
* исправлено отключение лишней рамки для лончеров "HoYoPlay" и "Crossout"
###Scripts version 2409### / Дата: 08.04.2025 / Размер скачиваемого обновления: 380 мегабайт
* обновлен WINE_LG до версии "10-5"
* обновлен пакет библиотек контейнера: libs_v53
- pressure-vessel 0.20250122.0
- steam-runtime-sniper 3.0.20250210.116596
* доработано исправление работы новых версий wine от Kron4ek (необходимо удалить и заново перекачать нужную версию wine)
* дополнительные улучшения функции трея (спасибо Htylol)
* за место Setup.ppdb добавлено унифицированное условие для лучшего определения установочных файлов (спасибо Htylol)
* удалена кнопка глобальных настроек из меню при запуске игры
###Scripts version 2408### / Дата: 08.04.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена работа новых версий wine от Kron4ek
* исправлен файл настроек для игры "Kingdom Come: Deliverance II"
###Scripts version 2407### / Дата: 07.04.2025 / Размер скачиваемого обновления: 250 мегабайт
* обновлен PROTON_LG до версии "9-27"
* обновлены версии:
- DXVK_GIT "2.6-65" (совместно с dxvk-nvapi)
- VKD3D_GIT "1.1-4511" (совместно vkd3d-shader)
* для определения SteamAppId используется STEAM_APP_ID из ppdb, если отсутствует - то ищется steam_appid (и подобные) в директории с игрой (спасибо alex2844)
* улучшены функции перевода интерфейса (спасибо Htylol)
* исправлена работа трея для систем использующих "dash" (спасибо Boria138)
###Scripts version 2406### / stable / Дата: 22.03.2025 / Размер скачиваемого обновления: 4 мегабайта
* кумулятивное обновление стабильной версии скриптов PortProton
@ -20,8 +50,8 @@
###Scripts version 2402### / Дата: 13.03.2025 / Размер скачиваемого обновления: 15 мегабайт
* исправление меню глобальных настроек (user.conf) (спасибо Htylol)
* обновлены версии:
* DXVK_GIT "2.5.3-299" (совместно с dxvk-nvapi)
* VKD3D_GIT "1.1-4478" (совместно vkd3d-shader)
- DXVK_GIT "2.5.3-299" (совместно с dxvk-nvapi)
- VKD3D_GIT "1.1-4478" (совместно vkd3d-shader)
###Scripts version 2401### / Дата: 07.03.2025 / Размер скачиваемого обновления: 4 мегабайта
* HOTFIX: переключения веток DEVEL - STABLE от Htylol

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-20 21:49+0300\n"
"POT-Creation-Date: 2025-04-07 19:38+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@ -1300,6 +1300,13 @@ msgstr ""
msgid "Change settings gamescope for"
msgstr ""
msgid "Gamescope is not detected on the system, to install it, run the "
"command in the terminal"
msgstr ""
msgid "Can be selected and copied"
msgstr ""
msgid "<b>Gamescope is not detected on the system, please contact the "
"manufacturer of your distribution\\nor search the Internet for "
"information on how to install gamescope on your system.</b>"

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-20 21:49+0300\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"POT-Creation-Date: 2025-04-07 19:32+0500\n"
"PO-Revision-Date: 2025-04-07 19:35+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es_ES\n"
@ -1689,6 +1689,16 @@ msgstr ""
msgid "Change settings gamescope for"
msgstr "Cambiar ajustes gamescope para"
msgid ""
"Gamescope is not detected on the system, to install it, run the command in "
"the terminal"
msgstr ""
"Gamescope no se detecta en el sistema, para instalarlo, ejecute el comando "
"en el terminal"
msgid "Can be selected and copied"
msgstr "Se puede seleccionar y copiar"
msgid ""
"<b>Gamescope is not detected on the system, please contact the manufacturer "
"of your distribution\\nor search the Internet for information on how to "
@ -2183,8 +2193,8 @@ msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid ""
#~ "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
#~ msgstr ""
#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar.\\n"
#~ "\\¿Quieres reiniciar STEAM ahora?"
#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar."
#~ "\\n\\¿Quieres reiniciar STEAM ahora?"
#~ msgid "Restarting STEAM... Please wait."
#~ msgstr "Restarting STEAM... Please wait."
@ -2192,17 +2202,6 @@ msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid "Please wait. downloading covers for"
#~ msgstr "Por favor, espera. Descargando portadas para"
#~ msgid ""
#~ "<b>Gamescope is not detected on the system, to install it, run the "
#~ "command in the terminal:\\nflatpak install -y runtime/org.freedesktop."
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Can be "
#~ "selected and copied)</b>"
#~ msgstr ""
#~ "<b>Gamescope no se detecta en el sistema, para instalarlo, ejecute el "
#~ "comando en el terminal:\\n flatpak install -y runtime/org.freedesktop."
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n (Se puede "
#~ "seleccionar y copiar)</b>"
#, sh-format
#~ msgid ""
#~ "PortProton v. ${install_ver}\n"

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-20 21:49+0300\n"
"PO-Revision-Date: 2025-03-20 21:50+0300\n"
"POT-Creation-Date: 2025-04-07 19:32+0500\n"
"PO-Revision-Date: 2025-04-07 19:33+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.5\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.4\n"
msgid ""
"A running PortProton session was detected.\\nDo you want to end the previous "
@ -1677,6 +1677,16 @@ msgstr ""
msgid "Change settings gamescope for"
msgstr "Изменить настройки Gamescope для"
msgid ""
"Gamescope is not detected on the system, to install it, run the command in "
"the terminal"
msgstr ""
"Gamescope не найден в системе, для его установки выполните команду в "
"терминале"
msgid "Can be selected and copied"
msgstr "Можно выделить и скопировать"
msgid ""
"<b>Gamescope is not detected on the system, please contact the manufacturer "
"of your distribution\\nor search the Internet for information on how to "
@ -2171,17 +2181,6 @@ msgstr "БИБЛИОТЕКИ"
#~ msgid "Please wait. downloading covers for"
#~ msgstr "Пожалуйста, подождите. Загрузка обложек для"
#~ msgid ""
#~ "<b>Gamescope is not detected on the system, to install it, run the "
#~ "command in the terminal:\\nflatpak install -y runtime/org.freedesktop."
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Can be "
#~ "selected and copied)</b>"
#~ msgstr ""
#~ "<b>Gamescope не найден в системе, для его установки выполните команду в "
#~ "терминале:\\nflatpak install -y runtime/org.freedesktop.Platform."
#~ "VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Данный текст можно "
#~ "выделить и скопировать)</b>"
#, sh-format
#~ msgid ""
#~ "PortProton v. ${install_ver}\n"
@ -2353,9 +2352,6 @@ msgstr "БИБЛИОТЕКИ"
#~ msgid "MIT License"
#~ msgstr "Лицензия Массачусетского технологического института (MIT License)"
#~ msgid "(Can be selected and copied)"
#~ msgstr "(можно выделить и скопировать)"
#~ msgid "Copyright"
#~ msgstr "Авторские права"

@ -51,17 +51,12 @@ getAppExe() {
getAppTarget() {
exe=$(getAppExe "$1")
if [[ -n "${exe}" ]]; then
if [[ "${exe}" =~ .sh$ ]]; then
parseSteamTargetExe "${exe}"
else
echo "${exe}";
fi
fi
[[ -n "${exe}" ]] && parseSteamTargetExe "${exe}"
}
getSteamGameId() {
printf "%u\n" $(($1 << 32 | 0x02000000))
# printf "%u\n" $(($1 << 32 | 0x02000000))
printf "%u\n" $(($1 * 4294967296 + 0x02000000))
}
getAppId() {
@ -73,28 +68,46 @@ getSteamId() {
local cache_file="${PORT_WINE_TMP_PATH:-/tmp}/steamid_cache.json"
local applist_cache_file="${PORT_WINE_TMP_PATH:-/tmp}/steamapplist_cache.json"
[[ -n "${1:-}" ]] && NOSTAPPNAME="$1"
[[ -z "${NOSTAPPNAME}" ]] && return 1
if [[ -z "${SteamIds:-}" ]] && [[ -f "${cache_file}" ]]; then
SteamIds=$(<"${cache_file}")
fi
if [[ -n "${SteamIds:-}" ]] && jq -e --arg key "${NOSTAPPNAME}" 'has($key)' <<< "${SteamIds}" > /dev/null; then
if [[ -n "${1:-}" ]] && [[ -n "${SteamIds:-}" ]] && jq -e --arg key "${NOSTAPPNAME}" 'has($key)' <<< "${SteamIds}" > /dev/null; then
SteamAppId=$(jq -r --arg key "${NOSTAPPNAME}" '.[$key]' <<< "${SteamIds}")
else
if [[ -n "${1:-}" ]] && [[ "${USE_STEAMGRIDDB:-1}" == "1" ]]; then
getSteamGridDBId "${NOSTAPPNAME}" > /dev/null
if [[ -n "${2:-}" ]]; then
NOSTAPPPATH="$2"
[[ -f "${NOSTAPPPATH}.ppdb" ]] && source "${NOSTAPPPATH}.ppdb"
fi
if [[ ${SteamGridDBTypeSteam} == true ]]; then
SRES=$(curl -Ls --connect-timeout 5 -m 10 -e "https://www.steamgriddb.com/game/${SteamGridDBId}" "https://www.steamgriddb.com/api/public/game/${SteamGridDBId}")
if jq -e ".success == true" <<< "${SRES}" > /dev/null 2>&1; then
SteamAppId="$(jq -r '.data.platforms.steam.id' <<< "${SRES}")"
[[ -n "${STEAM_APP_ID:-}" ]] && SteamAppId="${STEAM_APP_ID}"
if [[ -z "${SteamAppId:-}" ]] && [[ -n "${NOSTAPPPATH:-}" ]]; then
local paths=("steam_appid.txt" "steam_emu.ini" "steam_api.ini" "steam_api64.ini")
local conditions=$(printf " -o -name %q" "${paths[@]}")
local file=$(find "$(dirname "${NOSTAPPPATH}")" -type f \( ${conditions# -o} \) -print -quit 2>/dev/null)
if [[ -n "${file}" ]]; then
if [[ "${file}" == *"steam_appid.txt" ]]; then
SteamAppId=$(cat "${file}" | tr -d '\r\n')
else
SteamAppId=$(grep -i "^AppId=" "${file}" | cut -d'=' -f2 | head -1 | tr -d '\r\n')
fi
fi
elif [[ "${USE_STEAMGRIDDB:-1}" == "0" ]]; then
if [[ ! -f "${applist_cache_file}" ]] || [[ $(find "${applist_cache_file}" -mmin +1440) ]]; then
applist_data=$(curl -s --connect-timeout 5 "https://api.steampowered.com/ISteamApps/GetAppList/v2/")
[[ -n "${applist_data}" ]] && echo "${applist_data}" > "${applist_cache_file}"
else
applist_data=$(<"${applist_cache_file}")
fi
if [[ -z "${SteamAppId:-}" ]]; then
[[ "${USE_STEAMGRIDDB:-1}" == "1" ]] && getSteamGridDBId "${NOSTAPPNAME}" > /dev/null
if [[ ${SteamGridDBTypeSteam} == true ]]; then
SRES=$(curl -Ls --connect-timeout 5 -m 10 -e "https://www.steamgriddb.com/game/${SteamGridDBId}" "https://www.steamgriddb.com/api/public/game/${SteamGridDBId}")
if jq -e ".success == true" <<< "${SRES}" > /dev/null 2>&1; then
SteamAppId="$(jq -r '.data.platforms.steam.id' <<< "${SRES}")"
fi
elif [[ "${USE_STEAMGRIDDB:-1}" == "0" ]]; then
if [[ ! -f "${applist_cache_file}" ]] || [[ $(find "${applist_cache_file}" -mmin +1440) ]]; then
applist_data=$(curl -s --connect-timeout 5 "https://api.steampowered.com/ISteamApps/GetAppList/v2/")
[[ -n "${applist_data}" ]] && echo "${applist_data}" > "${applist_cache_file}"
else
applist_data=$(<"${applist_cache_file}")
fi
[[ -n "${applist_data}" ]] && SteamAppId=$(jq --arg name "${NOSTAPPNAME,,}" '.applist.apps[] | select(.name == $name) | .appid' <<< "${applist_data,,}")
fi
[[ -n "${applist_data}" ]] && SteamAppId=$(jq --arg name "${NOSTAPPNAME,,}" '.applist.apps[] | select(.name == $name) | .appid' <<< "${applist_data,,}")
fi
SteamIds=$(jq --arg key "${NOSTAPPNAME}" --arg value "${SteamAppId:-}" '. + {($key): $value}' <<< "${SteamIds:-$(jq -n '{}')}")
echo "${SteamIds}" > "${cache_file}"
@ -178,11 +191,7 @@ getUserPath() {
}
getSteamPath() {
local paths=(
"${HOME}/.steam/steam"
"${HOME}/.local/share/Steam"
"${HOME}/.var/app/com.valvesoftware.Steam/.steam/steam"
)
local paths=("${HOME}/.steam/steam" "${HOME}/.local/share/Steam" "${HOME}/.var/app/com.valvesoftware.Steam/.steam/steam")
for path in "${paths[@]}"; do
if [[ -d "${path}" ]]; then
STEAM_BASE_FOLDER="${path}"
@ -237,7 +246,8 @@ listSteamGames() {
appid="${name}"
name=$(basename "${exe}" .sh)
else
appid="$(getSteamId "${name}")"
path="$(parseSteamTargetExe "${exe}")"
appid="$(getSteamId "${name}" "${path}")"
[[ -z "${appid}" ]] && appid="0"
fi
gid="$(getSteamGameId $id)"
@ -302,13 +312,15 @@ parseSteamShortcutEntryLaunchOptions() {
}
parseSteamTargetExe() {
grep -E '^[^# ]*?(flatpak|start\.sh)' "$1" | head -n 1 | sed 's/ "\$@"//' | awk -F'"' '{print $(NF-1)}'
if [[ "$1" =~ .sh$ ]]; then
grep -E '^[^# ]*?(flatpak|start\.sh)' "$1" | head -n 1 | sed 's/ "\$@"//' | awk -F'"' '{print $(NF-1)}'
fi
}
restartSteam() {
if [[ "${PW_SKIP_RESTART_STEAM}" != 1 ]] && pgrep -i steam &>/dev/null ; then
if yad_question "${translations[For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?]}" ; then
pw_start_progress_bar_block "${translations[Restarting STEAM... Please wait.]}"
if yad_question "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?" ; then
pw_start_progress_bar_block "Restarting STEAM... Please wait."
kill -s SIGTERM $(pgrep -a steam) &>/dev/null
while pgrep -i steam &>/dev/null ; do
sleep 0.5
@ -333,9 +345,6 @@ downloadImage() {
}
downloadImageSteam() {
if [[ -z "${SteamAppId}" ]]; then
getSteamId > /dev/null
fi
if [[ -n "${SteamAppId}" ]]; then
downloadImage "https://cdn.cloudflare.steamstatic.com/steam/apps/${SteamAppId}/$1" "$2"
else
@ -363,16 +372,22 @@ downloadImageSteamGridDB() {
}
addGrids() {
[[ -z "${SteamGridDBId}" ]] && getSteamGridDBId "${name_desktop}" > /dev/null
if [[ -z "${SteamAppId}" ]] && [[ "${USE_STEAMGRIDDB:-1}" == "0" ]]; then
local AppId="${NOSTAPPID:-0}"
local in=("header.jpg" "library_600x900_2x.jpg" "library_hero.jpg" "logo.png")
local out=("${AppId}.jpg" "${AppId}"p".jpg" "${AppId}"_hero".jpg" "${AppId}"_logo".png")
local gtype=("grids" "grids" "heroes" "logos")
local mimes=("image/jpeg" "image/jpeg" "image/jpeg" "image/png")
local dims=("460x215,920x430" "600x900,660x930" "" "")
if [[ -z "${SteamGridDBId}" ]] && [[ -z "${SteamAppId}" ]]; then
getSteamId > /dev/null
fi
if [[ -n "${SteamGridDBId}" ]] || [[ -n "${SteamAppId}" ]]; then
create_new_dir "${STCFGPATH}/grid"
downloadImageSteamGridDB "grids" "${NOSTAPPID:-0}.jpg" "mimes=image/jpeg" "dimensions=460x215,920x430" || downloadImageSteam "header.jpg" "${NOSTAPPID:-0}.jpg" || echo "Failed to load header.jpg"
downloadImageSteamGridDB "grids" "${NOSTAPPID:-0}p.jpg" "mimes=image/jpeg" "dimensions=600x900,660x930" || downloadImageSteam "library_600x900_2x.jpg" "${NOSTAPPID:-0}p.jpg" || echo "Failed to load library_600x900_2x.jpg"
downloadImageSteamGridDB "heroes" "${NOSTAPPID:-0}_hero.jpg" "mimes=image/jpeg" || downloadImageSteam "library_hero.jpg" "${NOSTAPPID:-0}_hero.jpg" || echo "Failed to load library_hero.jpg"
downloadImageSteamGridDB "logos" "${NOSTAPPID:-0}_logo.png" "mimes=image/png" || downloadImageSteam "logo.png" "${NOSTAPPID:-0}_logo.png" || echo "Failed to load logo.png"
for i in "${!in[@]}"; do
downloadImageSteam "${in[${i}]}" "${out[${i}]}" || \
downloadImageSteamGridDB "${gtype[${i}]}" "${out[${i}]}" ${mimes[${i}]:+"mimes=${mimes[${i}]}"} ${dims[${i}]:+"dimensions=${dims[${i}]}"} || \
echo "Failed to load ${in[${i}]}"
done
else
echo "Game is not found"
fi
@ -474,6 +489,7 @@ addNonSteamGame() {
if [[ -n "${SCPATH}" ]]; then
[[ -z "${NOSTSHPATH}" ]] && NOSTSHPATH="${STEAM_SCRIPTS}/${name_desktop}.sh"
NOSTAPPNAME="${name_desktop}"
NOSTAPPPATH="${portwine_exe}"
NOSTAPPID=$(getAppId "${NOSTSHPATH}")
if [[ ! -f "${NOSTSHPATH}" ]]; then
create_new_dir "${STEAM_SCRIPTS}"
@ -482,7 +498,7 @@ addNonSteamGame() {
export LD_PRELOAD=
export START_FROM_STEAM=1
export START_FROM_FLATPAK=$(check_flatpak && echo 1 || echo 0)
"${PORT_SCRIPTS_PATH}/start.sh" "${portwine_exe}" "\$@"
"${PORT_SCRIPTS_PATH}/start.sh" "${NOSTAPPPATH}" "\$@"
EOF
chmod u+x "${NOSTSHPATH}"
fi
@ -498,7 +514,7 @@ addNonSteamGame() {
fi
if [[ "${USE_STEAMAPPID_AS_NAME:-0}" == "1" ]]; then
SteamAppId=$(getSteamId "${NOSTAPPNAME}")
getSteamId > /dev/null
[[ -n "${SteamAppId}" ]] && NOSTAPPNAME="${SteamAppId}"
fi
@ -506,7 +522,7 @@ addNonSteamGame() {
if [[ "${DOWNLOAD_STEAM_GRID}" == "1" ]] ; then
NOSTAPPNAME="${name_desktop}"
pw_start_progress_bar_block "${translations[Please wait. downloading covers for]} ${NOSTAPPNAME}"
pw_start_progress_bar_block "Please wait. downloading covers for ${NOSTAPPNAME}"
addGrids
pw_stop_progress_bar
fi

@ -203,8 +203,7 @@ generate_pot () {
local FILES_FOR_GETTEXT i
FILES_FOR_GETTEXT=(functions_helper start.sh setup.sh add_in_steam.sh)
for i in "${FILES_FOR_GETTEXT[@]}" ; do
sed -e 's/{translations\[/(gettext \"/g' -e 's/]}/")/g' -e 's/eval_translations/gettext/g' \
"${PORT_SCRIPTS_PATH}/$i" > "${PORT_SCRIPTS_PATH}/${i}_tmp"
sed -e 's/{translations\[/(gettext \"/g' -e 's/]}/")/g' "${PORT_SCRIPTS_PATH}/$i" > "${PORT_SCRIPTS_PATH}/${i}_tmp"
done
#Когда присходит предупреждение: синтаксис $"..." запрещен по соображениям безопасности; используйте eval_gettext
#и ругается на строку в которой нет перевода, можно использовать sed -i '//d' и убрать эту строку
@ -240,15 +239,6 @@ generate_pot () {
}
export -f generate_pot
eval_translations () {
# Для того чтобы раскрывать переменную уже после создания массива
# Вместо {translations[\$TEST text]} нужно (eval_translations "\$%TEST% text" "TEST=test"), перевод должен быть с %% тоже
# В остальных случаях можно использовать {translations[\$TEST text]} ,но переменную нужно обьявлять до создания массива
# до source "${PW_CACHE_LANG_PATH}/$LANGUAGE" или можно использовать команды {translations[\$(cat file.txt) text]}
# но тогда выполнение команды будет происходить во время создания массива всегда, а не там где это требуется
echo "${translations[$1]//\$*"%"/${2//*=/}}"
}
create_translations () {
local po_file msgid msgstr
[[ ! -d $PW_CACHE_LANG_PATH ]] && create_new_dir "$PW_CACHE_LANG_PATH"
@ -1662,10 +1652,9 @@ init_wine_ver () {
if [[ -d "${WINEDIR}" ]] ; then
[[ ! -f "${WINEDIR}/version" ]] && echo "${PW_WINE_USE}" > "${WINEDIR}/version"
if [[ ! -d "${WINEDIR}/lib64/" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/wine"
mv -f "${WINEDIR}/lib/wine/x86_64-unix" "${WINEDIR}/lib64/wine/"
mv -f "${WINEDIR}/lib/wine/x86_64-windows" "${WINEDIR}/lib64/wine/"
if [[ ! -d "${WINEDIR}/lib64/wine" ]] && [[ -d "${WINEDIR}/lib/wine/x86_64-unix" ]] ; then
create_new_dir "${WINEDIR}/lib64/"
try_force_link_dir "${WINEDIR}/lib/wine/" "${WINEDIR}/lib64/"
fi
for mono_gecko_chk in "mono" "gecko" ; do
@ -1697,14 +1686,16 @@ init_wine_ver () {
fi
fi
export WINEDLLPATH="${WINEDIR}/lib64/wine:${WINEDIR}/lib/wine"
if [[ -d "${PATH_TO_GAME}" ]] ; then
export WINEDLLPATH+=":${PATH_TO_GAME}"
fi
WINEDLLPATH="${WINEDIR}/lib/wine"
[[ ! -L "${WINEDIR}/lib64/wine" ]] && WINEDLLPATH+=":${WINEDIR}/lib64/wine"
[[ -d "${PATH_TO_GAME}" ]] && WINEDLLPATH+=":${PATH_TO_GAME}"
export WINEDLLPATH
fi
if ! check_flatpak ; then
export WINE_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib"
WINE_LIBRARY_PATH="${WINEDIR}/lib"
[[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] && WINE_LIBRARY_PATH+=":${WINEDIR}/lib64"
export WINE_LIBRARY_PATH
fi
export MEDIACONV_BLANK_VIDEO_FILE="${WINEDIR}"/share/media/blank.mkv
@ -1941,18 +1932,10 @@ pw_kill_autostart () {
export -f pw_kill_autostart
pw_exit_tray () {
if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then
if [[ -n "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ]] ; then
kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')"
fi
else
if [[ -n "$(pgrep -a tray_gui_pp)" ]] ; then
kill -s SIGUSR1 $(pgrep -a tray_gui_pp) 2>/dev/null
fi
fi
if [[ -n "$(pgrep -a yad_gui_pp)" ]] ; then
kill -s SIGUSR1 $(pgrep -a yad_gui_pp) 2>/dev/null
fi
read -r -a PGREP_TRAY_GUI_PP < <(pgrep -a tray_gui_pp)
[[ -n ${PGREP_TRAY_GUI_PP[0]} ]] && kill -s SIGUSR1 "${PGREP_TRAY_GUI_PP[0]}" 2>/dev/null
read -r -a PGREP_YAD_GUI_PP < <(pgrep -a yad_gui_pp)
[[ -n ${PGREP_YAD_GUI_PP[0]} ]] && kill -s SIGUSR1 "${PGREP_YAD_GUI_PP[0]}" 2>/dev/null
}
export -f pw_exit_tray
@ -4335,7 +4318,9 @@ pw_run () {
if file "$portwine_exe" | grep -q "x86-64" ; then
print_info "file: $portwine_exe is x86-64, force set WINE_LARGE_ADDRESS_AWARE to 0"
export WINE_LARGE_ADDRESS_AWARE="0"
export WINELOADER="${WINELOADER}64"
if [[ -f "${WINELOADER}64" ]]
then export WINELOADER="${WINELOADER}64"
fi
else
print_info "file: $portwine_exe not x86-64, force set WINE_LARGE_ADDRESS_AWARE to 1"
export WINE_LARGE_ADDRESS_AWARE="1"
@ -4793,7 +4778,7 @@ open_changelog () {
export -f open_changelog
pw_tray_icon () {
if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then
if [[ "$XDG_SESSION_TYPE" == "tty" || "$(readlink -f /bin/sh)" == *"/dash" ]] ; then
if [[ -n "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')" ]] ; then
kill -s SIGUSR1 "$(pgrep -a yad_gui_pp | grep "\--notification" | awk '{print $1}')"
fi
@ -4819,7 +4804,7 @@ pw_tray_icon () {
}
export -f tray_icon_click_exit
if [[ "$XDG_SESSION_TYPE" == "tty" ]] ; then
if [[ "$XDG_SESSION_TYPE" == "tty" || "$(readlink -f /bin/sh)" == *"/dash" ]] ; then
tray_icon_click () {
echo ""
}
@ -5881,19 +5866,21 @@ gui_gamescope () {
PW_GS_EXPOSE_WAYLAND PW_GS_REALTIME_SCHEDULING
)
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--mangoapp' ]] && add_to_array "PW_GS_LIST" PW_GS_MANGOAPP
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--backend' ]] && add_to_array "PW_GS_LIST" PW_GS_BACKEND_SDL
check_wayland_session && add_to_array "PW_GS_LIST" PW_GS_SDL_VIDEODRIVER_X11
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--cursor-scale-height' ]] && add_to_array "PW_GS_LIST" PW_GS_CURSOR_SCALE_HEIGHT
if [[ $GAMESCOPE_INSTALLED == "1" ]] ; then
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--mangoapp' ]] && add_to_array "PW_GS_LIST" PW_GS_MANGOAPP
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--backend' ]] && add_to_array "PW_GS_LIST" PW_GS_BACKEND_SDL
check_wayland_session && add_to_array "PW_GS_LIST" PW_GS_SDL_VIDEODRIVER_X11
[[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '--cursor-scale-height' ]] && add_to_array "PW_GS_LIST" PW_GS_CURSOR_SCALE_HEIGHT
#debian bookworm fix
if [[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '-U, --fsr-upscaling' ]] ; then
GS_FILTER_CB="fsr!nis"
export PW_GS_FILTER_MODE_OLD="true"
rm_from_array "PW_GS_LIST" PW_GS_FORCE_GRAB_CURSOR PW_GS_FORCE_GRAB_KEYBOARD PW_GS_HDR_ENABLE PW_GS_HDR_FORCE_SUPPORT \
PW_GS_HDR_FORCE_OUTPUT
else
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
#debian bookworm fix
if [[ $(<"${PW_TMPFS_PATH}/gamescope.tmp") =~ '-U, --fsr-upscaling' ]] ; then
GS_FILTER_CB="fsr!nis"
export PW_GS_FILTER_MODE_OLD="true"
rm_from_array "PW_GS_LIST" PW_GS_FORCE_GRAB_CURSOR PW_GS_FORCE_GRAB_KEYBOARD PW_GS_HDR_ENABLE PW_GS_HDR_FORCE_SUPPORT \
PW_GS_HDR_FORCE_OUTPUT
else
GS_FILTER_CB="linear!nearest!fsr!nis!pixel"
fi
fi
PW_GS_FULLSCREEN_INFO=${translations[Make the window fullscreen]}
@ -5917,11 +5904,11 @@ gui_gamescope () {
PW_GS_CURSOR_SCALE_HEIGHT_INFO=${translations[if specified, sets a base output height to linearly scale the cursor against.]}
unset ADD_CHK_BOX_GS
if [[ "${GAMESCOPE_INSTALLED}" == 1 ]] ; then
if [[ $GAMESCOPE_INSTALLED == "1" ]] ; then
GAMESCOPE_NEED_INSTALL="${translations[Change settings gamescope for]} <b>$PW_NAME_DESKTOP_PROXY</b>\n ${translations[<b>NOTE:</b> To display help for each item, simply hover your mouse over the text]}"
GS_CB="CB" && GS_CBE="CBE" && GS_NUM="NUM" && GS_NUMN="NUMN"
for int_to_boole in "${PW_GS_LIST[@]}" ; do
if [[ "${!int_to_boole}" == "1" ]]
if [[ ${!int_to_boole} == "1" ]]
then export "$int_to_boole"="TRUE"
else export "$int_to_boole"="FALSE"
fi
@ -5933,7 +5920,8 @@ gui_gamescope () {
else
if check_flatpak ; then
GAMESCOPE_VERSION="$(grep 'VERSION_ID=' /etc/os-release)"
GAMESCOPE_NEED_INSTALL=$(eval_translations "<b>Gamescope is not detected on the system, to install it, run the command in the terminal:\\nflatpak install -y runtime/org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/\$%{GAMESCOPE_VERSION}%\\n(Can be selected and copied)</b>" "GAMESCOPE_VERSION=${GAMESCOPE_VERSION//VERSION_ID=/}")
GAMESCOPE_VERSION="${GAMESCOPE_VERSION//VERSION_ID=/}"
GAMESCOPE_NEED_INSTALL="<b>${translations[Gamescope is not detected on the system, to install it, run the command in the terminal]}:\\nflatpak install -y runtime/org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$(echo "$GAMESCOPE_VERSION")\\n(${translations[Can be selected and copied]})</b>"
YAD_TEXT_SELECTION="--selectable-labels"
else
GAMESCOPE_NEED_INSTALL="${translations[<b>Gamescope is not detected on the system, please contact the manufacturer of your distribution\\nor search the Internet for information on how to install gamescope on your system.</b>]}"
@ -7150,7 +7138,7 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE." "DATE=$(date +%Y)" 2>/dev/null &
SOFTWARE." 2>/dev/null &
"${pw_yad}" --plug="${KEY_CREDITS}" --tabnum=3 \
--text-info --show-uri --scroll \

@ -6,7 +6,7 @@
#export PW_COMMENT_DB="PortWINE database file for Epic Games Launcher"
export LAUNCH_PARAMETERS="-SkipBuildPatchPrereq"
export PW_DLL_INSTALL="vcrun2012 vcrun2013 vcrun2019"
export PW_WINE_USE="PROTON_LG"
export PW_WINE_USE="WINE_LG"
export WINEDLLOVERRIDES="vulkan-1=n,b"
# add_in_start_portwine () {
# regdlloverrides "RDR2.exe:vulkan-1=n,b"

@ -4,4 +4,4 @@
#Rating=1-5
export PW_VULKAN_USE="2"
export PW_WINE_USE="WINE_LG"
export LAUNCH_URI="com.epicgames.launcher://apps/Eel?action=launch&silent=true"
# export LAUNCH_URI="com.epicgames.launcher://apps/Eel?action=launch&silent=true"

@ -1,15 +0,0 @@
#!/usr/bin/env bash
#Author: linux-gaming.ru
#setup.exe
#.msi
#Rating=5
################################################
export PW_DISABLED_CREATE_DB="1"
export PW_VULKAN_USE="1"
export PW_MANGOHUD="0"
export PW_NO_FSYNC="1"
export PW_NO_ESYNC="1"
export PW_USE_GAMEMODE="0"
export PW_DLL_INSTALL=""
# export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_WINE_USE="WINE_LG"

@ -15,10 +15,10 @@ start_portwine
if try_download "https://yupmaster.gaijinent.com/launcher/current.php?id=CrossoutLauncher" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "Crossout."
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'Decorated' 'REG_SZ' "N" "user"
pw_kill_autostart launcher.exe 3 &
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Crossout/launcher.exe"
get_and_set_reg_file --add 'Software\Wine\X11' 'Decorated' 'REG_SZ' "N" "user"
pw_create_unique_exe "crossout_launcher_pp"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"

@ -10,6 +10,7 @@ export LAUNCH_PARAMETERS="/q"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/EpicGamesLauncherInstaller.msi"
export PW_USE_D3D_EXTRAS=1
export PORTWINE_CREATE_SHORTCUT_NAME="Epic Games Launcher"
export PW_WINE_USE="WINE_LG"
# sed -i '/Epic Games/d' "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}"/*.reg >/dev/null
try_remove_file "${PORT_WINE_PATH}/data/prefixes/${PW_PREFIX_NAME}/.wine_ver"

@ -16,11 +16,11 @@ start_portwine
if try_download "https://sg-public-api.hoyoverse.com/event/download_porter/trace/hyp_global/hyphoyoverse/default?url=https%3A%2F%2Fhoyoplay.hoyoverse.com%2F" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "HoYoPlay Launcher."
get_and_set_reg_file --add 'Software\Wine\X11 Driver' 'Decorated' 'REG_SZ' "N" "user"
pw_kill_autostart HYP.exe &
export PATH_TO_GAME="${PW_USER_TEMP}"
pw_run "${PW_AUTOINSTALL_EXE}"
export portwine_exe="$WINEPREFIX/drive_c/Program Files/HoYoPlay/launcher.exe"
get_and_set_reg_file --add 'Software\Wine\X11' 'Decorated' 'REG_SZ' "N" "user"
pw_create_unique_exe "hoyoplay_launcher_pp"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"

@ -103,7 +103,7 @@ unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_T
unset PW_PREFIX_NAME VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR PW_WINE_CPU_TOPOLOGY
unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR RADV_DEBUG PW_NO_AUTO_CREATE_SHORTCUT
unset PW_TERM PW_EXEC_FROM_DESKTOP WEBKIT_DISABLE_DMABUF_RENDERER PW_AMD_VULKAN_USE PW_VK_ICD_FILENAMES LAUNCH_URI
unset PW_TERM PW_EXEC_FROM_DESKTOP WEBKIT_DISABLE_DMABUF_RENDERER PW_AMD_VULKAN_USE PW_VK_ICD_FILENAMES LAUNCH_URI PW_USE_SETUP_FILE
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
@ -326,6 +326,20 @@ if check_flatpak ; then
else pw_download_libs
fi
if [[ ${portwine_exe,,} =~ (setup|install|.msi$) ]] ; then
export PW_DISABLED_CREATE_DB="1"
export PW_VULKAN_USE="1"
export PW_MANGOHUD="0"
export PW_NO_FSYNC="1"
export PW_NO_ESYNC="1"
export PW_USE_GAMEMODE="0"
export PW_DLL_INSTALL=""
# export WINEDLLOVERRIDES="mscoree,mshtml="
export PW_WINE_USE="WINE_LG"
export PW_USE_SETUP_FILE="1"
fi
pw_init_db
if [[ ! -d "${HOME}/PortProton" ]] \
@ -540,10 +554,14 @@ if [[ -f "$portwine_exe" ]] ; then
fi
create_name_desktop
if [[ -z $PW_COMMENT_DB ]] ; then
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "$PW_NAME_DESKTOP_PROXY" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
else
if [[ -n $PW_COMMENT_DB ]] ; then
PW_COMMENT_DB="$PW_COMMENT_DB$(seconds_to_time "$TIME_CURRENT")"
else
if [[ $PW_USE_SETUP_FILE == "1" ]] ; then
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "$PW_NAME_DESKTOP_PROXY" "50")</b>"
else
PW_COMMENT_DB="${translations[Launching]} <b>$(print_wrapped "$PW_NAME_DESKTOP_PROXY" "50")</b>$(seconds_to_time "$TIME_CURRENT")"
fi
fi
export KEY_START="$RANDOM"
@ -560,7 +578,6 @@ if [[ -f "$portwine_exe" ]] ; then
"${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="$START_GUI_NOTEBOOK_COLUMNS" --align-buttons --homogeneous-column \
--gui-type-layout="$START_GUI_TYPE_LAYOUT_NOTEBOOK" \
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
--field=" ${translations[Global settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Settings for user.conf]}":"FBTN" '@bash -c "button_click --start 128"' \
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)]}":"FBTN" '@bash -c "button_click --start 120"' \
--field=" MangoHud!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
@ -605,7 +622,6 @@ if [[ -f "$portwine_exe" ]] ; then
--gui-type-layout="$START_GUI_TYPE_LAYOUT_PANED" \
--align-buttons --homogeneous-row --homogeneous-column \
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
--field=" ${translations[Global settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Settings for user.conf]}":"FBTN" '@bash -c "button_click --start 128"' \
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)]}":"FBTN" '@bash -c "button_click --start 120"' \
--field=" MangoHud!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \

@ -1,7 +1,7 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2406
#SCRIPTS_STABLE_VERSION=2406
#SCRIPTS_NEXT_VERSION=2411
#SCRIPTS_STABLE_VERSION=2411
########################################################################
export AI_TOP_GAMES="PW_LGC PW_VKPLAY PW_EPIC PW_BATTLE_NET PW_WORLD_OF_SEA_BATTLE PW_RUSSIAN_FISHING PW_HO_YO_PLAY PW_FARLIGHT84 PW_WARFRAME PW_WGC PW_UBISOFT"
export PROTON_USE_XALIA="0"
@ -20,7 +20,7 @@ export PW_FORCE_USE_VSYNC="2"
export PW_USE_TERMINAL="0"
export PW_WINDOWS_VER="10"
export WINEARCH="win64"
export PW_LIBS_VER="_v52"
export PW_LIBS_VER="_v53"
export PW_USE_GSTREAMER="1"
export PW_USE_D3D_EXTRAS="1"
export PW_PREFIX_NAME="DEFAULT"
@ -48,8 +48,8 @@ export PW_FAKE_DLSS_VER="230506"
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
export PW_GALLIUM_NINE_VER="0.10"
###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_9-19"
export PW_WINE_LG_VER="WINE_LG_10-1"
export PW_PROTON_LG_VER="PROTON_LG_9-27"
export PW_WINE_LG_VER="WINE_LG_10-5"
export PW_WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_MODE="ultra"
###DXVK_AND_VKD3D###
@ -57,9 +57,9 @@ export PW_VULKAN_USE="2"
export VKD3D_LIMIT_TESS_FACTORS="64"
export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.5.3-299"
export DXVK_GIT_VER="2.6-65"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-4478"
export VKD3D_GIT_VER="1.1-4511"
###VKBASALT###
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.50"

@ -29,7 +29,7 @@ export PW_TAB_POSITON=top
export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=2
export START_GUI_PANED_COLUMNS=3
export START_GUI_TYPE="--gui-type=start-old \
--image-halign=center \

@ -32,7 +32,7 @@ export PW_TAB_POSITON=top
export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=2
export START_GUI_PANED_COLUMNS=3
export START_GUI_TYPE="--gui-type=start \
--homogeneous-row \

@ -42,7 +42,7 @@ export PW_TAB_POSITON=top
# количество столбцов в главном меню
export MAIN_GUI_COLUMNS=3
export START_GUI_NOTEBOOK_COLUMNS=3 # количество столбцов для настроек в notebook
export START_GUI_NOTEBOOK_COLUMNS=2 # количество столбцов для настроек в notebook
export START_GUI_PANED_COLUMNS=3 # количество столбцов для настроек в paned
# это нужно
export START_GUI_TYPE="--gui-type=start \