Compare commits

...

51 Commits

Author SHA1 Message Date
Mikhail Tergoev
a81fdc4895 Scripts version 2415 2025-05-07 14:28:04 +03:00
Mikhail Tergoev
4a0ea39d0a fixed run winetricks from DB settings 2025-05-07 14:23:59 +03:00
Mikhail Tergoev
6beaa71599 Scripts version 2414 2025-05-07 14:11:48 +03:00
Mikhail Tergoev
be9579c08a Merge branch 'if984-devel' into devel 2025-05-07 13:25:50 +03:00
Mikhail Tergoev
f43c63d13b Merge branch 'devel' of github.com:if984/PortWINE into if984-devel 2025-05-07 13:25:30 +03:00
Mikhail Tergoev
9ee30c29d4 Merge branch 'Boria138-blackwell' into devel 2025-05-07 13:11:29 +03:00
Mikhail Tergoev
c2deaf34df Merge branch 'blackwell' of github.com:Boria138/PortWINE into Boria138-blackwell 2025-05-07 13:11:17 +03:00
Mikhail Tergoev
04e282f5f0 Merge branch 'Boria138-numa' into devel 2025-05-07 13:10:42 +03:00
Mikhail Tergoev
f7bd84498e Merge branch 'numa' of github.com:Boria138/PortWINE into Boria138-numa 2025-05-07 13:10:30 +03:00
Mikhail Tergoev
c8e84d9a54 updated WINE_LG to 10-7 2025-05-07 12:52:26 +03:00
Mikhail Tergoev
abef968fde updated GOG installer 2025-05-07 12:03:58 +03:00
Mikhail Tergoev
003ecde840 dropped hack for Genshin 2025-05-07 12:01:24 +03:00
Max
0b3f630b67 Исправлен скрипт автоустановки Crossout. Обновлена иконка LGC в меню АВТОУСТАНОВКА. 2025-05-05 16:07:23 +03:00
Max
7bce089c78 Добавлен эмулятор bsnes. Исправлена опечатка в скрипте автоустановки FCEUX. Обновлен скрипт автоустановки RetroArch - теперь скрипт автоматически определяет последню версию эмулятора для скачивания. 2025-05-03 12:49:36 +03:00
Max
ecf4a4e88e Добавлен эмулятор Azahar. Обновлена версия автоустановки PPSSPP (1.16.5 -> 1.18.1) 2025-05-02 09:46:03 +03:00
Max
c267c6e7dc Добавлен эмулятор melonDS. Работает нормально на префиксе DEFAULT: игры запускает, геймпад и клавиатуру видит.
Исправлена мини-опечатка в автоустановке ePSXe в имени директории.
2025-05-01 12:41:37 +03:00
Boris Yumankulov
2cb6436712
Added Blackwell (RTX50) pci to check_nvidia_rtx 2025-04-24 11:00:49 +05:00
Boris Yumankulov
5ce1ef8a04
Added Numa node select
**Что такое NUMA и зачем это нужно?**

В многоядерных системах процессоры разделены на NUMA-узлы (сокеты),
каждый из которых имеет свою локальную память и ядра.

Привязка игры к ядрам одного NUMA-узла:
- уменьшает задержки доступа к памяти,
- снижает переключения между ядрами,
- может увеличить производительность (до +50% в некоторых играх).
2025-04-21 22:01:07 +05:00
Mikhail Tergoev
233bfaa076 Scripts version 2413 2025-04-19 12:42:53 +03:00
Mikhail Tergoev
762041d614 fixed icu*.dll path 2025-04-19 12:31:27 +03:00
Mikhail Tergoev
38d9a88bbb Scripts version 2412 2025-04-14 12:07:04 +03:00
Mikhail Tergoev
c15c43eb0a hack for genshin 2025-04-14 12:06:03 +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
32 changed files with 702 additions and 566 deletions

@ -2,6 +2,55 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2415### / Date: 07.05.2025 / Download update size: 4 megabytes
* fixed installation of libraries added to the settings when starting the game
###Scripts version 2414### / Date: 07.05.2025 / Download update size: 184 megabytes
* updated WINE_LG to version "10-7"
* removed the fix for entering the game "Genshin Impact" (no longer required)
* updated the installation of GOG Launcher (thanks to Vekt0R)
* added detection of NVIDIA RTX 50XX video cards (thanks to Boria138)
* added a setting for binding the game to the cores of one NUMA node, for example, on Intel Xeon (thanks to Boria138)
* added scripts for installing windows emulators Azahar, bsnes, melonDS (thanks to if984)
* updated scripts for installing Crossout, PPSSPP, RetroArch, ePSXe, FCEUX (thanks to if984)
###Scripts version 2413### / Date: 19.04.2025 / Download update size: 4 megabytes
* fixed the start of the game "World of Sea Battle"
* fixed errors related to libraries "ICU* .DLL"
###Scripts version 2412### / Date: 14.04.2025 / Download update size: 4 megabytes
* temporary fixes of the entrance to the game "Genshin Impact" (auto shutdown and connection to the network before launching the game - does not work in Flatpak)
###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,55 @@
-----------------------------------------
История изменений:
###Scripts version 2415### / Дата: 07.05.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена установка библиотек добавленных в настройки при запуске игры
###Scripts version 2414### / Дата: 07.05.2025 / Размер скачиваемого обновления: 184 мегабайта
* обновлен WINE_LG до версии "10-7"
* удален фикс входа в игру "Genshin Impact" (более не требуется)
* обновлена установка GOG Launcher (спасибо Vekt0R)
* добавлено определение видеокарт NVIDIA RTX 50XX (спасибо Boria138)
* добавлена настройка привязки игры к ядрам одного NUMA-узла например на Intel Xeon (спасибо Boria138)
* добавлены скрипты для установки windows эмуляторов Azahar, bsnes, melonDS (спасибо if984)
* обновлены скрипты для установки Crossout, PPSSPP, RetroArch, ePSXe, FCEUX (спасибо if984)
###Scripts version 2413### / Дата: 19.04.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлен запуск игры "World of Sea Battle"
* исправлены ошибки связанные с библиотеками "icu*.dll"
###Scripts version 2412### / Дата: 14.04.2025 / Размер скачиваемого обновления: 4 мегабайта
* временный фикс входа в игру "Genshin Impact" (автоотключение и подключение к сети перед запуском игры - не работает во flatpak)
###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 +69,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

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@ -7,13 +7,13 @@
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-21 21:55+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"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "A running PortProton session was detected.\\nDo you want to end the "
@ -100,12 +100,6 @@ msgstr ""
msgid "Edit database file for"
msgstr ""
msgid "Global settings"
msgstr ""
msgid "Settings for user.conf"
msgstr ""
msgid "Open directory"
msgstr ""
@ -638,6 +632,15 @@ msgstr ""
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr ""
msgid "NUMA node for CPU affinity"
msgstr ""
msgid "In multicore systems, CPUs are split into NUMA nodes, each with its "
"own local memory and cores.\n"
"Binding a game to a single node reduces memoryaccess latency and "
"limits costly coretocore switches.)"
msgstr ""
msgid "EDIT DB"
msgstr ""
@ -1300,6 +1303,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>"
@ -1394,118 +1404,7 @@ msgstr ""
msgid "classic"
msgstr ""
msgid "light"
msgstr ""
msgid "dark"
msgstr ""
msgid "Show in hours and minutes"
msgstr ""
msgid "Show in days, hours, minutes"
msgstr ""
msgid "According to last launch"
msgstr ""
msgid "By time"
msgstr ""
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr ""
msgid "Change global settings"
msgstr ""
msgid "Change mirror to"
msgstr ""
msgid "Depending on which mirror is selected, updates will be downloaded "
"from there."
msgstr ""
msgid "Change branch to"
msgstr ""
msgid "Depending on the version of the scripts, PortProton will receive the "
"latest changes first (the DEVEL branch), the STABLE branch is "
"updated later and is stable."
msgstr ""
msgid "Change start gui to"
msgstr ""
msgid "When using PANED in the game start menu, additional buttons are "
"located on one large page; if NOTEBOOK, then they are divided into "
"several."
msgstr ""
msgid "Steam covers download"
msgstr ""
msgid "If downloading steam covers is enabled, they will be downloaded and "
"created. (Disablement is provided in cases where their downloading "
"is unavailable for some reason)"
msgstr ""
msgid "Choose a graphics card to run the game"
msgstr ""
msgid "Select which video card will be used to run the game (used for all "
"running games and programs in PortProton)"
msgstr ""
msgid "Force dpi"
msgstr ""
msgid "Here you can set forced dpi for applications wine"
msgstr ""
msgid "Choice wine audio driver"
msgstr ""
msgid "Fixes sound popling if choice alsa"
msgstr ""
msgid "Select PortProton theme"
msgstr ""
msgid "Allows you to select a theme for PortProton"
msgstr ""
msgid "Select gtk theme"
msgstr ""
msgid "Allows you to select a theme for GTK."
msgstr ""
msgid "Time display"
msgstr ""
msgid "Displays time spent in an application or game"
msgstr ""
msgid "Sort shortcuts by"
msgstr ""
msgid "This setting sorts the shortcuts in the main menu"
msgstr ""
msgid "Open the <b>user.conf</b> settings file in a system text editor to "
"view and change variables manually"
msgstr ""
msgid "Do you really want to reset settings for"
msgstr ""
msgid "Do you actually want to change the scripts version to:"
msgstr ""
msgid "Branch changed to:"
msgstr ""
msgid "The shortcut will be created in the PortProton directory."
msgid "The shortcut will be changed in the PortProton directory."
msgstr ""
msgid "Name"
@ -1520,9 +1419,6 @@ msgstr ""
msgid "Add shortcut to STEAM library"
msgstr ""
msgid "The shortcut will be changed in the PortProton directory."
msgstr ""
msgid "REMOVE SHORTCUT"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-03-20 21:49+0300\n"
"POT-Creation-Date: 2025-04-21 21:55+0500\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -111,12 +111,6 @@ msgstr "Configuración básica"
msgid "Edit database file for"
msgstr "Editar archivo de base de datos para"
msgid "Global settings"
msgstr "Configuraciones globales"
msgid "Settings for user.conf"
msgstr "Configuración user.conf"
msgid "Open directory"
msgstr "Abrir directorio"
@ -791,6 +785,16 @@ msgstr ""
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr ""
msgid "NUMA node for CPU affinity"
msgstr ""
msgid ""
"In multicore systems, CPUs are split into NUMA nodes, each with its own "
"local memory and cores.\n"
"Binding a game to a single node reduces memoryaccess latency and limits "
"costly coretocore switches.)"
msgstr ""
msgid "EDIT DB"
msgstr "CONFIGURACIÓN"
@ -1689,6 +1693,14 @@ 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 ""
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 "
@ -1808,144 +1820,8 @@ msgstr "compacto"
msgid "classic"
msgstr "clásico"
msgid "light"
msgstr "ligero"
msgid "dark"
msgstr "oscuro"
msgid "Show in hours and minutes"
msgstr ""
msgid "Show in days, hours, minutes"
msgstr ""
msgid "According to last launch"
msgstr ""
#, fuzzy
msgid "By time"
msgstr "Mostrar tiempo"
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr "CONFIGURACIONES GLOBALES (USER.CONF)"
msgid "Change global settings"
msgstr "Cambiar configuraciones globales"
msgid "Change mirror to"
msgstr "Cambiar el espejo a"
msgid ""
"Depending on which mirror is selected, updates will be downloaded from there."
msgstr ""
"Dependiendo del espejo seleccionado, las actualizaciones se descargarán "
"desde allí."
msgid "Change branch to"
msgstr "Cambiar rama a"
msgid ""
"Depending on the version of the scripts, PortProton will receive the latest "
"changes first (the DEVEL branch), the STABLE branch is updated later and is "
"stable."
msgstr ""
"Dependiendo de la versión de los scripts, PortProton recibirá primero los "
"últimos cambios (la rama DEVEL), la rama STABLE se actualiza más tarde y es "
"estable."
msgid "Change start gui to"
msgstr "Cambiar la interfaz gráfica de inicio a"
msgid ""
"When using PANED in the game start menu, additional buttons are located on "
"one large page; if NOTEBOOK, then they are divided into several."
msgstr ""
"Cuando se usa PANED en el menú de inicio del juego, los botones adicionales "
"se encuentran en una página grande; si CUADERNO, entonces se dividen en "
"varios."
#, fuzzy
msgid "Steam covers download"
msgstr "descargar portadas de steam"
msgid ""
"If downloading steam covers is enabled, they will be downloaded and created. "
"(Disablement is provided in cases where their downloading is unavailable for "
"some reason)"
msgstr ""
"Si la descarga de portadas de Steam está habilitada, se descargarán y "
"crearán. (La desactivación se proporciona en los casos en que su descarga no "
"esté disponible por algún motivo)"
msgid "Choose a graphics card to run the game"
msgstr "Elige una tarjeta gráfica para ejecutar el juego"
msgid ""
"Select which video card will be used to run the game (used for all running "
"games and programs in PortProton)"
msgstr ""
"Selecciona qué tarjeta de vídeo se utilizará para ejecutar el juego (se "
"utiliza para todos los juegos y programas en ejecución en PortProton)"
msgid "Force dpi"
msgstr ""
msgid "Here you can set forced dpi for applications wine"
msgstr ""
msgid "Choice wine audio driver"
msgstr "Controlador de audio de vino elegido"
msgid "Fixes sound popling if choice alsa"
msgstr "Corrige el sonido estallido de elección alsa alsa"
msgid "Select PortProton theme"
msgstr "Seleccione el tema PortProton"
msgid "Allows you to select a theme for PortProton"
msgstr "Le permite seleccionar un tema para PortProton"
msgid "Select gtk theme"
msgstr "Seleccione el tema gtk"
msgid "Allows you to select a theme for GTK."
msgstr "Le permite seleccionar un tema para GTK."
msgid "Time display"
msgstr "Mostrar tiempo"
msgid "Displays time spent in an application or game"
msgstr "Muestra el tiempo transcurrido en una aplicación o juego"
#, fuzzy
msgid "Sort shortcuts by"
msgstr "Ordenar accesos directos por tiempo"
#, fuzzy
msgid "This setting sorts the shortcuts in the main menu"
msgstr ""
"Esta configuración ordena los accesos directos en el menú principal según el "
"tiempo transcurrido en la aplicación o juego"
msgid ""
"Open the <b>user.conf</b> settings file in a system text editor to view and "
"change variables manually"
msgstr ""
"Abre el archivo de configuración <b>user.conf</b> en un editor de texto del "
"sistema para ver y cambiar las variables manualmente"
msgid "Do you really want to reset settings for"
msgstr "¿Realmente deseas restablecer la configuración de"
msgid "Do you actually want to change the scripts version to:"
msgstr "¿Realmente desea cambiar la versión de los scripts a:"
msgid "Branch changed to:"
msgstr "Rama cambiada a:"
msgid "The shortcut will be created in the PortProton directory."
msgstr "El acceso directo se creará en el directorio de PortProton."
msgid "The shortcut will be changed in the PortProton directory."
msgstr "El acceso directo se cambiará en el directorio de PortProton."
msgid "Name"
msgstr "Nombre"
@ -1959,9 +1835,6 @@ msgstr "Agregar acceso directo al escritorio"
msgid "Add shortcut to STEAM library"
msgstr "Agregar acceso directo a la biblioteca de STEAM"
msgid "The shortcut will be changed in the PortProton directory."
msgstr "El acceso directo se cambiará en el directorio de PortProton."
msgid "REMOVE SHORTCUT"
msgstr "ELIMINAR ACCESO DIRECTO"
@ -2158,6 +2031,137 @@ msgstr "UNIRSE"
msgid "THIRD PARTY LIBRARIES"
msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid "Global settings"
#~ msgstr "Configuraciones globales"
#~ msgid "Settings for user.conf"
#~ msgstr "Configuración user.conf"
#~ msgid "light"
#~ msgstr "ligero"
#~ msgid "dark"
#~ msgstr "oscuro"
#, fuzzy
#~ msgid "By time"
#~ msgstr "Mostrar tiempo"
#~ msgid "GLOBAL SETTINGS (USER.CONF)"
#~ msgstr "CONFIGURACIONES GLOBALES (USER.CONF)"
#~ msgid "Change global settings"
#~ msgstr "Cambiar configuraciones globales"
#~ msgid "Change mirror to"
#~ msgstr "Cambiar el espejo a"
#~ msgid ""
#~ "Depending on which mirror is selected, updates will be downloaded from "
#~ "there."
#~ msgstr ""
#~ "Dependiendo del espejo seleccionado, las actualizaciones se descargarán "
#~ "desde allí."
#~ msgid "Change branch to"
#~ msgstr "Cambiar rama a"
#~ msgid ""
#~ "Depending on the version of the scripts, PortProton will receive the "
#~ "latest changes first (the DEVEL branch), the STABLE branch is updated "
#~ "later and is stable."
#~ msgstr ""
#~ "Dependiendo de la versión de los scripts, PortProton recibirá primero los "
#~ "últimos cambios (la rama DEVEL), la rama STABLE se actualiza más tarde y "
#~ "es estable."
#~ msgid "Change start gui to"
#~ msgstr "Cambiar la interfaz gráfica de inicio a"
#~ msgid ""
#~ "When using PANED in the game start menu, additional buttons are located "
#~ "on one large page; if NOTEBOOK, then they are divided into several."
#~ msgstr ""
#~ "Cuando se usa PANED en el menú de inicio del juego, los botones "
#~ "adicionales se encuentran en una página grande; si CUADERNO, entonces se "
#~ "dividen en varios."
#, fuzzy
#~ msgid "Steam covers download"
#~ msgstr "descargar portadas de steam"
#~ msgid ""
#~ "If downloading steam covers is enabled, they will be downloaded and "
#~ "created. (Disablement is provided in cases where their downloading is "
#~ "unavailable for some reason)"
#~ msgstr ""
#~ "Si la descarga de portadas de Steam está habilitada, se descargarán y "
#~ "crearán. (La desactivación se proporciona en los casos en que su descarga "
#~ "no esté disponible por algún motivo)"
#~ msgid "Choose a graphics card to run the game"
#~ msgstr "Elige una tarjeta gráfica para ejecutar el juego"
#~ msgid ""
#~ "Select which video card will be used to run the game (used for all "
#~ "running games and programs in PortProton)"
#~ msgstr ""
#~ "Selecciona qué tarjeta de vídeo se utilizará para ejecutar el juego (se "
#~ "utiliza para todos los juegos y programas en ejecución en PortProton)"
#~ msgid "Choice wine audio driver"
#~ msgstr "Controlador de audio de vino elegido"
#~ msgid "Fixes sound popling if choice alsa"
#~ msgstr "Corrige el sonido estallido de elección alsa alsa"
#~ msgid "Select PortProton theme"
#~ msgstr "Seleccione el tema PortProton"
#~ msgid "Allows you to select a theme for PortProton"
#~ msgstr "Le permite seleccionar un tema para PortProton"
#~ msgid "Select gtk theme"
#~ msgstr "Seleccione el tema gtk"
#~ msgid "Allows you to select a theme for GTK."
#~ msgstr "Le permite seleccionar un tema para GTK."
#~ msgid "Time display"
#~ msgstr "Mostrar tiempo"
#~ msgid "Displays time spent in an application or game"
#~ msgstr "Muestra el tiempo transcurrido en una aplicación o juego"
#, fuzzy
#~ msgid "Sort shortcuts by"
#~ msgstr "Ordenar accesos directos por tiempo"
#, fuzzy
#~ msgid "This setting sorts the shortcuts in the main menu"
#~ msgstr ""
#~ "Esta configuración ordena los accesos directos en el menú principal según "
#~ "el tiempo transcurrido en la aplicación o juego"
#~ msgid ""
#~ "Open the <b>user.conf</b> settings file in a system text editor to view "
#~ "and change variables manually"
#~ msgstr ""
#~ "Abre el archivo de configuración <b>user.conf</b> en un editor de texto "
#~ "del sistema para ver y cambiar las variables manualmente"
#~ msgid "Do you really want to reset settings for"
#~ msgstr "¿Realmente deseas restablecer la configuración de"
#~ msgid "Do you actually want to change the scripts version to:"
#~ msgstr "¿Realmente desea cambiar la versión de los scripts a:"
#~ msgid "Branch changed to:"
#~ msgstr "Rama cambiada a:"
#~ msgid "The shortcut will be created in the PortProton directory."
#~ msgstr "El acceso directo se creará en el directorio de PortProton."
#~ msgid ""
#~ "This program comes with absolutely no warranty.\n"
#~ "See the License for details."

@ -7,8 +7,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: 2025-03-20 21:50+0300\n"
"POT-Creation-Date: 2025-04-21 21:55+0500\n"
"PO-Revision-Date: 2025-04-21 21:59+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
@ -17,7 +17,7 @@ msgstr ""
"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"
"X-Generator: Poedit 3.6\n"
msgid ""
"A running PortProton session was detected.\\nDo you want to end the previous "
@ -119,12 +119,6 @@ msgstr "Основные настройки"
msgid "Edit database file for"
msgstr "Редактировать файл настроек для"
msgid "Global settings"
msgstr "Глобальные настройки"
msgid "Settings for user.conf"
msgstr "Настройки для user.conf"
msgid "Open directory"
msgstr "Открыть папку"
@ -814,6 +808,18 @@ msgstr "Выбор Vulkan драйвера для AMD"
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr "Выбор драйвера Vulkan для запуска игры"
msgid "NUMA node for CPU affinity"
msgstr "Узел NUMA для привязки к процессору"
msgid ""
"In multicore systems, CPUs are split into NUMA nodes, each with its own "
"local memory and cores.\n"
"Binding a game to a single node reduces memoryaccess latency and limits "
"costly coretocore switches.)"
msgstr ""
"Каждый NUMA-узел имеет собственную память и ядра. Привязка игры к одному "
"узлу снижает задержку и повышает производительность"
msgid "EDIT DB"
msgstr "НАСТРОЙКИ"
@ -1677,6 +1683,15 @@ 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 ""
#, fuzzy
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 "
@ -1796,137 +1811,8 @@ msgstr "компактная"
msgid "classic"
msgstr "классическая"
msgid "light"
msgstr "светлая"
msgid "dark"
msgstr "тёмная"
msgid "Show in hours and minutes"
msgstr "Отображать в часах и минутах"
msgid "Show in days, hours, minutes"
msgstr "Отображать в днях, часах и минутах"
msgid "According to last launch"
msgstr "По данным последнего запуска"
msgid "By time"
msgstr "По проведённому времени"
msgid "GLOBAL SETTINGS (USER.CONF)"
msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
msgid "Change global settings"
msgstr "Изменить глобальные настройки"
msgid "Change mirror to"
msgstr "Сменить зеркало на"
msgid ""
"Depending on which mirror is selected, updates will be downloaded from there."
msgstr ""
"В зависимости от того, какое выбрано зеркало, оттуда и будут загружаться "
"обновления."
msgid "Change branch to"
msgstr "Сменить версию на"
msgid ""
"Depending on the version of the scripts, PortProton will receive the latest "
"changes first (the DEVEL branch), the STABLE branch is updated later and is "
"stable."
msgstr ""
"В зависимости от версии скриптов, PortProton будет получать самые последнее "
"изменения раньше всех (ветка DEVEL), ветка STABLE обновляется позже и "
"является стабильной."
msgid "Change start gui to"
msgstr "Изменить интерфейс запуска на"
msgid ""
"When using PANED in the game start menu, additional buttons are located on "
"one large page; if NOTEBOOK, then they are divided into several."
msgstr ""
"При использовании PANED в меню запуске игры дополнительные кнопки находятся "
"на одной большой странице, если NOTEBOOK, то поделены на несколько."
msgid "Steam covers download"
msgstr "Скачивание обложек для steam"
msgid ""
"If downloading steam covers is enabled, they will be downloaded and created. "
"(Disablement is provided in cases where their downloading is unavailable for "
"some reason)"
msgstr ""
"Если скачивания обложек steam включено, то они будут загружаться и "
"создаваться. (Отключение предусмотрено в тех случаях, когда их скачивание по "
"каким-то причинам недоступно)"
msgid "Choose a graphics card to run the game"
msgstr "Выбрать видеокарту для запуска игры"
msgid ""
"Select which video card will be used to run the game (used for all running "
"games and programs in PortProton)"
msgstr ""
"Выбор видеокарты для запуска игры (используется для всех запущенных игр и "
"программ в PortProton)"
msgid "Force dpi"
msgstr "Принудительный масштаб"
msgid "Here you can set forced dpi for applications wine"
msgstr "Здесь вы можете установить принудительный масштаб для приложений wine"
msgid "Choice wine audio driver"
msgstr "Выбрать звуковой драйвер"
msgid "Fixes sound popling if choice alsa"
msgstr "Выбор alsa исправляет заикание звука"
msgid "Select PortProton theme"
msgstr "Выбрать тему PortProton"
msgid "Allows you to select a theme for PortProton"
msgstr "Позволяет выбрать тему для PortProton"
msgid "Select gtk theme"
msgstr "Выбрать тему GTK"
msgid "Allows you to select a theme for GTK."
msgstr "Позволяет выбрать светлую или тёмную тему"
msgid "Time display"
msgstr "Отображение времени"
msgid "Displays time spent in an application or game"
msgstr "Отображает общее время проведённое в приложении или игре"
msgid "Sort shortcuts by"
msgstr "Сортировка ярлыков по"
msgid "This setting sorts the shortcuts in the main menu"
msgstr "Эта настройка сортирует ярлыки в главном меню"
msgid ""
"Open the <b>user.conf</b> settings file in a system text editor to view and "
"change variables manually"
msgstr ""
"Открыть файл настроек <b>user.conf</b> в системном текстовом редакторе, "
"чтобы просмотреть и изменить переменные вручную"
msgid "Do you really want to reset settings for"
msgstr "Вы действительно хотите сбросить настройки для"
msgid "Do you actually want to change the scripts version to:"
msgstr "Вы действительно хотите изменить версию скриптов на:"
msgid "Branch changed to:"
msgstr "Версия изменена на:"
msgid "The shortcut will be created in the PortProton directory."
msgstr "Ярлык будет создан в каталоге PortProton."
msgid "The shortcut will be changed in the PortProton directory."
msgstr "Ярлык будет изменён в каталоге PortProton."
msgid "Name"
msgstr "Имя"
@ -1940,9 +1826,6 @@ msgstr "Добавить ярлык на рабочий стол"
msgid "Add shortcut to STEAM library"
msgstr "Добавить ярлык в библиотеку STEAM"
msgid "The shortcut will be changed in the PortProton directory."
msgstr "Ярлык будет изменён в каталоге PortProton."
msgid "REMOVE SHORTCUT"
msgstr "УДАЛИТЬ ЯРЛЫК"
@ -2137,6 +2020,147 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
#~ msgid "Global settings"
#~ msgstr "Глобальные настройки"
#~ msgid "Settings for user.conf"
#~ msgstr "Настройки для user.conf"
#~ msgid "light"
#~ msgstr "светлая"
#~ msgid "dark"
#~ msgstr "тёмная"
#~ msgid "Show in hours and minutes"
#~ msgstr "Отображать в часах и минутах"
#~ msgid "Show in days, hours, minutes"
#~ msgstr "Отображать в днях, часах и минутах"
#~ msgid "According to last launch"
#~ msgstr "По данным последнего запуска"
#~ msgid "By time"
#~ msgstr "По проведённому времени"
#~ msgid "GLOBAL SETTINGS (USER.CONF)"
#~ msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
#~ msgid "Change global settings"
#~ msgstr "Изменить глобальные настройки"
#~ msgid "Change mirror to"
#~ msgstr "Сменить зеркало на"
#~ msgid ""
#~ "Depending on which mirror is selected, updates will be downloaded from "
#~ "there."
#~ msgstr ""
#~ "В зависимости от того, какое выбрано зеркало, оттуда и будут загружаться "
#~ "обновления."
#~ msgid "Change branch to"
#~ msgstr "Сменить версию на"
#~ msgid ""
#~ "Depending on the version of the scripts, PortProton will receive the "
#~ "latest changes first (the DEVEL branch), the STABLE branch is updated "
#~ "later and is stable."
#~ msgstr ""
#~ "В зависимости от версии скриптов, PortProton будет получать самые "
#~ "последнее изменения раньше всех (ветка DEVEL), ветка STABLE обновляется "
#~ "позже и является стабильной."
#~ msgid "Change start gui to"
#~ msgstr "Изменить интерфейс запуска на"
#~ msgid ""
#~ "When using PANED in the game start menu, additional buttons are located "
#~ "on one large page; if NOTEBOOK, then they are divided into several."
#~ msgstr ""
#~ "При использовании PANED в меню запуске игры дополнительные кнопки "
#~ "находятся на одной большой странице, если NOTEBOOK, то поделены на "
#~ "несколько."
#~ msgid "Steam covers download"
#~ msgstr "Скачивание обложек для steam"
#~ msgid ""
#~ "If downloading steam covers is enabled, they will be downloaded and "
#~ "created. (Disablement is provided in cases where their downloading is "
#~ "unavailable for some reason)"
#~ msgstr ""
#~ "Если скачивания обложек steam включено, то они будут загружаться и "
#~ "создаваться. (Отключение предусмотрено в тех случаях, когда их скачивание "
#~ "по каким-то причинам недоступно)"
#~ msgid "Choose a graphics card to run the game"
#~ msgstr "Выбрать видеокарту для запуска игры"
#~ msgid ""
#~ "Select which video card will be used to run the game (used for all "
#~ "running games and programs in PortProton)"
#~ msgstr ""
#~ "Выбор видеокарты для запуска игры (используется для всех запущенных игр и "
#~ "программ в PortProton)"
#~ msgid "Force dpi"
#~ msgstr "Принудительный масштаб"
#~ msgid "Here you can set forced dpi for applications wine"
#~ msgstr ""
#~ "Здесь вы можете установить принудительный масштаб для приложений wine"
#~ msgid "Choice wine audio driver"
#~ msgstr "Выбрать звуковой драйвер"
#~ msgid "Fixes sound popling if choice alsa"
#~ msgstr "Выбор alsa исправляет заикание звука"
#~ msgid "Select PortProton theme"
#~ msgstr "Выбрать тему PortProton"
#~ msgid "Allows you to select a theme for PortProton"
#~ msgstr "Позволяет выбрать тему для PortProton"
#~ msgid "Select gtk theme"
#~ msgstr "Выбрать тему GTK"
#~ msgid "Allows you to select a theme for GTK."
#~ msgstr "Позволяет выбрать светлую или тёмную тему"
#~ msgid "Time display"
#~ msgstr "Отображение времени"
#~ msgid "Displays time spent in an application or game"
#~ msgstr "Отображает общее время проведённое в приложении или игре"
#~ msgid "Sort shortcuts by"
#~ msgstr "Сортировка ярлыков по"
#~ msgid "This setting sorts the shortcuts in the main menu"
#~ msgstr "Эта настройка сортирует ярлыки в главном меню"
#~ msgid ""
#~ "Open the <b>user.conf</b> settings file in a system text editor to view "
#~ "and change variables manually"
#~ msgstr ""
#~ "Открыть файл настроек <b>user.conf</b> в системном текстовом редакторе, "
#~ "чтобы просмотреть и изменить переменные вручную"
#~ msgid "Do you really want to reset settings for"
#~ msgstr "Вы действительно хотите сбросить настройки для"
#~ msgid "Do you actually want to change the scripts version to:"
#~ msgstr "Вы действительно хотите изменить версию скриптов на:"
#~ msgid "Branch changed to:"
#~ msgstr "Версия изменена на:"
#~ msgid "The shortcut will be created in the PortProton directory."
#~ msgstr "Ярлык будет создан в каталоге PortProton."
#~ msgid ""
#~ "This program comes with absolutely no warranty.\n"
#~ "See the License for details."
@ -2353,9 +2377,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
@ -2318,6 +2301,8 @@ check_nvidia_rtx () {
[[ "$LSPCI_VGA" == *GA[0-9]* ]] && return 0
# Ada_Lovelace
[[ "$LSPCI_VGA" == *AD[0-9]* ]] || [[ "$LSPCI_VGA" == *2[6-8][0-9]* ]] && return 0
# Blackwell and Blackwell 2.0
[[ "$LSPCI_VGA" == *GB[0-9]* ]] && return 0
fi
return 1
}
@ -2770,6 +2755,7 @@ pw_skip_get_info () {
export LSPCI_VGA
fi
# TODO: Add NVIDIA Smooth Motion
if check_nvidia_rtx ; then
check_variables PW_USE_NVAPI_AND_DLSS "1"
check_variables PW_USE_FAKE_DLSS "0"
@ -3074,6 +3060,7 @@ pw_create_unique_exe () {
else
print_warning "There are no arguments for creating a symbolic link! Skip it..."
fi
try_remove_file "${portwine_exe}.ppdb"
popd || fatal
fi
}
@ -3200,6 +3187,7 @@ start_portwine () {
done
LIST_ICU_DLL_LINKS="icuin68 icuuc68 icudt68"
[[ -d "${WINEDIR}/lib/icu32" ]] && mv "${WINEDIR}/lib/icu32" "${WINEDIR}/lib/icu"
for dll in $LIST_ICU_DLL_LINKS ; do
if [[ -f "${WINEDIR}/lib/icu/${dll}.dll" ]] ; then
try_force_link_file "${WINEDIR}/lib/icu/${dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${dll}.dll"
@ -4107,7 +4095,7 @@ start_portwine () {
echo "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}" >> "${PW_TMPFS_PATH}/update_pfx_log"
print_info "Try to install DLL in prefix: ${PW_DLL_NEED_INSTALL}"
${pw_runtime} LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" GST_PLUGIN_SYSTEM_PATH_1_0="" \
"${PORT_WINE_TMP_PATH}/winetricks" -q -r -f ${PW_DLL_NEED_INSTALL} | tee -a "${PW_TMPFS_PATH}/update_pfx_log"
"${PORT_WINE_TMP_PATH}/winetricks" -q -f ${PW_DLL_NEED_INSTALL} | tee -a "${PW_TMPFS_PATH}/update_pfx_log"
wait_wineserver
kill_portwine
fi
@ -4335,7 +4323,6 @@ 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"
else
print_info "file: $portwine_exe not x86-64, force set WINE_LARGE_ADDRESS_AWARE to 1"
export WINE_LARGE_ADDRESS_AWARE="1"
@ -4344,11 +4331,12 @@ pw_run () {
check_variables SteamAppId "0"
check_variables SteamGameId "0"
PW_LOG_TO_FILE="${PORT_WINE_PATH}/PortProton.log"
PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}"
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME"
print_var "WINELOADER" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" "PW_TASKSET_SLR"
proxy_launch_parameters=${LAUNCH_PARAMETERS//\\\\/\\}
if [[ "$PW_USE_RUNTIME" == 1 ]] \
&& [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]]
@ -4363,7 +4351,8 @@ pw_run () {
print_info "Log from RUNTIME and WINE:"
${PW_RUN_GAMESCOPE} \
${PW_POWERPROFILECTL_SLR} \
${PW_INHIBIT_SLR}\
${PW_INHIBIT_SLR} \
${PW_TASKSET_SLR} \
${pw_runtime} \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
@ -4382,7 +4371,8 @@ pw_run () {
echo "Log WINE:" > "${PW_LOG_TO_FILE}"
${PW_RUN_GAMESCOPE} \
${PW_POWERPROFILECTL_SLR} \
${PW_INHIBIT_SLR}\
${PW_INHIBIT_SLR} \
${PW_TASKSET_SLR} \
${pw_runtime} \
LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}" \
LD_PRELOAD="${PW_LD_PRELOAD}" \
@ -4418,7 +4408,8 @@ pw_run () {
${PW_POWERPROFILECTL_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
${PW_INHIBIT_SLR}\
${PW_INHIBIT_SLR} \
${PW_TASKSET_SLR} \
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
wait_wineserver
else
@ -4437,7 +4428,8 @@ pw_run () {
${PW_POWERPROFILECTL_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
${PW_INHIBIT_SLR}\
${PW_INHIBIT_SLR} \
${PW_TASKSET_SLR} \
"${WINELOADER}" "$@" ${proxy_launch_parameters}
wait_wineserver
fi
@ -4793,7 +4785,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 +4811,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 ""
}
@ -5220,6 +5212,23 @@ gui_edit_db () {
CPU_LIMIT_VAR="disabled"
fi
declare -A NODE_MAP
NUMA_NODE_LIST=""
INDEX=0
while read -r line; do
NODE_MAP[$INDEX]="$line"
NUMA_NODE_LIST+="$INDEX "
((INDEX++))
done < <( lscpu | grep -Po "NUMA node\d+ CPU\(s\):\s+\K.*" )
# удаляем последний пробел, чтобы в combobox не было «0 »
NUMA_NODE_LIST="${NUMA_NODE_LIST% }"
if [[ -n "${PW_CPU_NUMA_NODE_INDEX}" ]] && [[ "${PW_CPU_NUMA_NODE_INDEX}" != "disabled" ]]; then
NUMA_NODE_INDEX="${PW_CPU_NUMA_NODE_INDEX}"
else
NUMA_NODE_INDEX="disabled"
fi
if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \
[[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
@ -5251,6 +5260,8 @@ immediate - Unlimited frame rate + tearing.
mailbox - Triple buffering. Unlimited frame rate + no tearing.
relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]} :CB" "$(combobox_fix --disabled "${PW_MESA_VK_WSI_PRESENT_MODE}" "fifo!immediate!mailbox!relaxed")" \
--field="${translations[Select needed AMD vulkan implementation]}!${translations[Choosing which implementation of vulkan will be used to run the game]} $AMD_VULKAN_CB" "$(combobox_fix --disabled "$AMD_VULKAN_VAR" "$AMD_VULKAN_DRIVER_LIST")" \
--field="${translations[NUMA node for CPU affinity]}!${translations[In multicore systems, CPUs are split into NUMA nodes, each with its own local memory and cores.
Binding a game to a single node reduces memoryaccess latency and limits costly coretocore switches.)]} :CB" "$(combobox_fix --disabled "${NUMA_NODE_INDEX}" "${NUMA_NODE_LIST}")" \
1> "$PW_TMPFS_PATH/tmp_output_yad_fps_limit" 2>/dev/null &
"${pw_yad}" --notebook --key="$KEY_EDIT_DB_GUI" --title "${translations[EDIT DB]}" --text-align=center \
@ -5301,6 +5312,17 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]
PW_LOCALE_SELECT="${PW_ADD_SETTINGS[7]}"
PW_MESA_VK_WSI_PRESENT_MODE="${PW_ADD_SETTINGS[8]}"
PW_AMD_VULKAN_USE="${PW_ADD_SETTINGS[9]}"
NUMA_NODE_INDEX="${PW_ADD_SETTINGS[10]//[[:space:]]/}"
if [[ "$NUMA_NODE_INDEX" =~ ^[0-9]+$ ]] && [[ -v NODE_MAP[$NUMA_NODE_INDEX] ]]; then
NUMA_CORES="${NODE_MAP[$NUMA_NODE_INDEX]}"
PW_CPU_NUMA_NODE_INDEX="$NUMA_NODE_INDEX"
PW_TASKSET_SLR="taskset -c $NUMA_CORES"
else
PW_CPU_NUMA_NODE_INDEX="disabled"
PW_TASKSET_SLR=""
fi
export PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
if [[ "${CPU_LIMIT}" =~ ^[0-9]+$ ]] ; then
PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $(( CPU_LIMIT - 1 )))"
@ -5310,7 +5332,7 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]
export PW_WINE_CPU_TOPOLOGY
edit_db_from_gui "${PW_EDIT_DB_LIST[@]}" LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY \
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
@ -5881,19 +5903,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 +5941,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 +5957,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>]}"
@ -6424,7 +6449,7 @@ pw_auto_create_shortcut () {
if [[ "${PW_CHECK_AUTOINSTALL}" == "1" ]] \
|| [[ "${PW_NO_AUTO_CREATE_SHORTCUT}" == "1" ]] \
|| [[ -z "${portwine_exe}" ]] \
|| echo "${portwine_exe}" | grep -i "gc_api.exe\|vkplay\|pulseonline" &>/dev/null
|| echo "${portwine_exe}" | grep -i "gc_api.exe\|vkplay\|pulseonline\|hoyoplay_launcher_pp" &>/dev/null
then
print_warning "Skipping auto create shortcut"
return 0
@ -7150,7 +7175,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"

@ -1,9 +1,12 @@
#!/usr/bin/env bash
#Author: fidel
#Genshin Impact.exe
#GenshinImpact.exe
#hoyoplay_launcher_pp.exe
#Rating=5
#####################examples###########################
export PW_WINDOWS_VER="10"
export PW_VULKAN_USE="2"
export PW_PREFIX_NAME="HO_YO_PLAY"
export PW_WINE_USE="WINE_LG"
export LAUNCH_PARAMETERS="-platform_type CLOUD_THIRD_PARTY_PC"

@ -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"

@ -0,0 +1,24 @@
#!/usr/bin/env bash
# Author: if984 (Maksim K.)
# type: emulators
# name: Azahar
# image: azahar
# info_en: An open source Nintendo 3DS emulator based on Citra, designed to run games with support for enhanced resolutions and advanced emulation settings.
# info_ru: Эмулятор Nintendo 3DS с открытым исходным кодом на основе Citra, созданный для запуска игр с поддержкой улучшенного разрешения и расширенных настроек эмуляции.
##########################################################################
# export LAUNCH_PARAMETERS="/VERYSILENT"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/azahar-2120.3-windows-msys2-installer.exe"
start_portwine
if try_download "https://github.com/azahar-emu/azahar/releases/download/2120.3/azahar-2120.3-windows-msys2-installer.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "Azahar."
pw_run "${PW_AUTOINSTALL_EXE}"
portwine_exe="$WINEPREFIX/drive_c/Program Files/Azahar/azahar.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="Azahar"
portwine_create_shortcut
fi
stop_portwine

@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Author: if984 (Maksim K.)
# type: emulators
# name: bsnes
# image: bsnes
# info_en: An open source Super Nintendo Entertainment System (SNES) emulator that focuses on performance, accuracy, user-friendly interface, and special features.
# info_ru: Эмулятор Super Nintendo Entertainment System (SNES) с открытым исходным кодом, который фокусируется на производительности, точности, удобном пользовательском интерфейсе и специальных функциях.
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/bsnes-windows.zip"
start_portwine
if try_download "https://github.com/bsnes-emu/bsnes/releases/download/nightly/bsnes-windows.zip" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "bsnes."
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files"
portwine_exe="$WINEPREFIX/drive_c/Program Files/bsnes-nightly/bsnes.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="bsnes"
portwine_create_shortcut
fi
stop_portwine

@ -10,15 +10,16 @@ export LAUNCH_PARAMETERS="/VERYSILENT"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/crossout.exe"
export PORTWINE_CREATE_SHORTCUT_NAME="Crossout"
export PW_PREFIX_NAME="CROSSOUT"
export PW_WINE_USE="WINE_LG"
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"
portwine_exe="${WINEPREFIX}/drive_c/users/$USER/AppData/Local/Crossout Launcher/launcher.exe"
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"

@ -11,8 +11,8 @@ start_portwine
if try_download "https://www.epsxe.com/files/ePSXe205.zip" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "ePSXe."
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/EPSXe"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/EPSXe/ePSXe.exe"
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/ePSXe"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/ePSXe/ePSXe.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine

@ -6,7 +6,7 @@
# info_en: An emulator for the Nintendo Entertainment System (NES) that allows players to enjoy classic NES games on modern devices with high compatibility and various enhancements. The emulator includes tools for game development, testing, and recording.
# info_ru: Эмулятор Nintendo Entertainment System (NES), который позволяет игрокам наслаждаться классическими играми для NES на современных устройствах с высокой совместимостью и различными улучшениями. Эмулятор включает инструменты для разработки, тестирования и записи игр.
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fceux-2.6.5-win64.zip"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/fceux-2.6.6-win64.zip"
start_portwine
if try_download "https://github.com/TASEmulators/fceux/releases/download/v2.6.6/fceux-2.6.6-win64.zip" "${PW_AUTOINSTALL_EXE}" no_mirror
then

@ -19,7 +19,7 @@ export PORTWINE_CREATE_SHORTCUT_NAME="GOG GALAXY"
start_portwine
if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/${GOG_VER}/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
if try_download "https://content-system.gog.com/open_link/download?path=/open/galaxy/client/setup_galaxy_${GOG_VER}.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "GOG Galaxy."
pw_run "${PW_AUTOINSTALL_EXE}"

@ -16,14 +16,13 @@ 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"
kill_portwine
pw_stop_progress_bar
portwine_create_shortcut

@ -0,0 +1,23 @@
#!/usr/bin/env bash
# Author: if984 (Maksim K.)
# type: emulators
# name: melonDS
# image: melonds
# info_en: An open-source Nintendo DS (NDS) emulator. Works with a wide range of Nintendo DS games, from popular classics to niche titles. Supports high resolutions, local multiplayer, and advanced emulation settings.
# info_ru: Эмулятор Nintendo DS (NDS) с открытым исходным кодом. Работает с большим количеством игр Nintendo DS, от популярных классических до нишевых. Поддерживает высокое разрешение, локальный мультиплеер, а также расширенные настройки эмуляции.
########################################################################
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/melonDS-windows-x86_64.zip"
start_portwine
if try_download "https://melonds.kuribo64.net/downloads/melonDS-windows-x86_64.zip" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "melonDS."
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)/melonDS"
portwine_exe="$WINEPREFIX/drive_c/Program Files (x86)/melonDS/melonDS.exe"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="melonDS"
portwine_create_shortcut
fi
stop_portwine

@ -9,7 +9,7 @@
export LAUNCH_PARAMETERS="/VERYSILENT"
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/PPSSPPSetup.exe"
start_portwine
if try_download "https://ppsspp.org/files/1_16_5/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
if try_download "https://ppsspp.org/files/1_18_1/PPSSPPSetup.exe" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "PPSSPP."
pw_run "${PW_AUTOINSTALL_EXE}"
@ -18,7 +18,7 @@ then
try_remove_file "${portwine_exe}.ppdb"
kill_portwine
pw_stop_progress_bar
export PORTWINE_CREATE_SHORTCUT_NAME="PPSSPPWindows"
export PORTWINE_CREATE_SHORTCUT_NAME="PPSSPP"
portwine_create_shortcut
fi
stop_portwine

@ -6,9 +6,11 @@
# info_en: An interface for emulators that supports many game consoles and platforms, allowing users to run old games on modern devices. It offers a user-friendly interface, a rich library of emulation cores, and features for performance and graphics customization.
# info_ru: Интерфейс для эмуляторов, который поддерживает множество игровых консолей и платформ, позволяя пользователям запускать старые игры на современных устройствах. Он предлагает удобный интерфейс, богатую библиотеку ядер эмуляции и функции для настройки производительности и графики.
########################################################################
export PW_RETROARCH_VERSION=$(curl -s "https://buildbot.libretro.com/stable/" | grep -oP 'href="/stable/\K[0-9.]+(?=/")' | sort -V | tail -n1)
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/RetroArch.7z"
start_portwine
if try_download "https://buildbot.libretro.com/stable/1.16.0/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}" no_mirror
if try_download "https://buildbot.libretro.com/stable/$PW_RETROARCH_VERSION/windows/x86_64/RetroArch.7z" "${PW_AUTOINSTALL_EXE}" no_mirror
then
pw_start_progress_bar_install_game "RetroArch."
"$pw_7z" x -y "${PW_AUTOINSTALL_EXE}" -o"$WINEPREFIX/drive_c/Program Files (x86)"

@ -21,7 +21,6 @@ then
pw_start_progress_bar_install_game "World of Sea Battle."
pw_run "${PW_AUTOINSTALL_EXE}"
try_remove_file "${PW_AUTOINSTALL_EXE}"
try_remove_file "${portwine_exe}.ppdb"
if [[ -f "$WINEPREFIX/drive_c/Games/Wosb Launcher/launcher.exe" ]]
then export portwine_exe="$WINEPREFIX/drive_c/Games/Wosb Launcher/launcher.exe"
else export portwine_exe="$WINEPREFIX/drive_c/users/steamuser/AppData/Local/Wosb Launcher/launcher.exe"

@ -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 PW_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
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=2415
#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-7"
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 \