Compare commits

...

91 Commits

Author SHA1 Message Date
b618fd2c63 Merge branch 'devel' 2025-07-01 13:10:19 +03:00
e36de1a1a0 STABLE: Scripts version 2424 2025-07-01 13:09:31 +03:00
a954a23821 Scripts version 2423 2025-07-01 13:06:45 +03:00
89354ddb8d used WINE_HYP_10-10 for HoYoPlay 2025-07-01 13:06:17 +03:00
ca040ffcf6 Scripts version 2422 2025-06-25 19:03:55 +03:00
8d63f8d6de force restart PP if START_FROM_STEAM = 1 2025-06-25 18:56:10 +03:00
081d2b9b18 wayland: fixed fullscreen and work with other wine 2025-06-25 18:34:00 +03:00
db47c53a48 Scripts version 2421 2025-06-24 16:11:01 +03:00
04674915c4 PW_VULKAN_USE=2 for WGC too 2025-06-24 15:55:12 +03:00
cf678324b4 Merge branch 'zorn-v-patch-5' into devel 2025-06-24 15:51:30 +03:00
543290d65d Merge branch 'patch-5' of github.com:zorn-v/PortWINE into zorn-v-patch-5 2025-06-24 15:51:21 +03:00
a0170d1bc3 Update lgc.ppdb 2025-06-24 22:46:30 +10:00
e0aef4473d always show USE_NATIVE_WAYLAND and USE_DXVK_HDR in settings 2025-06-24 15:39:35 +03:00
fe4327e39b silent create desktop files then START_FROM_STEAM = 1 2025-06-24 15:29:41 +03:00
51f6bf56d8 updated pot file and RU locales 2025-06-24 14:45:03 +03:00
94e64da151 added DXVK_HDR support for Wayland 2025-06-24 14:43:24 +03:00
5f3c969e6d updated PW_USE_NATIVE_WAYLAND for new WINE-PROTON 2025-06-24 13:22:00 +03:00
3578867657 updated DXVK, VKD3D, WINE_LG and PROTON_LG 2025-06-24 13:19:54 +03:00
7d037f957d Scripts version 2420 2025-06-14 19:58:39 +03:00
cbc2edea62 added USE_ONLY_LG_RU=1 for use only linux-gaming.ru for all updates 2025-06-14 19:57:57 +03:00
68ac3ae133 Merge branch 'devel' of github.com:if984/PortWINE into devel 2025-06-14 18:40:20 +03:00
9d832733cf Merge branch 'Boria138-inihibit' into devel 2025-06-14 18:38:26 +03:00
e50b2065ff Merge branch 'inihibit' of github.com:Boria138/PortWINE into Boria138-inihibit 2025-06-14 18:38:15 +03:00
332ce3a1c3 Merge branch 'alex2844-script_path_symlinks' into devel 2025-06-14 18:35:17 +03:00
4f0fac9aa0 Merge branch 'script_path_symlinks' of github.com:alex2844/PortWINE into alex2844-script_path_symlinks 2025-06-14 18:35:02 +03:00
644df9076f Merge branch 'alex2844-fix_egs' into devel 2025-06-14 18:32:52 +03:00
9342f087c4 Merge branch 'fix_egs' of github.com:alex2844/PortWINE into alex2844-fix_egs 2025-06-14 18:32:37 +03:00
ad1f2db327 do not change inactive settings 2025-06-14 18:27:21 +03:00
95142305d9 fixed to get legacy vulkan version from ppdb 2025-06-14 17:53:44 +03:00
f330a1790d Merge branch 'Htylol-update_gallium_nine_func' into devel 2025-06-14 17:49:59 +03:00
Max
d0d134ed51 Updated icons 2025-06-04 16:32:36 +03:00
7d3d0031f7 Refactoring for 3D api 2025-06-03 10:25:37 +05:00
5e39bf3ae3 Use WINE_D3D_CONFIG=renderer=gl for default 2025-05-30 01:59:26 +05:00
d2dc2cb2de Update locales 2025-05-30 01:31:04 +05:00
595363adbf Many changes for 3D api 2025-05-30 01:30:29 +05:00
4eed47196e fix: inhibit only sleep and idle not shutdown
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-05-29 16:29:08 +05:00
1018c3b2fa fix: Take first PID from pgrep for EGS 2025-05-29 01:08:56 +05:00
c8288037b7 fix: Use cd/pwd for script path to correctly handle symlinks 2025-05-29 00:49:01 +05:00
a9db4e3bbd Update DISABLE_EDIT_DB_LIST for PW_USE_SUPPLIED_DXVK_VKD3D 2025-05-27 04:13:08 +05:00
280b1b044d Gallium zink and WineD3D vulkan moved to 3D api 2025-05-26 00:37:45 +05:00
a0b8077fc0 Optimizations for PW_USE_SUPPLIED_DXVK_VKD3D 2025-05-24 23:49:51 +05:00
66223080dc Update locales and fix for dgvoodoo2 2025-05-24 23:35:39 +05:00
ea77d55136 Combined damavand with gallium zink. 2025-05-24 23:29:20 +05:00
f7dab19921 Added check for gallium nine 2025-05-24 17:50:28 +05:00
ac812cc19f Merge branch 'devel' 2025-05-24 14:05:25 +03:00
1b0c6c0559 STABLE: Scripts version 2419 2025-05-24 14:04:44 +03:00
87158d1d79 Scripts version 2418 2025-05-24 13:58:47 +03:00
135fcbc306 Fixed icu*.dll path for GE Proton 10+ 2025-05-24 13:46:57 +03:00
3cde7716d6 Scripts version 2417 2025-05-20 20:39:49 +03:00
e09524a3d2 Fixed GSTREAMER path for GE Proton 10+ 2025-05-20 20:28:43 +03:00
d363d99956 Merge branch 'Htylol-update_supplied_dxvk_vkd3d' into devel 2025-05-20 13:24:21 +03:00
8c6140e964 Fixed errors for libvkd3d on Proton 10 2025-05-20 08:49:27 +05:00
abcb6496a1 For supplied_dxvk_vkd3d added by default DXVK_ASYNC=1 2025-05-17 21:09:38 +05:00
63c90c468f For supplied_dxvk_vkd3d added support for Proton 10 2025-05-17 21:06:34 +05:00
f3ee917135 Scripts version 2416 2025-05-17 10:29:33 +03:00
aa3b9fc51c Merge branch 'Htylol-supplied_dxvk_vkd3d' into devel 2025-05-17 09:52:40 +03:00
464996e583 Merge branch 'supplied_dxvk_vkd3d' of github.com:Htylol/PortWINE into Htylol-supplied_dxvk_vkd3d 2025-05-17 09:52:31 +03:00
1d427a0bf6 Merge branch 'Boria138-sarek' into devel 2025-05-17 09:51:30 +03:00
de1d851f92 Merge branch 'sarek' of github.com:Boria138/PortWINE into Boria138-sarek 2025-05-17 09:51:23 +03:00
72d49ae859 Merge branch 'Htylol-fixed_locales_3' into devel 2025-05-17 09:50:49 +03:00
9d79a2111e added Sarek Proton to download other wine
Signed-off-by: Boris Yumankulov <boria138@altlinux.org>
2025-05-11 10:44:41 +05:00
9d07b9cbc3 Fixed for compatibility with dgvoodoo2 2025-05-11 01:56:12 +05:00
a446285949 Added a check for d3d9.dll file from dxvk directory, removed unnecessary conditions 2025-05-10 20:43:50 +05:00
ede26c6a4c Added compatibility with older versions of Proton 2025-05-10 04:24:10 +05:00
3642be99c8 Fix for d8vk and when other 3D apis are used 2025-05-10 02:30:58 +05:00
0162b6bdd8 With WINE_LG and PROTON_LG, the PW_USE_SUPPLIED_DXVK_VKD3D setting is not available 2025-05-09 20:14:36 +05:00
e287e42bfc Added translations for supplied_dxvk_vkd3d 2025-05-09 18:38:24 +05:00
f56bbdb2b5 Added the ability to use dxvk and vkd3d which are shipped with proton versions. 2025-05-09 18:22:22 +05:00
f5616598b9 Fixed generate_pot after adding Numa node 2025-05-09 02:08:38 +05:00
a81fdc4895 Scripts version 2415 2025-05-07 14:28:04 +03:00
4a0ea39d0a fixed run winetricks from DB settings 2025-05-07 14:23:59 +03:00
6beaa71599 Scripts version 2414 2025-05-07 14:11:48 +03:00
be9579c08a Merge branch 'if984-devel' into devel 2025-05-07 13:25:50 +03:00
f43c63d13b Merge branch 'devel' of github.com:if984/PortWINE into if984-devel 2025-05-07 13:25:30 +03:00
9ee30c29d4 Merge branch 'Boria138-blackwell' into devel 2025-05-07 13:11:29 +03:00
c2deaf34df Merge branch 'blackwell' of github.com:Boria138/PortWINE into Boria138-blackwell 2025-05-07 13:11:17 +03:00
04e282f5f0 Merge branch 'Boria138-numa' into devel 2025-05-07 13:10:42 +03:00
f7bd84498e Merge branch 'numa' of github.com:Boria138/PortWINE into Boria138-numa 2025-05-07 13:10:30 +03:00
c8e84d9a54 updated WINE_LG to 10-7 2025-05-07 12:52:26 +03:00
abef968fde updated GOG installer 2025-05-07 12:03:58 +03:00
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
2cb6436712 Added Blackwell (RTX50) pci to check_nvidia_rtx 2025-04-24 11:00:49 +05:00
5ce1ef8a04 Added Numa node select
**Что такое NUMA и зачем это нужно?**

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

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

View File

@ -2,6 +2,68 @@ You can help us in the development of the project on the website: https://linux-
----------------------------------------
Changelog:
###Scripts version 2424### / stable / Дата: 01.07.2025 / Download update size: 380 megabytes
* cumulative update to the stable version of PortProton scripts
###Scripts version 2423### / Date: 01.07.2025 / Download update size: 4 megabytes
* added new version "WINE_HYP_10-10" to fix launch of game "Genshin Impact"
(to apply fix just use autoinstall HoYoPlay again)
###Scripts version 2422### / Date: 25.06.2025 / Download update size: 4 megabytes
* fixed work of games in full screen when using native wayland
* fixed work of third-party versions of WINE when using native wayland
* quieter mode when using the variable START_FROM_STEAM="1"
###Scripts version 2421### / Date: 24.06.2025 / Download update size: 380 megabytes
* with new versions of WINE and PROTON, launch under native Wayland has been fixed
* WINE_LG has been updated to version "10-10-1" (added support for native Wayland)
* PROTON_LG has been updated to version "10-4" (repackaging from GE-Proton10-4)
* updated versions:
- DXVK_GIT "2.6.1-255" (together with dxvk-nvapi)
- VKD3D_GIT "1.1-4591" (together with vkd3d-shader)
* added a setting to enable HDR in the game (only for Wayland)
* added automatic creation of shortcuts when unpacking a prefix from a backup copy (only with the START_FROM_STEAM="1" variable)
###Scripts version 2420### / Date: 14.06.2025 / Download update size: 4 megabytes
* updated icons in the autoinstall section (thanks to if984)
* improved functions for selecting 3D Api and their additional settings (thanks to Htylol)
* when adding the variable USE_ONLY_LG_RU="1" to user.conf, PortProton updates only from linux-gaming.ru servers
* other small script improvements (thanks to Boria138, alex2844, Htylol)
###Scripts version 2419### / stable / Дата: 24.05.2025 / Download update size: 185 megabytes
* cumulative update to the stable version of PortProton scripts
###Scripts version 2418### / Date: 24.05.2025 / Download update size: 4 megabytes
* сompleted adding full support for third-party GE-Proton versions 10 and above
###Scripts version 2417### / Date: 20.05.2025 / Download update size: 4 megabytes
* fixed of third-party versions of DXVK and VKD3D for GE-Proton10+ (thanks to Htylol)
* fixed of GSTREAMER (playing videos) on GE-Proton10+
###Scripts version 2416### / Date: 17.05.2025 / Download update size: 4 megabytes
* fixed translation generation (thanks to Htylol)
* added the ability to download Sarek Proton (thanks to Boria138)
* when using third-party versions of PROTON, DXVK and VKD3D are used, which are supplied with them (thanks to Htylol)
###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

View File

@ -2,6 +2,69 @@
-----------------------------------------
История изменений:
###Scripts version 2424### / stable / Дата: 01.07.2025 / Размер скачиваемого обновления: 380 мегабайт
* кумулятивное обновление стабильной версии скриптов PortProton
###Scripts version 2423### / Дата: 01.07.2025 / Размер скачиваемого обновления: 4 мегабайта
* добавлена новая версия "WINE_HYP_10-10" для исправления запуска игры "Genshin Impact"
(для применения исправления просто воспользуйтесь повторно автоустановкой HoYoPlay)
###Scripts version 2422### / Дата: 25.06.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена работа игр в полном экране при использовании нативного wayland
* исправлена работа сторонних версий WINE при использовании нативного wayland
* более "тихий" режим при использовании переменной START_FROM_STEAM="1"
###Scripts version 2421### / Дата: 24.06.2025 / Размер скачиваемого обновления: 380 мегабайт
* с новыми версиями WINE и PROTON исправлен запуск под нативным Wayland
* обновлен WINE_LG до версии "10-10-1" (добавлена поддержка нативного Wayland)
* обновлен PROTON_LG до версии "10-4" (перепаковка с GE-Proton10-4)
* обновлены версии:
- DXVK_GIT "2.6.1-255" (совместно с dxvk-nvapi)
- VKD3D_GIT "1.1-4591" (совместно vkd3d-shader)
* добавлена настройка для включения HDR в игре (только для Wayland)
* добавлено автоматическое создание ярлыков при распаковке префикса из резервной копии (только при переменной START_FROM_STEAM="1")
* исправлены возможные артефакты в играх от LGC и WGC (спасибо zorn-v)
###Scripts version 2420### / Дата: 14.06.2025 / Размер скачиваемого обновления: 4 мегабайта
* обновлены иконки в разделе автоустановки (спасибо if984)
* улучшены функции выбора 3D Api и их дополнительных настроек (спасибо Htylol)
* при добавлении переменной USE_ONLY_LG_RU="1" в user.conf, обновления PortProton происходят только с серверов linux-gaming.ru
* другие небольшие улучшения скриптов (спасибо Boria138, alex2844, Htylol)
###Scripts version 2419### / stable / Дата: 24.05.2025 / Размер скачиваемого обновления: 185 мегабайт
* кумулятивное обновление стабильной версии скриптов PortProton
###Scripts version 2418### / Дата: 24.05.2025 / Размер скачиваемого обновления: 4 мегабайта
* завершено добавление полной поддержки сторонних GE-Proton версий 10 и выше
###Scripts version 2417### / Дата: 20.05.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена работа сторонних версий DXVK и VKD3D для GE-Proton10+ (спасибо Htylol)
* исправлена работа GSTREAMER (отображение видеороликов) на версиях GE-Proton10+
###Scripts version 2416### / Дата: 17.05.2025 / Размер скачиваемого обновления: 4 мегабайта
* исправлена генерация переводов (спасибо Htylol)
* добавлена возможность скачивания Sarek Proton (спасибо Boria138)
* при использовании сторонних версий PROTON используется DXVK и VKD3D, которые поставляются вместе с ними (спасибо Htylol)
###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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

BIN
data_from_portwine/img/gui/itch.png Executable file → Normal file

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.1 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

After

Width:  |  Height:  |  Size: 685 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 KiB

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -7,13 +7,13 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-07 19:38+0500\n"
"POT-Creation-Date: 2025-06-24 14:35+0300\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 ""
@ -322,9 +316,6 @@ msgstr ""
msgid "UPDATING NOW"
msgstr ""
msgid "EXIT"
msgstr ""
msgid "Searching for .exe files... Please wait."
msgstr ""
@ -350,8 +341,7 @@ msgstr ""
msgid "Launched"
msgstr ""
msgid "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the "
"missing package: <b>d3dadapter9</b>"
msgid "EXIT"
msgstr ""
msgid "You will need to check internet connection,and\\npress Repeat for "
@ -526,8 +516,10 @@ msgstr ""
msgid "Force use DirectInput protocol instead of XInput"
msgstr ""
msgid "Enable experemental native Wayland support (need special wine build "
"to work)"
msgid "Enable experemental native Wayland support"
msgstr ""
msgid "Enable HDR settings in games with native Wayland"
msgstr ""
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
@ -540,6 +532,10 @@ msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental "
"function."
msgstr ""
msgid "Use dxvk and vkd3d which are bundled with wine or proton. (Does not "
"work with PROTON_LG and WINE_LG)"
msgstr ""
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
msgstr ""
@ -638,6 +634,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 ""

View File

@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-07 19:32+0500\n"
"PO-Revision-Date: 2025-04-07 19:35+0500\n"
"POT-Creation-Date: 2025-06-24 14:18+0300\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es_ES\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"
@ -354,9 +348,6 @@ msgstr "VUELVA MÁS TARDE"
msgid "UPDATING NOW"
msgstr "ACTUALIZANDO AHORA"
msgid "EXIT"
msgstr "SALIR"
msgid "Searching for .exe files... Please wait."
msgstr "Buscando archivos .exe... Por favor, espera."
@ -384,12 +375,8 @@ msgstr "¿Quieres instalar las bibliotecas recomendadas en el nuevo prefijo:"
msgid "Launched"
msgstr "Lanzado"
msgid ""
"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
"package: <b>d3dadapter9</b>"
msgstr ""
"d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n"
"Instala el paquete faltante:<b>d3dadapter9</b>"
msgid "EXIT"
msgstr "SALIR"
msgid ""
"You will need to check internet connection,and\\npress Repeat for repeat "
@ -631,12 +618,15 @@ msgstr ""
msgid "Force use DirectInput protocol instead of XInput"
msgstr "Forzar el uso del protocolo DirectInput en lugar de XInput"
msgid ""
"Enable experemental native Wayland support (need special wine build to work)"
#, fuzzy
msgid "Enable experemental native Wayland support"
msgstr ""
"Habilite el soporte experimental nativo de Wayland (necesita una compilación "
"de vino especial para funcionar)"
msgid "Enable HDR settings in games with native Wayland"
msgstr ""
#, fuzzy
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgstr "Gallium Zink (OpenGL a Vulkan)"
@ -648,6 +638,13 @@ msgstr ""
msgid "Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function."
msgstr "WineD3D Vulkan (Damavand experimental)"
msgid ""
"Use dxvk and vkd3d which are bundled with wine or proton. (Does not work "
"with PROTON_LG and WINE_LG)"
msgstr ""
"Utilice dxvk y vkd3d que vienen incluidos con wine o proton. (No funciona "
"con PROTON_LG y WINE_LG)"
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
msgstr "Desactivar llamadas asíncronas para los modos VULKAN y DXVK"
@ -791,6 +788,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"
@ -1693,11 +1700,9 @@ 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"
msgstr ""
msgid ""
"<b>Gamescope is not detected on the system, please contact the manufacturer "
@ -2168,6 +2173,19 @@ msgstr "UNIRSE"
msgid "THIRD PARTY LIBRARIES"
msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid ""
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
#~ "package: <b>d3dadapter9</b>"
#~ msgstr ""
#~ "d3dadapter9.so.1.0.0 - No encontrado en el sistema.\n"
#~ "Instala el paquete faltante:<b>d3dadapter9</b>"
#~ msgid "Global settings"
#~ msgstr "Configuraciones globales"
#~ msgid "Settings for user.conf"
#~ msgstr "Configuración user.conf"
#~ msgid ""
#~ "This program comes with absolutely no warranty.\n"
#~ "See the License for details."
@ -2193,8 +2211,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."
@ -2202,6 +2220,17 @@ 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"

View File

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-07 19:32+0500\n"
"PO-Revision-Date: 2025-04-07 19:33+0500\n"
"POT-Creation-Date: 2025-06-24 14:35+0300\n"
"PO-Revision-Date: 2025-06-24 14:37+0300\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.4.4\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.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 "Открыть папку"
@ -365,9 +359,6 @@ msgstr "НАПОМНИТЬ ПОЗЖЕ"
msgid "UPDATING NOW"
msgstr "ОБНОВИТЬ СЕЙЧАС"
msgid "EXIT"
msgstr "ВЫХОД"
msgid "Searching for .exe files... Please wait."
msgstr "Поиск .exe файлов... Пожалуйста, подождите."
@ -394,12 +385,8 @@ msgstr "Хотите добавить рекомендуемые библиот
msgid "Launched"
msgstr "Запущено"
msgid ""
"d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
"package: <b>d3dadapter9</b>"
msgstr ""
"d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий пакет: "
"<b>d3dadapter9</b>"
msgid "EXIT"
msgstr "ВЫХОД"
msgid ""
"You will need to check internet connection,and\\npress Repeat for repeat "
@ -652,11 +639,14 @@ msgstr ""
"протоколе XInput, также работают. Выключите эту опцию, если геймпад перестал "
"опознаваться игрой"
msgid ""
"Enable experemental native Wayland support (need special wine build to work)"
msgid "Enable experemental native Wayland support"
msgstr ""
"Включить экспериментальную поддержку запуска игры/программы из-под нативной "
"сессии Wayland, минуя XWayland (для работы требуется специальная сборка Wine)"
"сессии Wayland, минуя XWayland"
msgid "Enable HDR settings in games with native Wayland"
msgstr ""
"Включить настройки HDR в игре (автоматически включает USE_NATIVE_WAYLAND)"
msgid "Use Gallium Zink (OpenGL driver is implemented via Vulkan)"
msgstr "Использовать Gallium Zink (трансляция OpenGL в Vulkan)"
@ -669,6 +659,13 @@ msgstr ""
"Вместо DXVK используется WineD3D vulkan (Дамаванд). Экспериментальная "
"функция."
msgid ""
"Use dxvk and vkd3d which are bundled with wine or proton. (Does not work "
"with PROTON_LG and WINE_LG)"
msgstr ""
"Использовать dxvk и vkd3d, которые поставляются в комплекте с wine или "
"proton. (Не работает с PROTON_LG и WINE_LG)"
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
msgstr "Отключить асинхронные вызовы для режимов VULKAN и DXVK"
@ -814,6 +811,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 "НАСТРОЙКИ"
@ -1681,11 +1690,10 @@ msgid ""
"Gamescope is not detected on the system, to install it, run the command in "
"the terminal"
msgstr ""
"Gamescope не найден в системе, для его установки выполните команду в "
"терминале"
"Gamescope не обнаружен, для установки воспользуйтесь командой в терминале"
msgid "Can be selected and copied"
msgstr "Можно выделить и скопировать"
msgstr "ожно выделить и скопировать)"
msgid ""
"<b>Gamescope is not detected on the system, please contact the manufacturer "
@ -2147,6 +2155,19 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
#~ msgid ""
#~ "d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing "
#~ "package: <b>d3dadapter9</b>"
#~ msgstr ""
#~ "d3dadapter9.so.1.0.0 - Не найден в системе.\\nУстановите недостающий "
#~ "пакет: <b>d3dadapter9</b>"
#~ msgid "Global settings"
#~ msgstr "Глобальные настройки"
#~ msgid "Settings for user.conf"
#~ msgstr "Настройки для user.conf"
#~ msgid ""
#~ "This program comes with absolutely no warranty.\n"
#~ "See the License for details."
@ -2181,6 +2202,17 @@ 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"

View File

@ -204,6 +204,7 @@ generate_pot () {
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' "${PORT_SCRIPTS_PATH}/$i" > "${PORT_SCRIPTS_PATH}/${i}_tmp"
sed -i '/\[\$/d' "${PORT_SCRIPTS_PATH}/${i}_tmp"
done
#Когда присходит предупреждение: синтаксис $"..." запрещен по соображениям безопасности; используйте eval_gettext
#и ругается на строку в которой нет перевода, можно использовать sed -i '//d' и убрать эту строку
@ -664,7 +665,6 @@ var_winedlloverride_update () {
export WINEDLLOVERRIDES="${1}${WINEDLLOVERRIDES:+;$WINEDLLOVERRIDES}"
}
var_vkd3d_config_update () {
if echo "$VKD3D_CONFIG" | grep "$1"
then return 0
@ -1694,7 +1694,11 @@ init_wine_ver () {
if ! check_flatpak ; then
WINE_LIBRARY_PATH="${WINEDIR}/lib"
[[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] && WINE_LIBRARY_PATH+=":${WINEDIR}/lib64"
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]]
then WINE_LIBRARY_PATH+=":${WINEDIR}/lib64"
elif [[ -d "${WINEDIR}/lib/x86_64-linux-gnu" ]]
then WINE_LIBRARY_PATH+=":${WINEDIR}/lib/x86_64-linux-gnu:${WINEDIR}/lib/i386-linux-gnu"
fi
export WINE_LIBRARY_PATH
fi
@ -1810,10 +1814,8 @@ pw_mangohud_check () {
export PW_MANGOHUD_SLR='MANGOHUD=1'
fi
# TODO: need to fix work for OpenGL without flatpak...
if [[ $PW_USE_GALLIUM_ZINK == "0" ]] ; then
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
fi
MANGOHUD_LIB_NAME="libMangoHud_shim.so"
export PW_LD_PRELOAD="${PW_LD_PRELOAD:+$PW_LD_PRELOAD:}${MANGOHUD_LIB_NAME}"
else
export PW_MANGOHUD_SLR=''
print_info "MangoHud is disabled"
@ -2301,6 +2303,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
}
@ -2452,7 +2456,6 @@ pw_init_db () {
;;
esac
[[ "${START_FROM_STEAM}" == 1 ]] && export PW_GUI_DISABLED_CS=1
[[ "${START_FROM_PP_GUI}" == 1 ]] && export PW_GUI_DISABLED_CS=0 && unset START_FROM_PP_GUI
@ -2474,7 +2477,7 @@ pw_port_update () {
if [[ ! -f "${PORT_WINE_TMP_PATH}/scripts_ver" ]] \
|| [[ ! $BRANCH =~ (devel|master) ]]; then
echo "2024" > "${PORT_WINE_TMP_PATH}/scripts_ver"
echo "2025" > "${PORT_WINE_TMP_PATH}/scripts_ver"
BRANCH_VERSION_UPDATE="SCRIPTS_STABLE_VERSION"
BRANCH="master"
fi
@ -2484,21 +2487,26 @@ pw_port_update () {
URL_PP_GITEA="https://git.linux-gaming.ru/CastroFidel/PortWINE/raw/branch/${BRANCH}/data_from_portwine/scripts/var"
pw_check_update () {
debug_timer --start -s "UPDATE_ETERFUND"
if ! timeout 2 curl -f -s --list-only "$URL_ETERFUND" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://gitlab.eterfund.ru/ broken. Skip it..."
UPDATE_SKIP_ETERFUND="1"
fi
debug_timer --end -s "UPDATE_ETERFUND"
if [[ $USE_ONLY_LG_RU != "1" ]] ; then
debug_timer --start -s "UPDATE_ETERFUND"
if ! timeout 2 curl -f -s --list-only "$URL_ETERFUND" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://gitlab.eterfund.ru/ broken. Skip it..."
UPDATE_SKIP_ETERFUND="1"
fi
debug_timer --end -s "UPDATE_ETERFUND"
debug_timer --start -s "UPDATE_GITHUB"
if ! timeout 2 curl -f -s --list-only "$URL_GITHUB" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://raw.githubusercontent.com/ broken. Skip it..."
debug_timer --start -s "UPDATE_GITHUB"
if ! timeout 2 curl -f -s --list-only "$URL_GITHUB" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
then
print_warning "https://raw.githubusercontent.com/ broken. Skip it..."
UPDATE_SKIP_GITHUB="1"
fi
debug_timer --end -s "UPDATE_GITHUB"
else
UPDATE_SKIP_ETERFUND="1"
UPDATE_SKIP_GITHUB="1"
fi
debug_timer --end -s "UPDATE_GITHUB"
debug_timer --start -s "UPDATE_PP_GITEA"
if ! timeout 2 curl -f -s --list-only "$URL_PP_GITEA" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
@ -2732,6 +2740,28 @@ pw_get_tmp_files () {
print_warning "use portable vulkaninfo"
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
fi
# GALLIUM NINE
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
FIND_D3D_MODULE="$(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*" 2>/dev/null)"
if [[ -n "$FIND_D3D_MODULE" ]] ; then
FIND_D3D_MODULE="$(dirname "$FIND_D3D_MODULE")"
IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do
if [[ -n "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi
done
IFS="$orig_IFS"
fi
else
if [[ -d "/app/lib/i386-linux-gnu/GL/default/lib/d3d" && -d "/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d" ]] ; then
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
fi
fi
[[ -n $D3D_MODULE_PATH ]] && echo "$D3D_MODULE_PATH" > "${PW_TMPFS_PATH}/gallium_nine.tmp"
}
pw_skip_get_info () {
@ -2753,6 +2783,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"
@ -3057,6 +3088,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
}
@ -3132,10 +3164,12 @@ start_portwine () {
pw_init_runtime
if [[ "${PW_USE_GSTREAMER}" == "1" ]] ; then
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]] \
&& ! check_flatpak
then
export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
if ! check_flatpak ; then
if [[ -d "${WINEDIR}/lib64/gstreamer-1.0" ]]
then export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib64/gstreamer-1.0:${WINEDIR}/lib/gstreamer-1.0"
elif [[ -d "${WINEDIR}/lib/x86_64-linux-gnu/gstreamer-1.0" ]]
then export GST_PLUGIN_SYSTEM_PATH_1_0="${WINEDIR}/lib/x86_64-linux-gnu/gstreamer-1.0:${WINEDIR}/lib/i386-linux-gnu/gstreamer-1.0"
fi
fi
export GST_GL_WINDOW="surfaceless"
unset GST_GL_WINDOW
@ -3183,10 +3217,14 @@ 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"
try_force_link_file "${WINEDIR}/lib64/icu/${dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${dll}.dll"
elif [[ -f "${WINEDIR}/lib/wine/icu/i386-windows/${dll}.dll" ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/icu/i386-windows/${dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${dll}.dll"
try_force_link_file "${WINEDIR}/lib/wine/icu/x86_64-windows/${dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${dll}.dll"
else
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/${dll}.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/${dll}.dll"
@ -3523,7 +3561,7 @@ start_portwine () {
if command -v systemd-inhibit &>/dev/null \
&& [[ "$GAMEMODERUN" != "1" ]]
then
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]}"
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]} --what=idle:sleep"
print_info "Screensaver will be inhibit"
fi
pw_other_fixes
@ -3592,85 +3630,68 @@ start_portwine () {
# 3D API
unset CP_VKD3D_FILES CP_DXVK_FILES CP_DGV2_FILES CP_WINE_FILES PATH_TO_DXVK_FILES PATH_TO_VKD3D_FILES CP_GALLIUM_NINE_FILES
[[ "$PW_USE_GALLIUM_NINE" == "1" ]] && PW_VULKAN_USE="3"
case "${PW_VULKAN_USE}" in
0)
# WINED3D OPENGL
print_info "Use WINED3D OpenGL"
unset PW_VKBASALT PW_USE_GALLIUM_ZINK PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
;;
1)
# STABLE DXVK AND VKD3D
print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="d3d12core d3d8"
;;
2)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_GIT_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10"
;;
3)
# LEGACY DXVK
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d8"
;;
esac
if [[ $PW_USE_DAMAVAND == "1" ]] && [[ $PW_VULKAN_USE != "0" ]] ; then
# WINED3D VULKAN (DAMAVAND)
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
if [[ $PW_USE_GALLIUM_NINE == "1" ]] \
|| [[ $PW_USE_GALLIUM_ZINK == "1" ]] \
|| [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
unset PATH_TO_DXVK_FILES CP_DXVK_FILES PW_USE_SUPPLIED_DXVK_VKD3D
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
export WINE_D3D_CONFIG="renderer=vulkan"
else
case "${PW_VULKAN_USE}" in
0)
# WINED3D OPENGL
print_info "Use WINED3D OpenGL"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export PW_VKBASALT="0"
export PW_USE_GALLIUM_ZINK="0"
;;
1)
# STABLE DXVK AND VKD3D
print_info "DXVK v.${DXVK_STABLE_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_STABLE_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_STABLE_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_STABLE_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 libvkd3d-shader-1"
CP_WINE_FILES="d3d12core d3d8"
;;
2)
# NEWEST DXVK AND VKD3D
print_info "DXVK v.${DXVK_GIT_VER} in use"
print_info "VKD3D-PROTON v.${VKD3D_GIT_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_GIT_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d10_1 d3d10"
;;
3)
# GALLIUM NINE
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_GALLIUM_NINE_FILES="d3d9"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d8 dxgi"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export WINE_D3D_CONFIG="renderer=gl"
export PW_VKBASALT="0"
export PW_MANGOHUD="0"
export PW_WINE_FULLSCREEN_FSR="0"
export PW_USE_GALLIUM_ZINK="0"
export DXVK_ENABLE_NVAPI="0"
export PW_USE_VRCLIENT="0"
;;
5)
# LEGACY DXVK
print_info "DXVK v.${DXVK_LEGACY_VER} in use"
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_LEGACY_VER}"
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_GIT_VER}"
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
CP_WINE_FILES="d3d12 d3d12core d3d8"
;;
esac
fi
# GALLIUM NINE
if [[ $PW_USE_GALLIUM_NINE == "1" ]] ; then
print_info "Use GALLIUM-NINE (Native DX9 on MESA drivers)"
unset PW_VKBASALT PW_MANGOHUD PW_WINE_FULLSCREEN_FSR DXVK_ENABLE_NVAPI PW_USE_VRCLIENT
rm_from_var CP_WINE_FILES "d3d9"
CP_GALLIUM_NINE_FILES="d3d9"
fi
# GALLIUM ZINK
if [[ $PW_USE_GALLIUM_ZINK == "1" ]] ; then
# GALLIUM ZINK
print_info "Use GALLIUM-ZINK (OpenGL on MESA vulkan drivers)"
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
export __GLX_VENDOR_LIBRARY_NAME="mesa"
export MESA_LOADER_DRIVER_OVERRIDE="zink"
export GALLIUM_DRIVER="zink"
@ -3680,11 +3701,59 @@ start_portwine () {
then
export LIBGL_KOPPER_DRI2="1"
fi
if [[ $(check_vendor_gpu) =~ nouveau ]] ; then
export NOUVEAU_USE_ZINK="1"
[[ $(check_vendor_gpu) =~ nouveau ]] && export NOUVEAU_USE_ZINK="1"
fi
# WINED3D VULKAN
if [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
print_info "Use DAMAVAND (DirectX to wined3d vulkan)"
export WINE_D3D_CONFIG="renderer=vulkan"
else
if [[ $PW_VULKAN_USE == "0" ]] \
|| [[ $PW_USE_GALLIUM_NINE == "1" ]] || [[ $PW_USE_GALLIUM_ZINK == "1" ]] ; then
export WINE_D3D_CONFIG="renderer=gl"
fi
fi
export __GL_YIELD="NOTHING"
export mesa_glthread="true"
if [[ $PW_USE_SUPPLIED_DXVK_VKD3D == "1" ]] \
&& [[ ! $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] \
&& [[ -f "${WINEDIR}/lib64/wine/dxvk/d3d9.dll" || -f "${WINEDIR}/lib/wine/dxvk/x86_64-windows/d3d9.dll" ]] ; then
export DXVK_ASYNC="1"
if [[ -f "${WINEDIR}/lib64/wine/dxvk/d3d10.dll" && -f "${WINEDIR}/lib64/wine/dxvk/d3d10_1.dll" ]] ; then
CP_DXVK_FILES="d3d11 d3d10core d3d10_1 d3d10 d3d9 dxgi"
CP_WINE_FILES=""
else
CP_DXVK_FILES="d3d11 d3d10core d3d9 dxgi"
CP_WINE_FILES="d3d10_1 d3d10"
fi
if [[ $PW_DGVOODOO2 != "1" ]] ; then
if [[ -f "${WINEDIR}/lib64/wine/d8vk/d3d8.dll" ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/d8vk/d3d8.dll" "${WINEPREFIX}/drive_c/windows/syswow64/d3d8.dll"
try_force_link_file "${WINEDIR}/lib64/wine/d8vk/d3d8.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d8.dll"
var_winedlloverride_update "d3d8=n"
elif [[ -f "${WINEDIR}/lib64/wine/dxvk/d3d8.dll" || -f "${WINEDIR}/lib/wine/dxvk/x86_64-windows/d3d8.dll" ]]
then add_to_var CP_DXVK_FILES "d3d8"
else add_to_var CP_WINE_FILES "d3d8"
fi
fi
if [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12core.dll" && -f "${WINEDIR}/lib64/vkd3d/libvkd3d-1.dll" ]] \
|| [[ -f "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/d3d12core.dll" && -f "${WINEDIR}/lib/vkd3d/x86_64-windows/libvkd3d-1.dll" ]] ; then
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
elif [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12.dll" && -f "${WINEDIR}/lib64/vkd3d/libvkd3d-shader-1.dll" ]] ; then
CP_VKD3D_FILES="d3d12 libvkd3d-1 libvkd3d-shader-1"
add_to_var CP_WINE_FILES "d3d12core"
else
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
add_to_var CP_WINE_FILES "d3d12 d3d12core"
fi
[[ -f "${WINEDIR}/lib/wine/dxvk/x86_64-windows/d3d9.dll" ]] && PW_USE_SUPPLIED_DXVK_VKD3D="2"
else
PW_USE_SUPPLIED_DXVK_VKD3D="0"
fi
# DGVOODOO2 enable:
if [[ "${PW_DGVOODOO2}" == "1" ]] ; then
print_info "Try create symlink DGVOODOO2 files..."
@ -3698,26 +3767,32 @@ start_portwine () {
try_force_link_file "${PATH_TO_DGV2_FILES}/x64/d3d9.dll" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
try_force_link_file "${DGV2CONF}" "${WINEPREFIX}/drive_c/windows/system32/dgVoodoo.conf"
case "${PW_VULKAN_USE}" in
0)
rm_from_var CP_WINE_FILES "d3d9 d3d8"
;;
1)
rm_from_var CP_DXVK_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
2)
rm_from_var CP_DXVK_FILES "d3d9 d3d8"
;;
3)
rm_from_var CP_GALLIUM_NINE_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
5)
rm_from_var CP_DXVK_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
esac
if [[ $PW_USE_GALLIUM_NINE == "1" ]] ; then
rm_from_var CP_GALLIUM_NINE_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
elif [[ $PW_USE_GALLIUM_ZINK == "1" ]] || [[ $PW_USE_WINED3D_VULKAN == "1" ]] ; then
rm_from_var CP_WINE_FILES "d3d9 d3d8"
elif [[ $PW_USE_SUPPLIED_DXVK_VKD3D != "0" ]] ; then
rm_from_var CP_DXVK_FILES "d3d9"
else
case "${PW_VULKAN_USE}" in
0)
rm_from_var CP_WINE_FILES "d3d9 d3d8"
;;
1)
rm_from_var CP_DXVK_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
2)
rm_from_var CP_DXVK_FILES "d3d9 d3d8"
;;
3)
rm_from_var CP_DXVK_FILES "d3d9"
rm_from_var CP_WINE_FILES "d3d8"
;;
esac
fi
fi
if [[ "${PW_DGV2_GLIDE_NAPALM}" == "1" ]] ; then
@ -3908,13 +3983,20 @@ start_portwine () {
if [[ -n "$CP_DXVK_FILES" ]] ; then
print_info "Try create symlink DXVK files..."
for wine_dxvk_dll in $CP_DXVK_FILES ; do
if [[ -f "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll"
if [[ "$PW_USE_FAKE_DLSS_3" == "1" ]] && [[ "$wine_dxvk_dll" == dxgi ]]
then var_winedlloverride_update "dxgi=n,b"
else var_winedlloverride_update "${wine_dxvk_dll}=n"
fi
case "$PW_USE_SUPPLIED_DXVK_VKD3D" in
2)
try_force_link_file "${WINEDIR}/lib/wine/dxvk/i386-windows/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${WINEDIR}/lib/wine/dxvk/x86_64-windows/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
1)
try_force_link_file "${WINEDIR}/lib/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/wine/dxvk/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
0)
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
esac
if [[ $PW_USE_FAKE_DLSS_3 == "1" ]] && [[ $wine_dxvk_dll == "dxgi" ]]
then var_winedlloverride_update "dxgi=n,b"
else var_winedlloverride_update "${wine_dxvk_dll}=n"
fi
done
create_new_dir "${PATH_TO_DXVK_FILES}/dxvk_cache"
@ -3924,9 +4006,19 @@ start_portwine () {
if [[ "$DXVK_ENABLE_NVAPI" == "1" ]] ; then
print_info "Try create symlink NVAPI files..."
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvofapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvofapi64.dll"
if [[ $PW_USE_SUPPLIED_DXVK_VKD3D == "2" ]] && [[ -f "${WINEDIR}/lib/wine/nvapi/x86_64-windows/nvapi64.dll" ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/nvapi/i386-windows/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
try_force_link_file "${WINEDIR}/lib/wine/nvapi/x86_64-windows/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
try_force_link_file "${WINEDIR}/lib/wine/nvapi/x86_64-windows/nvofapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvofapi64.dll"
elif [[ $PW_USE_SUPPLIED_DXVK_VKD3D == "1" ]] && [[ -f "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/nvapi/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
try_force_link_file "${WINEDIR}/lib64/wine/nvapi/nvofapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvofapi64.dll"
else
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/nvofapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvofapi64.dll"
fi
var_winedlloverride_update "nvapi64,nvofapi64,nvapi=n;nvcuda=b"
else
try_remove_file "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
@ -3937,17 +4029,37 @@ start_portwine () {
if [[ -n "$CP_VKD3D_FILES" ]] ; then
print_info "Try create symlink VKD3D files..."
for wine_vkd3d_dll in $CP_VKD3D_FILES ; do
if [[ -f "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" ]] ; then
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
var_winedlloverride_update "${wine_vkd3d_dll}=n"
fi
case "$PW_USE_SUPPLIED_DXVK_VKD3D" in
2)
if [[ $wine_vkd3d_dll =~ d3d12 ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/i386-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi
if [[ $wine_vkd3d_dll =~ libvkd3d ]] ; then
try_force_link_file "${WINEDIR}/lib/vkd3d/i386-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib/vkd3d/x86_64-windows/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi ;;
1)
if [[ $wine_vkd3d_dll =~ d3d12 ]] ; then
try_force_link_file "${WINEDIR}/lib/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/wine/vkd3d-proton/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi
if [[ $wine_vkd3d_dll =~ libvkd3d ]] ; then
try_force_link_file "${WINEDIR}/lib/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${WINEDIR}/lib64/vkd3d/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll"
fi ;;
0)
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_vkd3d_dll}.dll"
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/${wine_vkd3d_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_vkd3d_dll}.dll" ;;
esac
[[ ! $wine_vkd3d_dll =~ libvkd3d ]] && var_winedlloverride_update "${wine_vkd3d_dll}=n"
done
create_new_dir "${PATH_TO_VKD3D_FILES}/vkd3d_cache"
export VKD3D_SHADER_CACHE_PATH="${PATH_TO_VKD3D_FILES}/vkd3d_cache"
fi
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] ; then
# GALLIUM NINE
if [[ "$CP_GALLIUM_NINE_FILES" == "d3d9" ]] && [[ -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] ; then
PATH_TO_GALLIUM_NINE_FILES="${PW_PLUGINS_PATH}/gallium_nine_v.${PW_GALLIUM_NINE_VER}"
if [[ ! -d "$PATH_TO_GALLIUM_NINE_FILES" ]] ; then
if try_download "github.com/Castro-Fidel/vulkan/releases/download/gallium_nine_v.${PW_GALLIUM_NINE_VER}/gallium_nine_v.${PW_GALLIUM_NINE_VER}.tar.xz" \
@ -3961,28 +4073,8 @@ start_portwine () {
print_info "Try create symlink GALLIUM_NINE files..."
try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib32/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/syswow64/d3d9.dll"
try_force_link_file "${PATH_TO_GALLIUM_NINE_FILES}/lib64/d3d9-nine.dll.so" "${WINEPREFIX}/drive_c/windows/system32/d3d9.dll"
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
FIND_D3D_MODULE=$(dirname "$(find /usr/ -maxdepth 4 -type f -name "d3dadapter9.so.*" 2>/dev/null)")
if [[ -n "$FIND_D3D_MODULE" ]] ; then
IFS=$'\n'
for D3D_MP in $FIND_D3D_MODULE ; do
if [[ -n "$D3D_MODULE_PATH" ]]
then export D3D_MODULE_PATH="$D3D_MODULE_PATH:/run/host${D3D_MP}"
else export D3D_MODULE_PATH="/run/host${D3D_MP}"
fi
done
IFS="$orig_IFS"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
else
pw_stop_progress_bar
yad_error "${translations[d3dadapter9.so.1.0.0 - Not found in the system.\\nInstall the missing package: <b>d3dadapter9</b>]}"
stop_portwine
fi
else
export D3D_MODULE_PATH="/app/lib/i386-linux-gnu/GL/default/lib/d3d:/usr/lib/x86_64-linux-gnu/GL/default/lib/d3d"
print_info "D3D_MODULE_PATH=${D3D_MODULE_PATH}"
fi
export D3D_MODULE_PATH="$(<"${PW_TMPFS_PATH}/gallium_nine.tmp")"
print_info "D3D_MODULE_PATH=$D3D_MODULE_PATH"
var_winedlloverride_update "d3d9=n"
fi
@ -4090,7 +4182,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
@ -4124,6 +4216,29 @@ start_portwine () {
get_and_set_reg_file --add 'System\CurrentControlSet\Services\winebus' 'Enable SDL' 'REG_DWORD' "1" "system"
fi
if check_wayland_session \
&& [[ $PW_USE_NATIVE_WAYLAND == "1" || $PW_USE_DXVK_HDR == "1" ]]
then
[[ $PW_USE_DXVK_HDR == "1" ]] && export DXVK_HDR="1"
export WINE_WAYLAND_HACKS="1"
var_winedlloverride_update "winex11.drv=d;winewayland.drv=b"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
print_warning "Wayland in use. Force dpi=96"
export PW_WINE_DPI_VALUE="96"
if [[ -f "$WINEDIR/lib/libxkbregistry.so" ]] \
|| [[ -f "$WINEDIR/lib/x86_64-linux-gnu/libxkbregistry.so" ]]
then print_info "runtime in use with native wayland."
else
print_warning "Wine is not support native wayland with runtime! Force disabled SLR."
export PW_USE_RUNTIME="0"
fi
else
unset WINE_WAYLAND_HACKS DXVK_HDR
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi
if [[ $PW_WINE_DPI_VALUE != "disabled" ]] ; then
if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then
PW_RECOMMENDED_DPI=$(recommend_dpi "${PW_SCREEN_RESOLUTION:5:8}")
@ -4133,16 +4248,6 @@ start_portwine () {
fi
fi
if [[ $PW_USE_NATIVE_WAYLAND == "1" ]] ; then
export PW_DISPLAY="env DISPLAY="
export PW_USE_RUNTIME="0"
get_and_set_reg_file --add 'Software\Wine\Drivers' 'Graphics' 'REG_SZ' "x11,wayland" "user"
else
unset PW_DISPLAY
get_and_set_reg_file --delete 'Software\Wine\Drivers' 'Graphics'
fi
case "$PW_SOUND_DRIVER_USE" in
pulse) get_and_set_reg_file --add 'Software\Wine\Drivers' 'Audio' 'REG_SZ' "pulse" "user" ;;
alsa) get_and_set_reg_file --add 'Software\Wine\Drivers' 'Audio' 'REG_SZ' "alsa" "user" ;;
@ -4318,9 +4423,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"
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"
@ -4333,7 +4435,7 @@ pw_run () {
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" ]]
@ -4348,7 +4450,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}" \
@ -4356,7 +4459,6 @@ pw_run () {
VK_INSTANCE_LAYERS=${PW_VK_INSTANCE_LAYERS} \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
else
if [[ "$PW_USE_TERMINAL" == 1 ]] ; then
@ -4367,7 +4469,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}" \
@ -4375,7 +4478,6 @@ pw_run () {
VK_INSTANCE_LAYERS="${PW_VK_INSTANCE_LAYERS}" \
${PW_GAMEMODERUN_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
"${WINELOADER}" "$@" ${proxy_launch_parameters} &>>"${PW_LOG_TO_FILE}"
print_info "Update prefix log:"
[[ -f "${PW_TMPFS_PATH}/update_pfx_log" ]] && cat "${PW_TMPFS_PATH}/update_pfx_log"
@ -4402,8 +4504,8 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \
${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
@ -4421,8 +4523,8 @@ pw_run () {
${PW_GAMEMODERUN_SLR} \
${PW_POWERPROFILECTL_SLR} \
${PW_MANGOHUD_SLR} \
${PW_DISPLAY} \
${PW_INHIBIT_SLR}\
${PW_INHIBIT_SLR} \
${PW_TASKSET_SLR} \
"${WINELOADER}" "$@" ${proxy_launch_parameters}
wait_wineserver
fi
@ -4502,11 +4604,11 @@ portwine_launch () {
while true ; do
sleep 5
if [[ -z "$GAMEPID" ]] ; then
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')"
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)"
else
if waitpid "$GAMEPID" ; then
sleep 1
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}')"
GAMEPID="$(pgrep -fa 'EpicPortal|epicusername|epiclocale|AUTH_LOGIN' | awk '{print $1}' | head -n 1)"
[[ -z "$GAMEPID" ]] && break || continue
fi
fi
@ -4830,6 +4932,7 @@ gui_proton_downloader () {
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_pw_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_sarek_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_proton_ge_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git"
try_remove_file "${PW_TMPFS_PATH}/tmp_installed_wine"
@ -4895,6 +4998,14 @@ gui_proton_downloader () {
done
fi
# PROTON_SAREK
read -r -d '' -a PROTON_SAREK_GIT < <(curl -s "https://api.github.com/repos/pythonlover02/Proton-Sarek/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4)
if [[ -n "${PROTON_SAREK_GIT[0]}" ]] ; then
for PGEGIT in "${PROTON_SAREK_GIT[@]}" ; do
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PW_TMPFS_PATH}/tmp_proton_sarek_git"
done
fi
pw_stop_progress_bar
if [[ -z "${PROTON_PW_GIT}" ]] ; then
@ -4906,7 +5017,7 @@ gui_proton_downloader () {
for INSTALLING_VERSION_IN_DIST in * ; do
sed -i "/${INSTALLING_VERSION_IN_DIST}$/Id" "${PW_TMPFS_PATH}/tmp_proton_pw_git" \
"${PW_TMPFS_PATH}/tmp_proton_ge_git" "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" \
"${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
"${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" "${PW_TMPFS_PATH}/tmp_proton_sarek_git"
done
popd 1>/dev/null || fatal
@ -4915,6 +5026,7 @@ gui_proton_downloader () {
TMP_PROTON_KR_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git" | tr '\n' ' ')"
TMP_PROTON_CU_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_wine_ge_custom_git" | tr '\n' ' ')"
TMP_PROTON_CACHYOS_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_cachyos_git" | tr '\n' ' ')"
TMP_PROTON_SAREK_GIT="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_proton_sarek_git" | tr '\n' ' ')"
ls -l ${PORT_WINE_PATH}/data/dist | awk '{print $9}' | sed -e "/$PW_PROTON_LG_VER/d" -e "/$PW_WINE_LG_VER/d" -e '/^$/d' 1>"${PW_TMPFS_PATH}/tmp_installed_wine"
TMP_INSTALLED_WINE="$(sed 's/^/FALSE /' "${PW_TMPFS_PATH}/tmp_installed_wine" | tr '\n' ' ')"
@ -4966,6 +5078,14 @@ gui_proton_downloader () {
"${pw_yad}" --plug=$KEY_WINE --tabnum=6 --list --checklist --separator="" \
--gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \
--column "${translations[Set]}" \
--column "${translations[Select WINE for download:]}" \
$TMP_PROTON_SAREK_GIT \
1>> "${PW_TMPFS_PATH}/tmp_set_wine" \
2>/dev/null &
"${pw_yad}" --plug=$KEY_WINE --tabnum=7 --list --checklist --separator="" \
--gui-type-layout="${NOTEBOOK_GUI_TYPE_LAYOUT}" --gui-type-text="${NOTEBOOK_GUI_TYPE_TEXT}" \
--column "${translations[Set]}" \
--column "${translations[Select installed WINE for delete:]}" \
$TMP_INSTALLED_WINE \
1> "${PW_TMPFS_PATH}/tmp_installed_wine_set" \
@ -4980,6 +5100,7 @@ gui_proton_downloader () {
--tab="PROTON-GE!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="WINE-GE-CUSTOM!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="PROTON-CACHYOS!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="PROTON-SAREK!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--tab="${translations[INSTALLED]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
--button="${translations[CANCEL]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":1 \
--button="${translations[OK]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":0 2>/dev/null
@ -5050,7 +5171,7 @@ gui_proton_downloader () {
if [[ "$1" != "silent" ]] ; then
for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" ; do
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" ; do
if [[ ${GIVE_WINE_URL^^} =~ ${GIVE_ALL_WINE^^}.TAR ]] ; then
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
fi
@ -5061,7 +5182,7 @@ gui_proton_downloader () {
restart_pp
else
print_error "$PW_WINE_USE"
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" ; do
for GIVE_WINE_URL in "${WINE_GE_CUSTOM[@]}" "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" ; do
if [[ ${GIVE_WINE_URL^^} =~ ${PW_WINE_USE^^} ]] ; then
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
fi
@ -5079,19 +5200,14 @@ gui_edit_db () {
PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS PW_USE_GAMEMODE
PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_NATIVE_WAYLAND PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE
PW_USE_DAMAVAND
PW_DISABLE_COMPOSITING PW_USE_RUNTIME PW_DINPUT_PROTOCOL PW_USE_GALLIUM_ZINK PW_USE_GALLIUM_NINE
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR
)
if check_wayland_session ; then
rm_from_array "PW_EDIT_DB_LIST" PW_USE_US_LAYOUT
else
rm_from_array "PW_EDIT_DB_LIST" PW_USE_NATIVE_WAYLAND
fi
check_flatpak && rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME
if check_flatpak ; then
rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME
fi
# GALLIUM NINE
[[ ! -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] && rm_from_array "PW_EDIT_DB_LIST" PW_USE_GALLIUM_NINE
PW_MANGOHUD_INFO=${translations[Using FPS and system load monitoring (Turns on and off by the key combination - right Shift + F12)]}
PW_MANGOHUD_USER_CONF_INFO=${translations[Forced use of MANGOHUD system settings (GOverlay, etc.)]}
@ -5132,10 +5248,12 @@ gui_edit_db () {
PW_DISABLE_COMPOSITING_INFO=${translations[Disable desktop compositing (effects). It often improves performance.]}
PW_USE_RUNTIME_INFO=${translations[Use container launch mode (It is recommended not to change the value)]}
PW_DINPUT_PROTOCOL_INFO=${translations[Force use DirectInput protocol instead of XInput]}
PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support (need special wine build to work)]}
PW_USE_NATIVE_WAYLAND_INFO=${translations[Enable experemental native Wayland support]}
PW_USE_DXVK_HDR_INFO=${translations[Enable HDR settings in games with native Wayland]}
PW_USE_GALLIUM_ZINK_INFO=${translations[Use Gallium Zink (OpenGL driver is implemented via Vulkan)]}
PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]}
PW_USE_DAMAVAND_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]}
PW_USE_WINED3D_VULKAN_INFO=${translations[Instead of DXVK, use WineD3D vulkan (Damavand). Experimental function.]}
PW_USE_SUPPLIED_DXVK_VKD3D_INFO=${translations[Use dxvk and vkd3d which are bundled with wine or proton. (Does not work with PROTON_LG and WINE_LG)]}
# PW_VULKAN_NO_ASYNC_INFO=${translations[Disable asynchronous calls for VULKAN and DXVK modes]}
# PW_OLD_GL_STRING_INFO=${translations[Forced use of older versions of OpenGL]}
@ -5146,21 +5264,29 @@ gui_edit_db () {
0)
# WineD3D OpenGL
VKD3D_CB="DCB"
DISABLE_EDIT_DB_LIST="PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_DAMAVAND
"
DISABLE_EDIT_DB_LIST="PW_VKBASALT PW_VKBASALT_USER_CONF PW_USE_RAY_TRACING PW_USE_OBS_VKCAPTURE PW_USE_GALLIUM_ZINK PW_USE_WINED3D_VULKAN"
;;
1|2)
# Stable, Newest
VKD3D_CB="CB"
;;
5)
3)
# Legacy
VKD3D_CB="DCB"
DISABLE_EDIT_DB_LIST="PW_USE_RAY_TRACING
"
DISABLE_EDIT_DB_LIST="PW_USE_RAY_TRACING"
;;
esac
if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] \
|| [[ $PW_VULKAN_USE == "0" ]] ; then
DISABLE_EDIT_DB_LIST+=" PW_USE_SUPPLIED_DXVK_VKD3D"
fi
if check_wayland_session
then DISABLE_EDIT_DB_LIST+=" PW_USE_US_LAYOUT"
else DISABLE_EDIT_DB_LIST+=" PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR"
fi
unset ADD_CHK_BOX_EDIT_DB
for int_to_boole in "${PW_EDIT_DB_LIST[@]}" ; do
if [[ "${!int_to_boole}" == "1" ]]
@ -5170,13 +5296,12 @@ gui_edit_db () {
TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="${int_to_boole//PW_/}"
int_to_boole_non_pw="${int_to_boole_non_pw//"_"/" "}"
if [[ ! "${PW_VULKAN_USE}" =~ ^(1|2)$ ]] \
&& [[ -n $DISABLE_EDIT_DB_LIST ]] ; then
if [[ -n $DISABLE_EDIT_DB_LIST ]] ; then
unset CHECK_BOOLE_TRUE
for check_boole in $DISABLE_EDIT_DB_LIST ; do
if [[ $check_boole == "$int_to_boole" ]] ; then
CHECK_BOOLE_TRUE=1
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%${!int_to_boole}%"
ADD_CHK_BOX_EDIT_DB+="--field=${CHKBOX_SPACE}${int_to_boole_non_pw}!${!TMP_HELP_FOR_GUI}:D${THEME_CHKBOX}%FALSE%"
fi
done
fi
@ -5205,6 +5330,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}"
@ -5236,6 +5378,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 \
@ -5286,16 +5430,31 @@ 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 [[ "${CPU_LIMIT}" =~ ^[0-9]+$ ]] ; then
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 )))"
else
PW_WINE_CPU_TOPOLOGY="disabled"
fi
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
for dont_touch_var in $DISABLE_EDIT_DB_LIST ; do
rm_from_array "PW_EDIT_DB_LIST" "$dont_touch_var"
done
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_CPU_NUMA_NODE_INDEX PW_TASKSET_SLR
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
@ -5720,7 +5879,7 @@ gui_dgvoodoo2 () {
[[ "${PW_DGV2_ANTIALIASING}" == "0" ]] && export PW_DGV2_ANTIALIASING="disabled" && edit_db_from_gui PW_DGV2_ANTIALIASING
case "${PW_VULKAN_USE}" in
0|5)
0|3)
DISABLE_DGV2_LIST="PW_DGV2_USE_DX12
"
;;
@ -5735,8 +5894,7 @@ gui_dgvoodoo2 () {
TMP_HELP_FOR_GUI="${int_to_boole}_INFO"
int_to_boole_non_pw="${int_to_boole//PW_DGV2/}"
int_to_boole_non_pw="${int_to_boole_non_pw//"_"/" "}"
if [[ ! "${PW_VULKAN_USE}" =~ ^(1|2)$ ]] \
&& [[ -n $DISABLE_DGV2_LIST ]] ; then
if [[ -n $DISABLE_DGV2_LIST ]] ; then
unset CHECK_BOOLE_TRUE
for check_boole in $DISABLE_DGV2_LIST ; do
if [[ $check_boole == "$int_to_boole" ]] ; then
@ -6313,19 +6471,29 @@ portwine_create_shortcut () {
}
portwine_output_yad_shortcut () {
if [[ "$PW_YAD_OUT" == "0" ]] ; then
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $1}' | sed -e "s/\`//g" -e "s/\"//g" -e "s/'//g" -e "s/\!//g")
PW_SHORTCUT_MENU=$(echo "$OUTPUT" | awk -F'|' '{print $2}')
PW_SHORTCUT_DESKTOP=$(echo "$OUTPUT" | awk -F'|' '{print $3}')
PW_SHORTCUT_STEAM=$(echo "$OUTPUT" | awk -F'|' '{print $4}')
if [[ $PORTWINE_CHANGE_SHORTCUT != 1 ]] ; then
edit_user_conf_from_gui PW_SHORTCUT_MENU PW_SHORTCUT_DESKTOP PW_SHORTCUT_STEAM
if [[ $PW_YAD_OUT == "0" ]] || [[ $1 == "--silent" ]] ; then
if [[ $1 == "--silent" ]] ; then
[[ ! -e ${portwine_exe} ]] && return 1
pw_create_gui_png
unset name_desktop
PW_SHORTCUT_MENU="TRUE"
PW_SHORTCUT_DESKTOP="TRUE"
PW_SHORTCUT_STEAM="FALSE"
else
name_desktop=$(echo "$OUTPUT" | awk -F'|' '{print $1}' | sed -e "s/\`//g" -e "s/\"//g" -e "s/'//g" -e "s/\!//g")
PW_SHORTCUT_MENU=$(echo "$OUTPUT" | awk -F'|' '{print $2}')
PW_SHORTCUT_DESKTOP=$(echo "$OUTPUT" | awk -F'|' '{print $3}')
PW_SHORTCUT_STEAM=$(echo "$OUTPUT" | awk -F'|' '{print $4}')
if [[ $PORTWINE_CHANGE_SHORTCUT != 1 ]] ; then
edit_user_conf_from_gui PW_SHORTCUT_MENU PW_SHORTCUT_DESKTOP PW_SHORTCUT_STEAM
fi
portwine_delete_shortcut
fi
portwine_delete_shortcut
[[ -z $name_desktop ]] && create_name_desktop && export name_desktop="$PW_NAME_DESKTOP_PROXY"
if [[ -z $name_desktop ]] ; then
create_name_desktop
export name_desktop="$PW_NAME_DESKTOP_PROXY"
fi
echo "[Desktop Entry]" > "${PORT_WINE_PATH}/${name_desktop}.desktop"
echo "Name=${name_desktop}" >> "${PORT_WINE_PATH}/${name_desktop}.desktop"
@ -6412,7 +6580,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
@ -6747,8 +6915,7 @@ portwine_start_debug () {
0) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DirectX to wined3d opengl" >> "${PORT_WINE_PATH}/PortProton.log" ;;
1) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_STABLE_VER}, VKD3D-PROTON v.${VKD3D_STABLE_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
2) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_GIT_VER}, VKD3D-PROTON v.${VKD3D_GIT_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
3) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - Native DX9 on MESA drivers" >> "${PORT_WINE_PATH}/PortProton.log" ;;
5) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
3) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
*) echo "PW_VULKAN_USE=${PW_VULKAN_USE}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
esac
echo "--------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"

View File

@ -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_HYP_10-10"
export LAUNCH_PARAMETERS="-platform_type CLOUD_THIRD_PARTY_PC"

View File

@ -6,5 +6,5 @@
#upc.exe
#Rating=1-5
################################################
export PW_VULKAN_USE=2
export PW_VULKAN_USE="2"
export PW_DLL_INSTALL=""

View File

@ -5,9 +5,9 @@
#Rating=5
export PW_COMMENT_DB="Lesta Game Centers"
################################################
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
export PW_VULKAN_USE="2" #dxvk, vkd3d or 0 for OpenGL
export LAUNCH_PARAMETERS="" # Additional launch options
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
export PW_WINDOWS_VER="10" # Set windows version 10, 7 or XP
export WINEDLLOVERRIDES=""
export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks)
export PW_USE_D3D_EXTRAS="1"

View File

@ -5,9 +5,9 @@
#Rating=5
export PW_COMMENT_DB="Wargaming Game Centers"
################################################
export PW_VULKAN_USE=1 #dxvk, vkd3d or 0 for OpenGL
export PW_VULKAN_USE="2" #dxvk, vkd3d or 0 for OpenGL
export LAUNCH_PARAMETERS="" # Additional launch options
export PW_WINDOWS_VER=10 # Set windows version 10, 7 or XP
export PW_WINDOWS_VER="2" # Set windows version 10, 7 or XP
export WINEDLLOVERRIDES=""
export PW_DLL_INSTALL="lucida" # Install DLL in port prefix (used winetricks)
export PW_USE_D3D_EXTRAS="1"

View File

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

View File

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

View File

@ -10,6 +10,7 @@ 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
@ -18,7 +19,7 @@ then
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"
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"

View File

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

View File

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

View File

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

View File

@ -10,6 +10,7 @@ export PW_VULKAN_USE=2
export PW_AUTOINSTALL_EXE="${PW_USER_TEMP}/Hoyolauncher_installer.exe"
export PW_PREFIX_NAME="HO_YO_PLAY"
export PORTWINE_CREATE_SHORTCUT_NAME="HoYoPlay"
export PW_WINE_USE="WINE_HYP_10-10"
start_portwine
@ -23,7 +24,6 @@ then
export portwine_exe="$WINEPREFIX/drive_c/Program Files/HoYoPlay/launcher.exe"
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

View File

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

View File

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

View File

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

View File

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

View File

@ -34,8 +34,8 @@ then
exit 1
fi
PORT_SCRIPTS_PATH="$(dirname "$(realpath "$0")")"
PORT_WINE_PATH="$(realpath "$PORT_SCRIPTS_PATH/../..")"
PORT_SCRIPTS_PATH="$(cd "$(dirname "$0")" && pwd)"
PORT_WINE_PATH="$(dirname "$(dirname "$PORT_SCRIPTS_PATH")")"
export PORT_SCRIPTS_PATH PORT_WINE_PATH
# shellcheck source=/dev/null
@ -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 PW_USE_SETUP_FILE
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}*
@ -233,16 +233,20 @@ fi
# choose mirror
if [[ -z "$MIRROR" ]] \
&& [[ "$LANGUAGE" == "ru" ]] \
&& [[ "$BRANCH" != "devel" ]]
&& [[ "$LANGUAGE" == "ru" ]]
then
echo 'export MIRROR="CLOUD"' >> "$USER_CONF"
MIRROR="CLOUD"
export MIRROR="CLOUD"
elif [[ -z "$MIRROR" ]] ; then
echo 'export MIRROR="GITHUB"' >> "$USER_CONF"
MIRROR="GITHUB"
export MIRROR="GITHUB"
fi
if [[ $USE_ONLY_LG_RU == "1" ]] ; then
export MIRROR="CLOUD"
edit_user_conf_from_gui MIRROR USE_ONLY_LG_RU
print_info "Force used linux-gaming.ru for all updates.\n"
fi
export MIRROR
print_info "The first mirror in used: $MIRROR\n"
# choose downloading covers from SteamGridDB or not
@ -311,7 +315,9 @@ fi
if ! check_flatpak ; then
if [[ -f "${PW_TMPFS_PATH}/portproton.lock" ]] ; then
print_warning "Found lock file: ${PW_TMPFS_PATH}/portproton.lock"
yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0
if [[ $START_FROM_STEAM != "1" ]]
then yad_question "${translations[A running PortProton session was detected.\\nDo you want to end the previous session?]}" || exit 0
fi
fi
touch "${PW_TMPFS_PATH}/portproton.lock"
rm_lock_file () {
@ -407,10 +413,15 @@ EOF
while read -r line
do
export portwine_exe="$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/$line"
portwine_create_shortcut
if [[ $START_FROM_STEAM == "1" ]]
then portwine_output_yad_shortcut --silent
else portwine_create_shortcut
fi
done < "$PORT_WINE_PATH/data/prefixes/$PW_PREFIX_NAME/.create_shortcut"
fi
yad_info "${translations[Unpack is DONE for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
if [[ $START_FROM_STEAM != "1" ]]
then yad_info "${translations[Unpack is DONE for prefix:]} <b>\"${PW_PREFIX_NAME}\"</b>."
fi
exit 0
fi
fi
@ -516,7 +527,7 @@ SORT_NEWEST="${translations[Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)]}"
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_LEGACY!$SORT_OPENGL" ;;
5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
3|5) PW_DEFAULT_VULKAN_USE="$SORT_LEGACY!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_LEGACY!$SORT_OPENGL" ;;
esac
@ -958,7 +969,7 @@ case "${VULKAN_MOD}" in
"$SORT_OPENGL" ) export PW_VULKAN_USE="0" ;;
"$SORT_STABLE" ) export PW_VULKAN_USE="1" ;;
"$SORT_NEWEST" ) export PW_VULKAN_USE="2" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="5" ;;
"$SORT_LEGACY" ) export PW_VULKAN_USE="3" ;;
esac
init_wine_ver

View File

@ -1,7 +1,7 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2411
#SCRIPTS_STABLE_VERSION=2411
#SCRIPTS_NEXT_VERSION=2424
#SCRIPTS_STABLE_VERSION=2424
########################################################################
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"
@ -38,9 +38,10 @@ export PW_LOCALE_SELECT="disabled"
export PW_DINPUT_PROTOCOL="0"
export PW_USE_VRCLIENT="0"
export STAGING_SHARED_MEMORY="1"
export PW_USE_GALLIUM_ZINK="0"
export PW_USE_GALLIUM_NINE="0"
export PW_USE_DAMAVAND="0"
export PW_USE_GALLIUM_ZINK="0"
export PW_USE_WINED3D_VULKAN="0"
export PW_USE_SUPPLIED_DXVK_VKD3D="1"
###DEFAULT_WINE###
export PW_WINE_USE="PROTON_LG"
export PW_PLUGINS_VER="_v20"
@ -48,8 +49,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-27"
export PW_WINE_LG_VER="WINE_LG_10-5"
export PW_PROTON_LG_VER="PROTON_LG_10-4"
export PW_WINE_LG_VER="WINE_LG_10-10-1"
export PW_WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_MODE="ultra"
###DXVK_AND_VKD3D###
@ -57,9 +58,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.6-65"
export DXVK_GIT_VER="2.6.1-255"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-4511"
export VKD3D_GIT_VER="1.1-4591"
###VKBASALT###
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.50"