Compare commits
40 Commits
e9dc5604d4
...
devel
Author | SHA1 | Date | |
---|---|---|---|
|
fd9df57242 | ||
|
c55b2845ee | ||
|
62fd39f7c6 | ||
|
83ec48812b | ||
|
5ad6b9e72c | ||
|
066e37aad4 | ||
|
84674a3ae4 | ||
|
ffaccd507f | ||
|
4869746a30 | ||
a7d5784874 | |||
0b3d16c13f | |||
90ea238f34 | |||
a1695c032d | |||
fa55bb8f35 | |||
cb1fea9fdd | |||
691468d5a1 | |||
c7cb4503bb | |||
85e1ddd2d1 | |||
f863ab2664 | |||
d043905e16 | |||
b57b6d8a76 | |||
9cee5b32e9 | |||
b50f450b04 | |||
|
69ec71e564 | ||
|
e1a47bdb0e | ||
|
c1b7c33444 | ||
9c3d3e37e1 | |||
|
c33d9ba3f5 | ||
|
ca9c63711d | ||
|
9064faf36f | ||
|
88c5d78713 | ||
|
7c573daca5 | ||
|
e9a13ae5d8 | ||
|
e2f1476d90 | ||
|
ccd9b166d1 | ||
|
4e18752e5c | ||
|
0a277c430e | ||
|
4b72da7abf | ||
90df03eec7 | |||
f67d2c27f4 |
@@ -2,6 +2,26 @@ You can help us in the development of the project on the website: https://linux-
|
||||
----------------------------------------
|
||||
Changelog:
|
||||
|
||||
###Scripts version 2439### / Date: 31.07.2025 / Download update size: 4 megabytes
|
||||
* improved functions for checking and selecting video cards (thanks to Htylol)
|
||||
* added blocking of 3D API versions not supported by the video card or driver (thanks to Htylol)
|
||||
* added the ability to forcefully unblock all 3D API in global settings (thanks to Htylol)
|
||||
* fixed amdvlk and amdgpupro driver selection (thanks to Htylol)
|
||||
* fixed launching OpenGL games on NVIDIA video cards (thanks to Htylol)
|
||||
* other small improvements and script fixes
|
||||
|
||||
###Scripts version 2438### / Date: 26.07.2025 / Download update size: 4 megabytes
|
||||
* fixed locale detection for flatpak version of PortProton (thanks to Htylol)
|
||||
* updated OPTISCALER to v02-0.7.7-pre12 (thanks to @eljeyna)
|
||||
* more games working with OPTISCALER
|
||||
|
||||
###Scripts version 2437### / Date: 25.07.2025 / Download update size: 4 megabytes
|
||||
* FSYNC and ESYNC are disabled by default
|
||||
* WINE_LG is used by default for all Sony games
|
||||
* added a block on enabling USE_LS_FRAME_GEN if the GLIBC version in the system is lower than 2.38
|
||||
* additional interface optimizations were made (thanks to Htylol)
|
||||
* work continued on improving the 3D Api selection functions (thanks to Htylol)
|
||||
|
||||
###Scripts version 2436### / Date: 24.07.2025 / Download update size: 230 megabytes
|
||||
* changed DXVK and VKD3D versions for DirectX to Vulkan translation (thanks to Htylol):
|
||||
- The newest ones work only with "MESA 25+" or "NVIDIA 550.54.14+" drivers
|
||||
@@ -9,6 +29,7 @@ Changelog:
|
||||
- Sarek works with any video card that supports Vulkan version "1.1+"
|
||||
* PROTON_LG updated to version "10-10" (with NTSYNC support)
|
||||
* accelerated opening of the list of third-party WINE versions (thanks to Boria138)
|
||||
* added to the lists of third-party WINE all WOW64 versions from Kron4ek and x86_64_v3 builds from CachyOS (thanks to Boria138)
|
||||
|
||||
###Scripts version 2435### / stable / Date: 23.07.2025 / Download update size: 380 megabytes
|
||||
* cumulative update of stable version of PortProton scripts
|
||||
|
@@ -2,6 +2,26 @@
|
||||
-----------------------------------------
|
||||
История изменений:
|
||||
|
||||
###Scripts version 2439### / Дата: 31.07.2025 / Размер скачиваемого обновления: 4 мегабайта
|
||||
* улучшены функции проверки и выбора видеокарт (спасибо Htylol)
|
||||
* добавлена блокировка не поддерживаемых видеокартой, или драйвером, версий 3D Api (спасибо Htylol)
|
||||
* добавлена возможность принудительной разблокировки всех 3D Api в глобальных настройках (спасибо Htylol)
|
||||
* исправлен выбор драйвера amdvlk и amdgpupro (спасибо Htylol)
|
||||
* исправлен запуск OpenGL игр на NVIDIA видеокартах (спасибо Htylol)
|
||||
* другие небольшие улучшения и исправления скриптов
|
||||
|
||||
###Scripts version 2438### / Дата: 26.07.2025 / Размер скачиваемого обновления: 4 мегабайта
|
||||
* исправлено определение локалей для flatpak версии PortProton (спасибо Htylol)
|
||||
* обновлен OPTISCALER до версии v02-0.7.7-pre12 (спасибо @eljeyna)
|
||||
* расширено количество игр работающих с OPTISCALER
|
||||
|
||||
###Scripts version 2437### / Дата: 25.07.2025 / Размер скачиваемого обновления: 4 мегабайта
|
||||
* FSYNC и ESYNC по умолчанию выключены
|
||||
* для всех игр от Sony по умолчанию используется WINE_LG
|
||||
* добавлена блокировка включения USE_LS_FRAME_GEN если версия GLIBC в системе ниже чем 2.38
|
||||
* произведены дополнительные оптимизации интерфейса (спасибо Htylol)
|
||||
* продолжены работы по улучшению функций выбора 3D Api (спасибо Htylol)
|
||||
|
||||
###Scripts version 2436### / Дата: 24.07.2025 / Размер скачиваемого обновления: 230 мегабайт
|
||||
* изменены версии DXVK и VKD3D для трансляции DirectX в Vulkan (спасибо Htylol):
|
||||
- Новейшие работают только с драйверами "MESA 25+", или "NVIDIA 550.54.14+"
|
||||
@@ -9,6 +29,7 @@
|
||||
- Sarek работает с любой видеокартой поддерживающей Vulkan версии "1.1+"
|
||||
* обновлен PROTON_LG до версии "10-10" (с поддержкой NTSYNC)
|
||||
* ускорено открытие списка сторонних версий WINE (спасибо Boria138)
|
||||
* добавлены в списки сторонних WINE все WOW64 версии от Kron4ek и сборки x86_64_v3 от CachyOS (спасибо Boria138)
|
||||
|
||||
###Scripts version 2435### / stable / Дата: 23.07.2025 / Размер скачиваемого обновления: 380 мегабайт
|
||||
* кумулятивное обновление стабильной версии скриптов PortProton
|
||||
|
@@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+0300\n"
|
||||
"POT-Creation-Date: 2025-07-28 19:50+0500\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
@@ -581,6 +581,10 @@ msgid "A very dangerous way to hack the memory write timer in ntdll. This "
|
||||
"recommended not to change the value.)"
|
||||
msgstr ""
|
||||
|
||||
msgid "GLIBC version 2.38+ is required for use Lossless Scaling frame "
|
||||
"generation"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change the version of <b>WINDOWS</b> emulation"
|
||||
msgstr ""
|
||||
|
||||
@@ -1427,6 +1431,9 @@ msgstr ""
|
||||
msgid "Disable GameScope and go to the previous menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "The graphics card does not support Vulkan"
|
||||
msgstr ""
|
||||
|
||||
msgid "Recommended value"
|
||||
msgstr ""
|
||||
|
||||
@@ -1457,6 +1464,12 @@ msgstr ""
|
||||
msgid "By time"
|
||||
msgstr ""
|
||||
|
||||
msgid "unlock"
|
||||
msgstr ""
|
||||
|
||||
msgid "unlocked"
|
||||
msgstr ""
|
||||
|
||||
msgid "GLOBAL SETTINGS (USER.CONF)"
|
||||
msgstr ""
|
||||
|
||||
@@ -1537,6 +1550,13 @@ msgstr ""
|
||||
msgid "This setting sorts the shortcuts in the main menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Unlock all 3D APIs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Allows you to unlock all available 3D APIs, even if your current "
|
||||
"graphics card does not meet the minimum requirements"
|
||||
msgstr ""
|
||||
|
||||
msgid "Open the <b>user.conf</b> settings file in a system text editor to "
|
||||
"view and change variables manually"
|
||||
msgstr ""
|
||||
@@ -1623,12 +1643,6 @@ msgstr ""
|
||||
msgid "FONTS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Attention working version of vulkan not detected!"
|
||||
msgstr ""
|
||||
|
||||
msgid "It is recommended to run games in OpenGL (low performance possible)!"
|
||||
msgstr ""
|
||||
|
||||
msgid "PortProton was launched in creation mode PortProton.log and it is "
|
||||
"successfully stored in the root directory of the port"
|
||||
msgstr ""
|
||||
|
@@ -8,7 +8,7 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+0300\n"
|
||||
"POT-Creation-Date: 2025-07-28 19:50+0500\n"
|
||||
"PO-Revision-Date: 2025-07-24 15:26+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
@@ -707,6 +707,10 @@ msgstr ""
|
||||
"Esto mejora el rendimiento de algunos juegos muy específicos. (Se recomienda "
|
||||
"no cambiar el valor)"
|
||||
|
||||
msgid ""
|
||||
"GLIBC version 2.38+ is required for use Lossless Scaling frame generation"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change the version of <b>WINDOWS</b> emulation"
|
||||
msgstr "Cambiar la versión de emulación de <b>WINDOWS</b>"
|
||||
|
||||
@@ -1861,6 +1865,10 @@ msgstr ""
|
||||
msgid "Disable GameScope and go to the previous menu"
|
||||
msgstr "Desactivar GameScope e ir al menú anterior"
|
||||
|
||||
#, fuzzy
|
||||
msgid "The graphics card does not support Vulkan"
|
||||
msgstr "Elige una tarjeta gráfica para ejecutar el juego"
|
||||
|
||||
msgid "Recommended value"
|
||||
msgstr "Valor recomendado"
|
||||
|
||||
@@ -1891,6 +1899,12 @@ msgstr "Desde el último inicio"
|
||||
msgid "By time"
|
||||
msgstr "Mostrar tiempo"
|
||||
|
||||
msgid "unlock"
|
||||
msgstr ""
|
||||
|
||||
msgid "unlocked"
|
||||
msgstr ""
|
||||
|
||||
msgid "GLOBAL SETTINGS (USER.CONF)"
|
||||
msgstr "CONFIGURACIONES GLOBALES (USER.CONF)"
|
||||
|
||||
@@ -1989,6 +2003,14 @@ msgstr ""
|
||||
"Esta configuración ordena los accesos directos en el menú principal según el "
|
||||
"tiempo transcurrido en la aplicación o juego"
|
||||
|
||||
msgid "Unlock all 3D APIs"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Allows you to unlock all available 3D APIs, even if your current graphics "
|
||||
"card does not meet the minimum requirements"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Open the <b>user.conf</b> settings file in a system text editor to view and "
|
||||
"change variables manually"
|
||||
@@ -2082,13 +2104,6 @@ msgstr "DLLS"
|
||||
msgid "FONTS"
|
||||
msgstr "FUENTES"
|
||||
|
||||
msgid "Attention working version of vulkan not detected!"
|
||||
msgstr "¡Atención, no se detectó la versión funcional de vulkan!"
|
||||
|
||||
msgid "It is recommended to run games in OpenGL (low performance possible)!"
|
||||
msgstr ""
|
||||
"¡Se recomienda ejecutar juegos en OpenGL (es posible un rendimiento bajo)!"
|
||||
|
||||
msgid ""
|
||||
"PortProton was launched in creation mode PortProton.log and it is "
|
||||
"successfully stored in the root directory of the port"
|
||||
@@ -2218,6 +2233,13 @@ msgstr "UNIRSE"
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "BIBLIOTECAS DE TERCEROS"
|
||||
|
||||
#~ msgid "Attention working version of vulkan not detected!"
|
||||
#~ msgstr "¡Atención, no se detectó la versión funcional de vulkan!"
|
||||
|
||||
#~ msgid "It is recommended to run games in OpenGL (low performance possible)!"
|
||||
#~ msgstr ""
|
||||
#~ "¡Se recomienda ejecutar juegos en OpenGL (es posible un rendimiento bajo)!"
|
||||
|
||||
#~ msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
#~ msgstr "DXVK heredado (Vulkan v1.1)"
|
||||
|
||||
@@ -2269,8 +2291,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."
|
||||
|
@@ -7,16 +7,16 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+0300\n"
|
||||
"PO-Revision-Date: 2025-07-24 16:51+0300\n"
|
||||
"POT-Creation-Date: 2025-07-28 19:50+0500\n"
|
||||
"PO-Revision-Date: 2025-07-28 19:50+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru_RU\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
|
||||
"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 ""
|
||||
@@ -368,8 +368,8 @@ msgid ""
|
||||
"More than one DB file found for the application being launched.\\nSelect the "
|
||||
"required one, or delete the extra DB file before the next run.\\n"
|
||||
msgstr ""
|
||||
"Для запускаемого приложения найдено более одного конфигурационного файла ."
|
||||
"ppdb.\\nВыберите нужный или удалите лишний файл .ppdb перед следующим "
|
||||
"Для запускаемого приложения найдено более одного конфигурационного "
|
||||
"файла .ppdb.\\nВыберите нужный или удалите лишний файл .ppdb перед следующим "
|
||||
"запуском\\n"
|
||||
|
||||
msgid "Update scripts:"
|
||||
@@ -506,8 +506,8 @@ msgid ""
|
||||
"<b>Super + Y :</b> Toggle NIS upscaling\n"
|
||||
"<b>Super + I :</b> Increase FSR sharpness by 1\n"
|
||||
"<b>Super + O :</b> Decrease FSR sharpness by 1\n"
|
||||
"<b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE."
|
||||
"png)\n"
|
||||
"<b>Super + S :</b> Take screenshot (currently goes to /tmp/"
|
||||
"gamescope_DATE.png)\n"
|
||||
"<b>Super + G :</b> Toggle keyboard grab\n"
|
||||
"<b>Super + C :</b> Update clipboard"
|
||||
msgstr ""
|
||||
@@ -732,6 +732,10 @@ msgstr ""
|
||||
"производительность некоторых очень специфических игр (рекомендуется не "
|
||||
"изменять значение)"
|
||||
|
||||
msgid ""
|
||||
"GLIBC version 2.38+ is required for use Lossless Scaling frame generation"
|
||||
msgstr ""
|
||||
|
||||
msgid "Change the version of <b>WINDOWS</b> emulation"
|
||||
msgstr "Изменить версию эмуляции <b>WINDOWS</b>"
|
||||
|
||||
@@ -1349,9 +1353,9 @@ msgid ""
|
||||
"MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\\n<b>note:</"
|
||||
"b> To display help for each item, just hover the mouse cursor over the text."
|
||||
msgstr ""
|
||||
"Настройки MangoHud (клавиши <b>R_SHIFT + F12</b> отключают "
|
||||
"MangoHud)\\n<b>Примечание:</b> Чтобы отобразить справку для каждого "
|
||||
"элемента, наведите курсор мыши на текст."
|
||||
"Настройки MangoHud (клавиши <b>R_SHIFT + F12</b> отключают MangoHud)"
|
||||
"\\n<b>Примечание:</b> Чтобы отобразить справку для каждого элемента, "
|
||||
"наведите курсор мыши на текст."
|
||||
|
||||
msgid ""
|
||||
"Enabling fps limitation with MANGOHUD tools built into PortProton (Keys "
|
||||
@@ -1849,6 +1853,9 @@ msgstr ""
|
||||
msgid "Disable GameScope and go to the previous menu"
|
||||
msgstr "Отключить Gamescope и перейти в предыдущее меню"
|
||||
|
||||
msgid "The graphics card does not support Vulkan"
|
||||
msgstr "Видеокарта не поддерживает Vulkan"
|
||||
|
||||
msgid "Recommended value"
|
||||
msgstr "Рекомендуемое значение"
|
||||
|
||||
@@ -1879,6 +1886,12 @@ msgstr "По данным последнего запуска"
|
||||
msgid "By time"
|
||||
msgstr "По проведённому времени"
|
||||
|
||||
msgid "unlock"
|
||||
msgstr "разблокировать"
|
||||
|
||||
msgid "unlocked"
|
||||
msgstr "разблокировано"
|
||||
|
||||
msgid "GLOBAL SETTINGS (USER.CONF)"
|
||||
msgstr "ГЛОБАЛЬНЫЕ НАСТРОЙКИ (USER.CONF)"
|
||||
|
||||
@@ -1974,6 +1987,16 @@ msgstr "Сортировка ярлыков по"
|
||||
msgid "This setting sorts the shortcuts in the main menu"
|
||||
msgstr "Эта настройка сортирует ярлыки в главном меню"
|
||||
|
||||
msgid "Unlock all 3D APIs"
|
||||
msgstr "Разблокировать все 3D API"
|
||||
|
||||
msgid ""
|
||||
"Allows you to unlock all available 3D APIs, even if your current graphics "
|
||||
"card does not meet the minimum requirements"
|
||||
msgstr ""
|
||||
"Позволяет разблокировать все доступные 3D API, даже если ваша текущая "
|
||||
"видеокарта не соответствует минимальным требованиям"
|
||||
|
||||
msgid ""
|
||||
"Open the <b>user.conf</b> settings file in a system text editor to view and "
|
||||
"change variables manually"
|
||||
@@ -2068,13 +2091,6 @@ msgstr "БИБЛИОТЕКИ"
|
||||
msgid "FONTS"
|
||||
msgstr "ШРИФТЫ"
|
||||
|
||||
msgid "Attention working version of vulkan not detected!"
|
||||
msgstr "Внимание, рабочая версия Vulkan не обнаружена!"
|
||||
|
||||
msgid "It is recommended to run games in OpenGL (low performance possible)!"
|
||||
msgstr ""
|
||||
"Игры рекомендуется запускать в OpenGL (возможна низкая производительность)"
|
||||
|
||||
msgid ""
|
||||
"PortProton was launched in creation mode PortProton.log and it is "
|
||||
"successfully stored in the root directory of the port"
|
||||
@@ -2197,11 +2213,18 @@ msgid "SPONSORS"
|
||||
msgstr "СПОНСОРЫ"
|
||||
|
||||
msgid "JOIN"
|
||||
msgstr "ПРИСОЕДЕНИТЬСЯ"
|
||||
msgstr "ПРИСОЕДИНИТЬСЯ"
|
||||
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "БИБЛИОТЕКИ"
|
||||
|
||||
#~ msgid "Attention working version of vulkan not detected!"
|
||||
#~ msgstr "Внимание, рабочая версия Vulkan не обнаружена!"
|
||||
|
||||
#~ msgid "It is recommended to run games in OpenGL (low performance possible)!"
|
||||
#~ msgstr ""
|
||||
#~ "Игры рекомендуется запускать в OpenGL (возможна низкая производительность)"
|
||||
|
||||
#~ msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
#~ msgstr "Устаревший DXVK (Vulkan v1.1)"
|
||||
|
||||
@@ -2267,14 +2290,14 @@ 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>"
|
||||
#~ "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>"
|
||||
#~ "терминале:\\nflatpak install -y runtime/"
|
||||
#~ "org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$%"
|
||||
#~ "{GAMESCOPE_VERSION}%\\n(Данный текст можно выделить и скопировать)</b>"
|
||||
|
||||
#, sh-format
|
||||
#~ msgid ""
|
||||
@@ -2561,8 +2584,8 @@ msgstr "БИБЛИОТЕКИ"
|
||||
#~ "<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n"
|
||||
#~ "<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.\n"
|
||||
#~ "<b>-S integer:</b> use integer scaling.\n"
|
||||
#~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. (e."
|
||||
#~ "g. 4:3 to 16:9).\n"
|
||||
#~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. "
|
||||
#~ "(e.g. 4:3 to 16:9).\n"
|
||||
#~ "<b>-b:</b> create a border-less window.\n"
|
||||
#~ "<b>-f:</b> create a full-screen window."
|
||||
#~ msgstr ""
|
||||
@@ -2571,8 +2594,8 @@ msgstr "БИБЛИОТЕКИ"
|
||||
#~ "размера окна Gamescope обновит эти настройки. Если указано -H, а -W нет, "
|
||||
#~ "предполагается соотношение сторон 16:9. По умолчанию установлено значение "
|
||||
#~ "1280×720.\n"
|
||||
#~ "<b>-w, -h:</b> установить разрешение, используемое в игре. Если указано -"
|
||||
#~ "h, а -w нет, предполагается соотношение сторон 16:9. По умолчанию "
|
||||
#~ "<b>-w, -h:</b> установить разрешение, используемое в игре. Если указано "
|
||||
#~ "-h, а -w нет, предполагается соотношение сторон 16:9. По умолчанию "
|
||||
#~ "используются значения, указанные в -W и -H.\n"
|
||||
#~ "<b>-r:</b> установить ограничение частоты кадров для игры. По умолчанию "
|
||||
#~ "значение неограниченно.\n"
|
||||
|
@@ -854,46 +854,35 @@ check_selinux () {
|
||||
export -f check_selinux
|
||||
|
||||
check_vendor_gpu () {
|
||||
unset VENDOR_GPU_USE
|
||||
if [[ $PW_GPU_USE != disabled ]] ; then
|
||||
case "${PW_GPU_USE,,}" in
|
||||
check_pci_driver () {
|
||||
case "$1" in
|
||||
*nvidia*)
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||
;;
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE="nvidia"
|
||||
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE="nouveau"
|
||||
;;
|
||||
*amd*)
|
||||
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||
;;
|
||||
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE="amd"
|
||||
;;
|
||||
*intel*)
|
||||
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||
;;
|
||||
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE="intel"
|
||||
;;
|
||||
*)
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE="nvidia"
|
||||
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE="nouveau"
|
||||
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE="amd"
|
||||
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE="intel"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
if [[ -n $PW_GPU_USE && $PW_GPU_USE != "disabled" ]]
|
||||
then check_pci_driver "${PW_GPU_USE,,}"
|
||||
elif pw_check_glxinfo
|
||||
then check_pci_driver "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')"
|
||||
else check_pci_driver
|
||||
fi
|
||||
|
||||
if command -v glxinfo &>/dev/null ; then
|
||||
pw_check_glxinfo
|
||||
case "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" in
|
||||
*nvidia*)
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||
;;
|
||||
*amd*)
|
||||
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||
;;
|
||||
*intel*)
|
||||
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
if [[ -z ${VENDOR_GPU_USE[0]} ]] ; then
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||
[[ -d /sys/bus/pci/drivers/nouveau ]] && VENDOR_GPU_USE+=("nouveau")
|
||||
[[ -d /sys/bus/pci/drivers/amdgpu ]] && VENDOR_GPU_USE+=("amd")
|
||||
[[ -d /sys/bus/pci/drivers/i915 ]] && VENDOR_GPU_USE+=("intel")
|
||||
fi
|
||||
|
||||
echo "${VENDOR_GPU_USE[*]}"
|
||||
echo "$VENDOR_GPU_USE"
|
||||
}
|
||||
|
||||
background_pid () {
|
||||
@@ -1345,7 +1334,6 @@ seconds_to_time () {
|
||||
|
||||
combobox_fix () {
|
||||
if [[ -z "$1" ]] ; then
|
||||
print_error "no argument specified for combobox_fix"
|
||||
return 1
|
||||
else
|
||||
local name1 name2
|
||||
@@ -1656,12 +1644,7 @@ init_wine_ver () {
|
||||
done
|
||||
IFS="$orig_IFS"
|
||||
fi
|
||||
if [[ -z $(lsbash "${PORT_WINE_PATH}/data/dist/" --grep "${PW_WINE_USE}") ]] ; then
|
||||
if [[ "$PW_WINE_USE" =~ PROTON_LG* ]]
|
||||
then export PW_WINE_USE=PROTON_LG
|
||||
else export PW_WINE_USE=WINE_LG
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "$PW_WINE_USE" == PROTON_LG ]]
|
||||
then export PW_WINE_USE="${PW_PROTON_LG_VER}"
|
||||
elif [[ "$PW_WINE_USE" == WINE_LG ]]
|
||||
@@ -1733,15 +1716,15 @@ init_wine_ver () {
|
||||
export WINEDLLPATH
|
||||
fi
|
||||
|
||||
if ! check_flatpak ; then
|
||||
if ! check_flatpak ; then
|
||||
WINE_LIBRARY_PATH="${WINEDIR}/lib"
|
||||
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
|
||||
export WINE_LIBRARY_PATH
|
||||
fi
|
||||
|
||||
export MEDIACONV_BLANK_VIDEO_FILE="${WINEDIR}"/share/media/blank.mkv
|
||||
export MEDIACONV_BLANK_AUDIO_FILE="${WINEDIR}"/share/media/blank.ptna
|
||||
@@ -1779,8 +1762,8 @@ pw_init_runtime () {
|
||||
|
||||
PW_PV_OVERRIDES="/usr/lib/pressure-vessel/overrides/lib"
|
||||
|
||||
if ! check_flatpak; then
|
||||
export PW_LD_LIBRARY_PATH="\
|
||||
if ! check_flatpak; then
|
||||
export PW_LD_LIBRARY_PATH="\
|
||||
${PW_PLUGINS_PATH}/portable/lib/lib64:\
|
||||
${PW_PLUGINS_PATH}/portable/lib/lib32:\
|
||||
${PW_PV_OVERRIDES}/x86_64-linux-gnu/aliases:\
|
||||
@@ -1789,7 +1772,7 @@ ${PW_PV_OVERRIDES}/i386-linux-gnu/aliases:\
|
||||
/overrides/lib/i386-linux-gnu:\
|
||||
/lib/x86_64-linux-gnu:\
|
||||
/lib/i386-linux-gnu"
|
||||
fi
|
||||
fi
|
||||
|
||||
export PW_PATH="${PW_PLUGINS_PATH}/portable/bin${PATH:+:$PATH}"
|
||||
|
||||
@@ -2449,13 +2432,16 @@ pw_init_db () {
|
||||
if [[ -f "${PORTWINE_DB_FILE}" ]] ; then
|
||||
# shellcheck source=/dev/null
|
||||
source "${PORTWINE_DB_FILE}"
|
||||
init_wine_ver &&
|
||||
export PW_WINE_VER="$PW_WINE_USE"
|
||||
init_wine_ver
|
||||
print_info "Use $PORTWINE_DB_FILE db file."
|
||||
else
|
||||
if [[ "${PW_DISABLED_CREATE_DB}" != 1 ]] ; then
|
||||
if [[ -n "${PORTWINE_DB}" ]] ; then
|
||||
PORTWINE_DB_FILE=$(grep -il "#${PORTWINE_DB}.exe" "${PORT_SCRIPTS_PATH}/portwine_db"/*)
|
||||
export PORTWINE_DB_FILE
|
||||
use_exiftool "$portwine_exe"
|
||||
grep -q "Sony" "${PW_TMPFS_PATH}/exiftool.tmp" && PW_WINE_USE="WINE_LG"
|
||||
if [[ -z "${PORTWINE_DB_FILE}" ]] ; then
|
||||
{
|
||||
echo "#!/usr/bin/env bash"
|
||||
@@ -2494,44 +2480,44 @@ pw_init_db () {
|
||||
fi
|
||||
fi
|
||||
|
||||
case "${PW_AMD_VULKAN_USE}" in
|
||||
"amdvlk")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for dir in /opt/amdgpu/etc/vulkan/icd.d /etc/vulkan/icd.d /usr/share/vulkan/icd.d; do
|
||||
for file in "$dir"/amd_icd*.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
done
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
case "${PW_AMD_VULKAN_USE}" in
|
||||
"amdvlk")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for dir in /opt/amdgpu/etc/vulkan/icd.d /etc/vulkan/icd.d /usr/share/vulkan/icd.d; do
|
||||
for file in "$dir"/amd_icd*.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
done
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
|
||||
"amdgpupro")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for dir in /opt/amdgpu-pro/etc/vulkan/icd.d /usr/share/vulkan/icd.d; do
|
||||
for file in "$dir"/amd_pro_icd*.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
done
|
||||
"amdgpupro")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for dir in /opt/amdgpu-pro/etc/vulkan/icd.d /usr/share/vulkan/icd.d; do
|
||||
for file in "$dir"/amd_pro_icd*.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
done
|
||||
|
||||
# add libs from https://github.com/CosmicFusion/fedora-amdgpu-pro/tree/main/x86_64/libdrm-pro to ld_library_path (this repo is deprecated and archived but why not)
|
||||
echo "$PW_VK_ICD_FILENAMES" | grep -qi "/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd.*.json" && \
|
||||
# add libs from https://github.com/CosmicFusion/fedora-amdgpu-pro/tree/main/x86_64/libdrm-pro to ld_library_path (this repo is deprecated and archived but why not)
|
||||
echo "$PW_VK_ICD_FILENAMES" | grep -qi "/opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd.*.json" && \
|
||||
var_ld_library_path_update "/opt/amdgpu/libdrm/lib64:/opt/amdgpu/libdrm/lib32"
|
||||
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
|
||||
"radv")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for file in /usr/share/vulkan/icd.d/radeon_icd.{i686,x86_64}.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
esac
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
|
||||
"radv")
|
||||
PW_VK_ICD_FILENAMES=""
|
||||
for file in /usr/share/vulkan/icd.d/radeon_icd.{i686,x86_64}.json; do
|
||||
[ -f "$file" ] && PW_VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES:+${PW_VK_ICD_FILENAMES}:}$file"
|
||||
done
|
||||
export PW_VK_ICD_FILENAMES
|
||||
;;
|
||||
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
|
||||
|
||||
|
||||
return 0
|
||||
}
|
||||
|
||||
@@ -2804,20 +2790,186 @@ pw_check_command () {
|
||||
export -f pw_check_command
|
||||
|
||||
pw_check_vulkan () {
|
||||
if [[ ! -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
|
||||
TIMEOUT_CMD="5"
|
||||
if ! pw_check_command vulkaninfo ; then
|
||||
print_warning "use portable vulkaninfo"
|
||||
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
|
||||
TIMEOUT_CMD="5"
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
|
||||
if ! pw_check_command vulkaninfo ; then
|
||||
print_warning "use portable vulkaninfo"
|
||||
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
|
||||
fi
|
||||
}
|
||||
|
||||
compare_versions () {
|
||||
IFS='.' read -ra a1 <<< "$1"
|
||||
IFS='.' read -ra a2 <<< "$2"
|
||||
local len=$(( ${#a1[@]} > ${#a2[@]} ? ${#a1[@]} : ${#a2[@]} ))
|
||||
|
||||
for ((i=0; i<len; i++)) ; do
|
||||
local n1=$(( ${a1[i]:-0} ))
|
||||
local n2=$(( ${a2[i]:-0} ))
|
||||
if (( n1 > n2 )) ; then
|
||||
return 0
|
||||
elif (( n1 < n2 )) ; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
get_gpu_names () {
|
||||
GET_GPU_NAMES=$(awk -F '= ' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d' | sort -u | paste -sd '!')
|
||||
if [[ ${GET_GPU_NAMES,,} =~ radv ]] ; then
|
||||
IFS='!' read -r -a GET_GPU_NAMES_ARRAY <<< "$GET_GPU_NAMES"
|
||||
for i in "${!GET_GPU_NAMES_ARRAY[@]}" ; do
|
||||
if [[ ${GET_GPU_NAMES_ARRAY[i],,} =~ amd && ! ${GET_GPU_NAMES_ARRAY[i],,} =~ radv ]] ; then
|
||||
unset 'GET_GPU_NAMES_ARRAY[i]'
|
||||
fi
|
||||
done
|
||||
GET_GPU_NAMES_ARRAY=("${GET_GPU_NAMES_ARRAY[@]}")
|
||||
if [[ -n ${GET_GPU_NAMES_ARRAY[1]} ]] ; then
|
||||
printf -v GET_GPU_NAMES '%s!' "${GET_GPU_NAMES_ARRAY[@]}"
|
||||
GET_GPU_NAMES="${GET_GPU_NAMES%?}"
|
||||
else
|
||||
GET_GPU_NAMES="${GET_GPU_NAMES_ARRAY[0]}"
|
||||
fi
|
||||
fi
|
||||
export GET_GPU_NAMES
|
||||
}
|
||||
|
||||
pw_check_dxvk () {
|
||||
background_pid --end "pw_check_vulkan" "1"
|
||||
if [[ -z $PW_VULKAN_DRIVER_USE ]] && [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
|
||||
if [[ -z $PW_GPU_USE ]] ; then
|
||||
if [[ -z $GET_GPU_NAMES ]] ; then
|
||||
get_gpu_names
|
||||
fi
|
||||
IFS='!' read -r -a SELECTED_VULKAN_GPU <<< "$GET_GPU_NAMES"
|
||||
else
|
||||
IFS='' read -r -a SELECTED_VULKAN_GPU <<< "$PW_GPU_USE"
|
||||
fi
|
||||
|
||||
if [[ -n ${SELECTED_VULKAN_GPU[*]} ]] ; then # оптимизация когда vulkan драйвера в системе нет
|
||||
# если используется amdvlk или amdgpupro, то проверка на vulkan драйвер происходит среди них, а не через mesa драйвер
|
||||
if [[ $PW_AMD_VULKAN_USE =~ ^(amdvlk|amdgpupro)$ ]] ; then
|
||||
if [[ ${SELECTED_VULKAN_GPU[*],,} =~ radv ]] ; then
|
||||
for i in "${!SELECTED_VULKAN_GPU[@]}" ; do
|
||||
if [[ ${SELECTED_VULKAN_GPU[i],,} =~ radv ]] ; then
|
||||
SELECTED_VULKAN_GPU[i]="${SELECTED_VULKAN_GPU[i]// (RADV*}"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
fi
|
||||
# какие карты в приоритете, если не выбран изначально PW_GPU_USE
|
||||
if [[ -n ${SELECTED_VULKAN_GPU[1]} ]] ; then
|
||||
for elem in "${SELECTED_VULKAN_GPU[@]}"; do
|
||||
case ${elem,,} in
|
||||
*nvidia*) nvidia_group+=("$elem") ;;
|
||||
*amd*) amd_group+=("$elem") ;;
|
||||
*intel*) intel_group+=("$elem") ;;
|
||||
*) other_group+=("$elem") ;;
|
||||
esac
|
||||
done
|
||||
unset SELECTED_VULKAN_GPU
|
||||
SELECTED_VULKAN_GPU_NEW=(
|
||||
"${nvidia_group[@]}"
|
||||
"${amd_group[@]}"
|
||||
"${intel_group[@]}"
|
||||
"${other_group[@]}"
|
||||
)
|
||||
fi
|
||||
# получаем информацию о конкретном драйвере который выбран в PW_GPU_USE,
|
||||
# либо ищем наилучший драйвер с учётом приоритета видеокарт + информация
|
||||
mapfile -t PW_VULKAN_DRIVER_ARRAY < <(awk '
|
||||
/apiVersion|driverVersion/ { print $3 }
|
||||
/deviceName|driverName|driverInfo/ {
|
||||
split($0, parts, "= ")
|
||||
print parts[2]
|
||||
}' "${PW_TMPFS_PATH}/vulkaninfo.tmp")
|
||||
|
||||
for i in "${SELECTED_VULKAN_GPU_NEW[@]}" "${SELECTED_VULKAN_GPU[@]}" ; do
|
||||
x="0" && y="5"
|
||||
while true ; do
|
||||
PW_VULKAN_DRIVER_ARRAY_CHECK=("${PW_VULKAN_DRIVER_ARRAY[@]:x:y}")
|
||||
if [[ -n $PW_AMD_VULKAN_USE && $PW_AMD_VULKAN_USE != "disabled" ]] ; then
|
||||
[[ $PW_AMD_VULKAN_USE == "amdvlk" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd open-source driver"* ]] && break
|
||||
[[ $PW_AMD_VULKAN_USE == "amdgpupro" && ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd proprietary driver"* ]] && break
|
||||
else
|
||||
[[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} == "$i" ]] && break
|
||||
fi
|
||||
x=$(( x + 5 )) && y=$(( y + 5 ))
|
||||
# фикс, если вдруг PW_GPU_USE изменился или сломался
|
||||
if [[ -z ${PW_VULKAN_DRIVER_ARRAY_CHECK[2]} ]] ; then
|
||||
PW_AMD_VULKAN_USE="disabled"
|
||||
edit_db_from_gui PW_AMD_VULKAN_USE
|
||||
unset PW_GPU_USE
|
||||
pw_check_dxvk
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} =~ nvidia ]] ; then
|
||||
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[4]}" "550.54.14" ; then
|
||||
PW_VULKAN_DRIVER_USE="6" && break
|
||||
fi
|
||||
elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[4],,} =~ mesa ]] ; then
|
||||
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "25.0" ; then
|
||||
PW_VULKAN_DRIVER_USE="6" && break
|
||||
fi
|
||||
elif [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd open-source driver"* ]] \
|
||||
|| [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} == *"amd proprietary driver"* ]] ; then
|
||||
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[1]}" "2.0.310" ; then
|
||||
PW_VULKAN_DRIVER_USE="6" && break
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# если используется nvidia, со встройкой opengl будет работать через встройку, с этим будет работать через nvidia
|
||||
if [[ ${PW_VULKAN_DRIVER_ARRAY_CHECK[3],,} =~ nvidia ]] ; then
|
||||
export __NV_PRIME_RENDER_OFFLOAD="1"
|
||||
export __GLX_VENDOR_LIBRARY_NAME="nvidia"
|
||||
else
|
||||
export __NV_PRIME_RENDER_OFFLOAD="0"
|
||||
fi
|
||||
# если PW_GPU_USE изначально не было
|
||||
if [[ -z $PW_GPU_USE ]] ; then
|
||||
export PW_GPU_USE=${PW_VULKAN_DRIVER_ARRAY_CHECK[2]}
|
||||
edit_user_conf_from_gui PW_GPU_USE
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
# формируется в зависимости от выбранного PW_GPU_USE и поддержки самого драйвера
|
||||
if [[ $PW_VULKAN_DRIVER_USE == "6" ]] || [[ $PW_VULKAN_UNLOCKED == "unlocked" ]] ; then
|
||||
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="6"
|
||||
case "$PW_VULKAN_USE" in
|
||||
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK" ;;
|
||||
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
|
||||
2) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
esac
|
||||
else
|
||||
if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
|
||||
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="0"
|
||||
PW_DEFAULT_VULKAN_USE="$SORT_OPENGL"
|
||||
else
|
||||
if compare_versions "${PW_VULKAN_DRIVER_ARRAY_CHECK[0]}" "1.3" ; then
|
||||
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="2"
|
||||
case "$PW_VULKAN_USE" in
|
||||
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_STABLE!$SORT_SAREK" ;;
|
||||
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_STABLE!$SORT_OPENGL" ;;
|
||||
*) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
esac
|
||||
else
|
||||
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="1"
|
||||
case "$PW_VULKAN_USE" in
|
||||
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_SAREK" ;;
|
||||
*) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pw_check_glxinfo () {
|
||||
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
|
||||
TIMEOUT_CMD="5"
|
||||
pw_check_command glxinfo -B
|
||||
fi
|
||||
TIMEOUT_CMD="5"
|
||||
pw_check_command glxinfo -B
|
||||
}
|
||||
|
||||
pw_get_tmp_files () {
|
||||
@@ -2825,8 +2977,6 @@ pw_get_tmp_files () {
|
||||
do pw_check_command "$f_cmd"
|
||||
done
|
||||
|
||||
pw_check_vulkan
|
||||
|
||||
# GALLIUM NINE
|
||||
unset FIND_D3D_MODULE D3D_MODULE_PATH
|
||||
if ! check_flatpak ; then
|
||||
@@ -2852,16 +3002,14 @@ pw_get_tmp_files () {
|
||||
|
||||
pw_skip_get_info () {
|
||||
if [[ "${SKIP_CHECK_UPDATES_NEW}" != "1" ]] ; then
|
||||
background_pid --end "pw_get_tmp_files" "1"
|
||||
background_pid --end "pw_get_tmp_files" "2"
|
||||
|
||||
if [[ -f "${PW_TMPFS_PATH}/gamescope.tmp" ]] ; then
|
||||
export GAMESCOPE_INSTALLED="1"
|
||||
fi
|
||||
|
||||
if [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
|
||||
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
|
||||
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
|
||||
export VULKAN_DRIVER_NAME GET_GPU_NAMES
|
||||
get_gpu_names
|
||||
fi
|
||||
|
||||
if [[ -f "${PW_TMPFS_PATH}/lspci.tmp" ]] ; then
|
||||
@@ -2878,12 +3026,13 @@ pw_skip_get_info () {
|
||||
|
||||
if [[ -f "${PW_TMPFS_PATH}/locale.tmp" ]] ; then
|
||||
GET_LOCALE_LIST="ru_RU.utf en_US.utf zh_CN.utf ja_JP.utf ko_KR.utf"
|
||||
unset LOCALE_LIST
|
||||
unset LOCALE_LIST LOCALE_UTF
|
||||
[[ $(<"${PW_TMPFS_PATH}/locale.tmp") =~ utf8 ]] && LOCALE_UTF="8"
|
||||
for LOCALE in $GET_LOCALE_LIST ; do
|
||||
if [[ $(<"${PW_TMPFS_PATH}/locale.tmp") =~ $LOCALE ]] ; then
|
||||
if [[ -n "$LOCALE_LIST" ]]
|
||||
then LOCALE_LIST+="!$LOCALE"
|
||||
else LOCALE_LIST="$LOCALE"
|
||||
then LOCALE_LIST+="!$LOCALE$LOCALE_UTF"
|
||||
else LOCALE_LIST="$LOCALE$LOCALE_UTF"
|
||||
fi
|
||||
fi
|
||||
done
|
||||
@@ -2934,7 +3083,7 @@ pw_skip_get_info () {
|
||||
fi
|
||||
|
||||
logical_cores=$(grep -c ^"processor" /proc/cpuinfo)
|
||||
if (( $logical_cores <= "4" )) ; then
|
||||
if (( logical_cores <= "4" )) ; then
|
||||
GET_LOGICAL_CORE="$(seq -s! 1 $(( logical_cores - 1 )))"
|
||||
else
|
||||
GET_LOGICAL_CORE="1!2!$(seq -s! 4 4 $(( logical_cores - 1 )))"
|
||||
@@ -3028,6 +3177,22 @@ edit_user_conf_from_gui () {
|
||||
return 0
|
||||
}
|
||||
|
||||
use_exiftool () {
|
||||
if [[ ! -f "${PW_TMPFS_PATH}/exiftool.tmp" ]] \
|
||||
|| ! grep -q "$1" "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
then
|
||||
echo "$1" > "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
if ! command -v exiftool &>/dev/null \
|
||||
|| ! timeout 3 exiftool "$1" &>> "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
then
|
||||
print_warning "use portable exiftool"
|
||||
env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" \
|
||||
"${PW_PLUGINS_PATH}/portable/bin/exiftool" \
|
||||
"$1" &>> "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pw_create_gui_png () {
|
||||
if [[ -z $name_desktop_png ]] ; then
|
||||
basename_portwine_exe="$(basename "${portwine_exe}")"
|
||||
@@ -3052,19 +3217,9 @@ pw_create_gui_png () {
|
||||
if [[ -n "${PORTWINE_CREATE_SHORTCUT_NAME}" ]] ; then
|
||||
PORTPROTON_NAME="${PORTWINE_CREATE_SHORTCUT_NAME}"
|
||||
else
|
||||
if command -v exiftool &>/dev/null ; then
|
||||
if timeout 3 exiftool "$portwine_exe" &> "${PW_TMPFS_PATH}/exiftool.tmp" ; then
|
||||
PW_PRODUCTNAME=$(sed -n 's/^Product Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
FILE_DESCRIPTION=$(sed -n 's/^File Description\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
else
|
||||
print_error "exiftool - broken!"
|
||||
fi
|
||||
else
|
||||
print_warning "use portable exiftool"
|
||||
env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" "${PW_PLUGINS_PATH}/portable/bin/exiftool" "$portwine_exe" &> "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
PW_PRODUCTNAME=$(sed -n 's/^Product Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
FILE_DESCRIPTION=$(sed -n 's/^File Description\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
fi
|
||||
use_exiftool "$portwine_exe"
|
||||
PW_PRODUCTNAME=$(sed -n 's/^Product Name\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
FILE_DESCRIPTION=$(sed -n 's/^File Description\s*:\s*//p' "${PW_TMPFS_PATH}/exiftool.tmp")
|
||||
|
||||
if [[ "$PW_PRODUCTNAME" =~ (Launcher|RU) ]]
|
||||
then
|
||||
@@ -3503,17 +3658,17 @@ start_portwine () {
|
||||
OPTISCALER_PATH="$PW_PLUGINS_PATH/fake_dlss/optiscaler-$PW_OPTISCALER_VER"
|
||||
OPTISCALER_FILES="dxgi.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll \
|
||||
libxess_dx11.dll dlssg_to_fsr3_amd_is_better.dll fakenvapi.ini \
|
||||
nvapi64.dll OptiScaler.ini dxvk.conf"
|
||||
ORIGINAL_GAME_DLLS="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll"
|
||||
nvapi64.dll OptiScaler.ini dxvk.conf D3D12 D3D12_Optiscaler optiscaler_version"
|
||||
ORIGINAL_GAME_DLLS="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll D3D12"
|
||||
|
||||
if [[ "${PW_USE_OPTISCALER}" != "1" ]] \
|
||||
&& [[ -f "$PATH_TO_GAME/dlssg_to_fsr3_amd_is_better.dll" ]]
|
||||
then
|
||||
for dll in $OPTISCALER_FILES ; do
|
||||
try_remove_file "$PATH_TO_GAME/$dll"
|
||||
rm -fr "$PATH_TO_GAME/$dll"
|
||||
done
|
||||
for dll in $ORIGINAL_GAME_DLLS ; do
|
||||
if [[ -f "$PATH_TO_GAME/${dll}.b" ]] ; then
|
||||
if [[ -e "$PATH_TO_GAME/${dll}.b" ]] ; then
|
||||
mv -f "$PATH_TO_GAME/${dll}.b" "$PATH_TO_GAME/${dll}" 2>/dev/null
|
||||
fi
|
||||
done
|
||||
@@ -3530,7 +3685,7 @@ start_portwine () {
|
||||
fi
|
||||
fi
|
||||
|
||||
export PW_WINE_FULLSCREEN_FSR="0"
|
||||
export PW_USE_NVAPI_AND_DLSS="1"
|
||||
|
||||
set_to_dxvk_conf nvidia_new
|
||||
|
||||
@@ -3543,20 +3698,21 @@ start_portwine () {
|
||||
fatal "Force exit..."
|
||||
fi
|
||||
for dll in $ORIGINAL_GAME_DLLS ; do
|
||||
if [[ -f "$PATH_TO_GAME/$dll" ]] \
|
||||
&& [[ ! -f "$PATH_TO_GAME/${dll}.b" ]]
|
||||
if [[ -e "$PATH_TO_GAME/$dll" ]] \
|
||||
&& [[ ! -e "$PATH_TO_GAME/${dll}.b" ]]
|
||||
then
|
||||
mv -f "$PATH_TO_GAME/$dll" "$PATH_TO_GAME/${dll}.b" 2>/dev/null
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
for dll in $OPTISCALER_FILES ; do
|
||||
if [[ ! -f "$PATH_TO_GAME/$dll" ]] \
|
||||
|| [[ -L "$PATH_TO_GAME/$dll" ]]
|
||||
then try_copy_file "$OPTISCALER_PATH/$dll" "$PATH_TO_GAME/$dll"
|
||||
fi
|
||||
done
|
||||
if [[ ! -f "$PATH_TO_GAME/optiscaler_version" ]] \
|
||||
|| ! grep -q "$PW_OPTISCALER_VER" "$PATH_TO_GAME/optiscaler_version"
|
||||
then
|
||||
for dll in $OPTISCALER_FILES ; do
|
||||
cp -fr "$OPTISCALER_PATH/$dll" "$PATH_TO_GAME/$dll" || print_error "$OPTISCALER_PATH/$dll not found for copy!"
|
||||
done
|
||||
fi
|
||||
fi
|
||||
|
||||
if [[ "${PW_USE_RAY_TRACING}" == "1" ]] ; then
|
||||
@@ -3692,7 +3848,7 @@ if [[ "$GAMEMODERUN" != "1" ]]; then
|
||||
start_activity_simulation
|
||||
PW_INHIBIT_SLR=""
|
||||
print_info "Screensaver will be inhibited using D-Bus (Flatpak mode)"
|
||||
elif command -v systemd-inhibit &>/dev/null; then
|
||||
elif [[ -e "/var/run/dbus/system_bus_socket" ]] && command -v systemd-inhibit &>/dev/null; then
|
||||
PW_INHIBIT_SLR="systemd-inhibit --mode=block --who=ru.linux_gaming.PortProton --why=${translations[Launched]} --what=idle:sleep"
|
||||
print_info "Screensaver will be inhibited using systemd-inhibit (Native mode)"
|
||||
fi
|
||||
@@ -3768,8 +3924,6 @@ fi
|
||||
# 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_NEW_VER}"
|
||||
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
|
||||
;;
|
||||
1)
|
||||
@@ -3785,27 +3939,27 @@ fi
|
||||
fi
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_SAREK_VER}"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
|
||||
CP_VKD3D_FILES="d3d12 libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_VKD3D_FILES="d3d12"
|
||||
CP_WINE_FILES="d3d12core d3d10_1 d3d10"
|
||||
;;
|
||||
2)
|
||||
# NEWEST DXVK AND VKD3D
|
||||
print_info "DXVK v.${DXVK_NEW_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_NEW_VER} in use"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
;;
|
||||
6)
|
||||
# STABLE DXVK AND VKD3D
|
||||
print_info "DXVK v.${DXVK_OLD_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_OLD_VER} in use"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_OLD_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_OLD_VER}"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core"
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
;;
|
||||
6)
|
||||
# NEWEST DXVK AND VKD3D
|
||||
print_info "DXVK v.${DXVK_NEW_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_NEW_VER} in use"
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}"
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}"
|
||||
CP_DXVK_FILES="d3d11 d3d10core d3d9 d3d8 dxgi"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core"
|
||||
CP_WINE_FILES="d3d10_1 d3d10"
|
||||
;;
|
||||
esac
|
||||
@@ -3816,8 +3970,6 @@ fi
|
||||
|| [[ $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_NEW_VER}"
|
||||
CP_VKD3D_FILES="libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_WINE_FILES="d3d12 d3d12core d3d11 d3d10core d3d10_1 d3d10 d3d9 d3d8 dxgi"
|
||||
fi
|
||||
|
||||
@@ -3878,14 +4030,13 @@ fi
|
||||
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"
|
||||
if [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12core.dll" ]] \
|
||||
|| [[ -f "${WINEDIR}/lib/wine/vkd3d-proton/x86_64-windows/d3d12core.dll" ]] ; then
|
||||
CP_VKD3D_FILES="d3d12 d3d12core"
|
||||
elif [[ -f "${WINEDIR}/lib64/wine/vkd3d-proton/d3d12.dll" ]] ; then
|
||||
CP_VKD3D_FILES="d3d12"
|
||||
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"
|
||||
@@ -4182,30 +4333,29 @@ fi
|
||||
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"
|
||||
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
|
||||
|
||||
# некоторым играм для любых 3D api для правильной работы wined3d необходимо чтобы эти библиотеки всегда были
|
||||
PATH_TO_VKD3D_FILES="${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_NEW_VER}" # используется git версия
|
||||
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/libvkd3d-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/libvkd3d-1.dll"
|
||||
try_force_link_file "${PATH_TO_VKD3D_FILES}/x86/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/syswow64/libvkd3d-shader-1.dll"
|
||||
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/libvkd3d-1.dll" "${WINEPREFIX}/drive_c/windows/system32/libvkd3d-1.dll"
|
||||
try_force_link_file "${PATH_TO_VKD3D_FILES}/x64/libvkd3d-shader-1.dll" "${WINEPREFIX}/drive_c/windows/system32/libvkd3d-shader-1.dll"
|
||||
|
||||
# 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}"
|
||||
@@ -4587,14 +4737,11 @@ pw_run () {
|
||||
export WINE_LARGE_ADDRESS_AWARE="1"
|
||||
fi
|
||||
|
||||
check_variables SteamAppId "0"
|
||||
check_variables SteamGameId "0"
|
||||
|
||||
PW_LOG_TO_FILE="${PORT_WINE_PATH}/PortProton.log"
|
||||
PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}"
|
||||
|
||||
echo "##### Current variables #####" > "$PW_TMPFS_PATH/var.log"
|
||||
for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" \
|
||||
for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" \
|
||||
"WINELOADER" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" \
|
||||
"WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" "PW_TASKSET_SLR"
|
||||
do
|
||||
@@ -4768,6 +4915,7 @@ portwine_launch () {
|
||||
|
||||
[[ $PW_LOG != 1 ]] && debug_timer --start -s "PW_TIME_IN_GAME"
|
||||
if [[ -n "${LAUNCH_URI}" ]] ; then
|
||||
export WINEFSYNC="1"
|
||||
pw_run start /high /b "${LAUNCH_URI}" &
|
||||
unset GAMEPID
|
||||
while true ; do
|
||||
@@ -5476,6 +5624,14 @@ gui_edit_db () {
|
||||
|
||||
[[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_NTSYNC"
|
||||
|
||||
if ! check_flatpak \
|
||||
&& [[ $(ldd --version | head -n 1 | awk '{print $4}') < 2.38 ]]
|
||||
then
|
||||
DISABLE_EDIT_DB_LIST+=" PW_USE_LS_FRAME_GEN"
|
||||
export PW_USE_LS_FRAME_GEN="0"
|
||||
PW_USE_LS_FRAME_GEN_INFO=${translations[GLIBC version 2.38+ is required for use Lossless Scaling frame generation]}
|
||||
fi
|
||||
|
||||
unset ADD_CHK_BOX_EDIT_DB
|
||||
for int_to_boole in "${PW_EDIT_DB_LIST[@]}" ; do
|
||||
if [[ "${!int_to_boole}" == "1" ]]
|
||||
@@ -5539,7 +5695,6 @@ gui_edit_db () {
|
||||
if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \
|
||||
[[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
|
||||
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
|
||||
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
|
||||
else
|
||||
AMD_VULKAN_VAR="disabled"
|
||||
fi
|
||||
@@ -6419,12 +6574,12 @@ gui_userconf () {
|
||||
NEW_STEAM_BEHAVIOR="${translations[Enable]}"
|
||||
fi
|
||||
|
||||
if [[ -n $PW_GPU_USE ]] \
|
||||
&& [[ $PW_GPU_USE != "disabled" ]]
|
||||
then
|
||||
if [[ -n $PW_GPU_USE ]] && [[ $PW_GPU_USE != "disabled" ]] ; then
|
||||
GPU_VAR="$PW_GPU_USE"
|
||||
elif [[ -n $GET_GPU_NAMES ]] ; then
|
||||
GPU_VAR="${GET_GPU_NAMES/!*/}"
|
||||
else
|
||||
GPU_VAR="disabled"
|
||||
GPU_VAR="${translations[The graphics card does not support Vulkan]}"
|
||||
fi
|
||||
|
||||
if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then
|
||||
@@ -6446,10 +6601,9 @@ gui_userconf () {
|
||||
SOUND_DRIVER_VAR="disabled"
|
||||
fi
|
||||
|
||||
if [[ $GUI_THEME == "default" ]] ; then GUI_THEME=${translations[default]}
|
||||
elif [[ $GUI_THEME == "compact" ]] ; then GUI_THEME=${translations[compact]}
|
||||
elif [[ $GUI_THEME == "classic" ]] ; then GUI_THEME=${translations[classic]}
|
||||
fi
|
||||
[[ $GUI_THEME == "default" ]] && GUI_THEME=${translations[default]}
|
||||
[[ $GUI_THEME == "compact" ]] && GUI_THEME=${translations[compact]}
|
||||
[[ $GUI_THEME == "classic" ]] && GUI_THEME=${translations[classic]}
|
||||
|
||||
if command -v gsettings &>/dev/null ; then
|
||||
YAD_GTK_THEME=$(gsettings get org.gnome.desktop.interface gtk-theme)
|
||||
@@ -6457,11 +6611,10 @@ gui_userconf () {
|
||||
[[ -n $YAD_GTK_THEME ]] && YAD_GTK_THEME="${YAD_GTK_THEME//\'/}!"
|
||||
fi
|
||||
[[ -n $GTK_THEME ]] && GTK_THEME_PROXY="$GTK_THEME"
|
||||
if [[ -z $GTK_THEME_PROXY ]] ; then GTK_THEME_PROXY="${translations[default]}"
|
||||
elif [[ $GTK_THEME_PROXY =~ light$ ]] ; then GTK_THEME_PROXY="${GTK_THEME_PROXY//light/${translations[light]}}"
|
||||
elif [[ $GTK_THEME_PROXY =~ dark$ ]] ; then GTK_THEME_PROXY="${GTK_THEME_PROXY//dark/${translations[dark]}}"
|
||||
elif [[ $GTK_THEME_PROXY == "${YAD_GTK_THEME//\!/}" ]] ; then GTK_THEME_PROXY="${YAD_GTK_THEME//\!/}"
|
||||
fi
|
||||
[[ -z $GTK_THEME_PROXY ]] && GTK_THEME_PROXY="${translations[default]}"
|
||||
[[ $GTK_THEME_PROXY =~ light$ ]] && GTK_THEME_PROXY="${GTK_THEME_PROXY//light/${translations[light]}}"
|
||||
[[ $GTK_THEME_PROXY =~ dark$ ]] && GTK_THEME_PROXY="${GTK_THEME_PROXY//dark/${translations[dark]}}"
|
||||
[[ $GTK_THEME_PROXY == "${YAD_GTK_THEME//\!/}" ]] && GTK_THEME_PROXY="${YAD_GTK_THEME//\!/}"
|
||||
|
||||
if [[ $DESKTOP_WITH_TIME == "posnumber1" ]] ; then
|
||||
DESKTOP_WITH_TIME=${translations[Show in hours and minutes]}
|
||||
@@ -6479,6 +6632,14 @@ gui_userconf () {
|
||||
SORT_WITH_TIME="disabled"
|
||||
fi
|
||||
|
||||
if [[ $PW_VULKAN_UNLOCKED == "default" ]] ; then
|
||||
PW_VULKAN_UNLOCKED="${translations[default]}"
|
||||
PW_VULKAN_UNLOCKED_LIST="${translations[unlock]}"
|
||||
elif [[ $PW_VULKAN_UNLOCKED == "unlocked" ]] ; then
|
||||
PW_VULKAN_UNLOCKED="${translations[unlocked]}"
|
||||
PW_VULKAN_UNLOCKED_LIST="${translations[default]}"
|
||||
fi
|
||||
|
||||
"${pw_yad}" --title="${translations[GLOBAL SETTINGS (USER.CONF)]}" --form \
|
||||
--gui-type="settings-shortcut" --separator="%" \
|
||||
--window-icon "$PW_GUI_ICON_PATH/portproton.svg" \
|
||||
@@ -6488,13 +6649,14 @@ gui_userconf () {
|
||||
--field="${translations[Change branch to]}!${translations[Depending on the version of the scripts, PortProton will receive the latest changes first (the DEVEL branch), the STABLE branch is updated later and is stable.]} :CB" "$(combobox_fix "$BRANCH" "$NEW_BRANCH")" \
|
||||
--field="${translations[Change start gui to]}!${translations[When using PANED in the game start menu, additional buttons are located on one large page; if NOTEBOOK, then they are divided into several.]} :CB" "$(combobox_fix "$PW_GUI_START" "$NEW_START_GUI")" \
|
||||
--field="${translations[Steam covers download]}!${translations[If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)]} :CB" "$(combobox_fix "$DOWNLOAD_STEAM_GRID" "$NEW_STEAM_BEHAVIOR")" \
|
||||
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "$GPU_VAR" "$GET_GPU_NAMES")" \
|
||||
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix "$GPU_VAR" "$GET_GPU_NAMES")" \
|
||||
--field="${translations[Force dpi]}!${translations[Here you can set forced dpi for applications wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "${translations[Recommended value]}!80!96!120!144!168!192!216!240")" \
|
||||
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \
|
||||
--field="${translations[Select PortProton theme]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "${translations[default]}!${translations[compact]}!${translations[classic]}")" \
|
||||
--field="${translations[Select gtk theme]}!${translations[Allows you to select a theme for GTK.]} :CB" "$(combobox_fix "$GTK_THEME_PROXY" "${YAD_GTK_THEME}Adwaita:${translations[light]}!Adwaita:${translations[dark]}!${translations[default]}")" \
|
||||
--field="${translations[Time display]}!${translations[Displays time spent in an application or game]} :CB" "$(combobox_fix --disabled "$DESKTOP_WITH_TIME" "${translations[Show in hours and minutes]}!${translations[Show in days, hours, minutes]}")" \
|
||||
--field="${translations[Sort shortcuts by]}!${translations[This setting sorts the shortcuts in the main menu]} :CB" "$(combobox_fix --disabled "$SORT_WITH_TIME" "${translations[According to last launch]}!${translations[By time]}")" \
|
||||
--field="${translations[Unlock all 3D APIs]}!${translations[Allows you to unlock all available 3D APIs, even if your current graphics card does not meet the minimum requirements]} :CB" "$(combobox_fix "$PW_VULKAN_UNLOCKED" "$PW_VULKAN_UNLOCKED_LIST")" \
|
||||
--button="${translations[CANCEL THE CHANGES]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Cancel the current changes and return to the previous menu]}":1 \
|
||||
--button="${translations[RESET]} USER.CONF!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Restore default settings for]} user.conf":2 \
|
||||
--button="${translations[OPEN THE SETTINGS FILE]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open the <b>user.conf</b> settings file in a system text editor to view and change variables manually]}":164 \
|
||||
@@ -6519,12 +6681,12 @@ gui_userconf () {
|
||||
gui_open_user_conf
|
||||
;;
|
||||
166)
|
||||
unset PW_VULKAN_DRIVER_USE
|
||||
IFS='%' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb"
|
||||
MIRROR="${PW_ADD_SETTINGS_UC[0]}"
|
||||
if [[ $BRANCH != "${PW_ADD_SETTINGS_UC[1]}" ]] ; then
|
||||
if [[ ${PW_ADD_SETTINGS_UC[1]} == "DEVEL" ]] ; then
|
||||
if yad_question "${translations[Do you actually want to change the scripts version to:]} <b>DEVEL?</b>" ; then
|
||||
export MIRROR="GITHUB"
|
||||
pw_notify_send -i info \
|
||||
"${translations[Branch changed to:]}" "<b>DEVEL</b>"
|
||||
BRANCH="devel"
|
||||
@@ -6545,9 +6707,8 @@ gui_userconf () {
|
||||
export PW_CHANGE_BRANCH="1"
|
||||
export PW_FORCE_UPDATE="1"
|
||||
else
|
||||
if [[ $BRANCH == "DEVEL" ]] ; then BRANCH="devel"
|
||||
elif [[ $BRANCH == "STABLE" ]] ; then BRANCH="master"
|
||||
fi
|
||||
[[ $BRANCH == "DEVEL" ]] && BRANCH="devel"
|
||||
[[ $BRANCH == "STABLE" ]] && BRANCH="master"
|
||||
fi
|
||||
PW_GUI_START="${PW_ADD_SETTINGS_UC[2]}"
|
||||
DOWNLOAD_STEAM_GRID="${PW_ADD_SETTINGS_UC[3]}"
|
||||
@@ -6558,30 +6719,46 @@ gui_userconf () {
|
||||
GTK_THEME="${PW_ADD_SETTINGS_UC[8]}"
|
||||
DESKTOP_WITH_TIME="${PW_ADD_SETTINGS_UC[9]}"
|
||||
SORT_WITH_TIME="${PW_ADD_SETTINGS_UC[10]}"
|
||||
PW_VULKAN_UNLOCKED="${PW_ADD_SETTINGS_UC[11]}"
|
||||
|
||||
if [[ $DOWNLOAD_STEAM_GRID =~ (${translations[Enabled]}|${translations[Enable]}) ]] ; then DOWNLOAD_STEAM_GRID="1"
|
||||
elif [[ $DOWNLOAD_STEAM_GRID =~ (${translations[Disabled]}|${translations[Disable]}) ]] ; then DOWNLOAD_STEAM_GRID="0"
|
||||
if [[ $DOWNLOAD_STEAM_GRID =~ (${translations[Enabled]}|${translations[Enable]}) ]]
|
||||
then DOWNLOAD_STEAM_GRID="1"
|
||||
else DOWNLOAD_STEAM_GRID="0"
|
||||
fi
|
||||
if [[ $PW_WINE_DPI_VALUE == "${translations[Recommended value]}" ]] ; then
|
||||
PW_WINE_DPI_VALUE="recommended"
|
||||
|
||||
[[ $PW_WINE_DPI_VALUE == "${translations[Recommended value]}" ]] && PW_WINE_DPI_VALUE="recommended"
|
||||
|
||||
case $GUI_THEME in
|
||||
"${translations[default]}") GUI_THEME="default" ;;
|
||||
"${translations[compact]}") GUI_THEME="compact" ;;
|
||||
"${translations[classic]}") GUI_THEME="classic" ;;
|
||||
esac
|
||||
|
||||
case $GTK_THEME in
|
||||
"${translations[default]}") unset GTK_THEME ;;
|
||||
"${translations[light]}") GTK_THEME=${GTK_THEME//${translations[light]}/light} ;;
|
||||
"${translations[dark]}") GTK_THEME=${GTK_THEME//${translations[dark]}/dark} ;;
|
||||
esac
|
||||
|
||||
if [[ $DESKTOP_WITH_TIME == "${translations[Show in hours and minutes]}" ]]
|
||||
then DESKTOP_WITH_TIME="posnumber1"
|
||||
else DESKTOP_WITH_TIME="posnumber2"
|
||||
fi
|
||||
if [[ $GUI_THEME == "${translations[default]}" ]] ; then GUI_THEME=default
|
||||
elif [[ $GUI_THEME == "${translations[compact]}" ]] ; then GUI_THEME=compact
|
||||
elif [[ $GUI_THEME == "${translations[classic]}" ]] ; then GUI_THEME=classic
|
||||
|
||||
if [[ $SORT_WITH_TIME == "${translations[According to last launch]}" ]]
|
||||
then SORT_WITH_TIME="lastlaunch"
|
||||
else SORT_WITH_TIME="bytime"
|
||||
fi
|
||||
if [[ $GTK_THEME == "${translations[default]}" ]] ; then unset GTK_THEME
|
||||
elif [[ $GTK_THEME =~ ${translations[light]} ]] ; then GTK_THEME=${GTK_THEME//${translations[light]}/light}
|
||||
elif [[ $GTK_THEME =~ ${translations[dark]} ]] ; then GTK_THEME=${GTK_THEME//${translations[dark]}/dark}
|
||||
fi
|
||||
if [[ $DESKTOP_WITH_TIME == "${translations[Show in hours and minutes]}" ]] ; then DESKTOP_WITH_TIME="posnumber1"
|
||||
elif [[ $DESKTOP_WITH_TIME == "${translations[Show in days, hours, minutes]}" ]] ; then DESKTOP_WITH_TIME="posnumber2"
|
||||
fi
|
||||
if [[ $SORT_WITH_TIME == "${translations[According to last launch]}" ]] ; then SORT_WITH_TIME="lastlaunch"
|
||||
elif [[ $SORT_WITH_TIME == "${translations[By time]}" ]] ; then SORT_WITH_TIME="bytime"
|
||||
|
||||
[[ $PW_GPU_USE == "${translations[The graphics card does not support Vulkan]}" ]] && PW_GPU_USE="disabled"
|
||||
|
||||
if [[ $PW_VULKAN_UNLOCKED == "${translations[unlock]}" || $PW_VULKAN_UNLOCKED == "${translations[unlocked]}" ]]
|
||||
then PW_VULKAN_UNLOCKED="unlocked"
|
||||
else PW_VULKAN_UNLOCKED="default"
|
||||
fi
|
||||
|
||||
edit_user_conf_from_gui MIRROR BRANCH PW_GUI_START DOWNLOAD_STEAM_GRID PW_GPU_USE PW_WINE_DPI_VALUE PW_SOUND_DRIVER_USE \
|
||||
GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
|
||||
GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME PW_VULKAN_UNLOCKED
|
||||
restart_pp
|
||||
;;
|
||||
esac
|
||||
@@ -6598,6 +6775,10 @@ resize_png () {
|
||||
RESIZE_NAME_PNG="${2// /_}"
|
||||
fi
|
||||
|
||||
if [[ $RESIZE_NAME_PNG =~ ru.linux_gaming.PortProton/data/img/ ]]
|
||||
then RESIZE_NAME_PNG=${RESIZE_NAME_PNG/*ru.linux_gaming.PortProton\/data\/img\//}
|
||||
fi
|
||||
|
||||
for resize_to in "${@:3}" ; do
|
||||
if [[ $resize_to == 128 ]]
|
||||
then resize_to_helper=""
|
||||
@@ -6763,20 +6944,6 @@ get_lnk_path () {
|
||||
link_path=$(echo "$1" | sed 's|%ProgramFiles(x86)%|C:\\Program Files (x86)|gi;s|%ProgramFiles%|C:\\Program Files|gi' | sed "s|^.|${PORT_WINE_PATH}/data/prefixes/${prefix_name:-${PW_PREFIX_NAME:-DEFAULT}}/dosdevices/${link_drive}|g" | sed 's/\\/\//g')
|
||||
}
|
||||
|
||||
get_lnk () {
|
||||
if command -v exiftool &>/dev/null ; then
|
||||
if timeout 3 exiftool "$1" &> "${PW_TMPFS_PATH}/exiftool.tmp" ; then
|
||||
parse_lnk "$1"
|
||||
else
|
||||
print_error "exiftool - broken!"
|
||||
fi
|
||||
else
|
||||
print_warning "use portable exiftool"
|
||||
env PERL5LIB="${PW_PLUGINS_PATH}/portable/lib/perl5" "${PW_PLUGINS_PATH}/portable/bin/exiftool" "$1" &> "${PW_TMPFS_PATH}/exiftool.tmp"
|
||||
parse_lnk "$1"
|
||||
fi
|
||||
}
|
||||
|
||||
pw_auto_create_shortcut () {
|
||||
if [[ "${PW_CHECK_AUTOINSTALL}" == "1" ]] \
|
||||
|| [[ "${PW_NO_AUTO_CREATE_SHORTCUT}" == "1" ]] \
|
||||
@@ -6822,7 +6989,8 @@ pw_auto_create_shortcut () {
|
||||
read -r -a SORTED_LINKS < <(echo "${LINKS[@]}" | tr ' ' '\n' | sort -u | tr '\n' ' ')
|
||||
|
||||
for link_file in "${SORTED_LINKS[@]//#@_@#/ }" ; do
|
||||
get_lnk "${link_file}"
|
||||
use_exiftool "${link_file}"
|
||||
parse_lnk "${link_file}"
|
||||
if ! exe_path="$(realpath "${link_path}" 2>/dev/null)" ; then
|
||||
print_warning "Link broken for: $link_name"
|
||||
else
|
||||
@@ -7036,9 +7204,9 @@ pw_prefix_manager () {
|
||||
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" 2>/dev/null
|
||||
YAD_STATUS="$?"
|
||||
|
||||
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
|
||||
try_remove_file "${PW_TMPFS_PATH}/fonts_list_tmp"
|
||||
try_remove_file "${PW_TMPFS_PATH}/settings_list_tmp"
|
||||
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
|
||||
try_remove_file "${PW_TMPFS_PATH}/fonts_list_tmp"
|
||||
try_remove_file "${PW_TMPFS_PATH}/settings_list_tmp"
|
||||
|
||||
case "$YAD_STATUS" in
|
||||
0)
|
||||
@@ -7081,11 +7249,6 @@ portwine_start_debug () {
|
||||
pw_skip_get_info
|
||||
kill_portwine
|
||||
export PW_LOG=1
|
||||
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
|
||||
pw_notify_send -i warning \
|
||||
"${translations[Attention working version of vulkan not detected!]}" \
|
||||
"${translations[It is recommended to run games in OpenGL (low performance possible)!]}"
|
||||
fi
|
||||
echo "${translations[PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port]}" > "${PORT_WINE_PATH}/PortProton.log"
|
||||
echo "${translations[To diagnose the problem, copy ALL of the log to:]} https://linux-gaming.ru/t/opisanie-kategorii-portproton-pomoshh/1642" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||
@@ -7426,6 +7589,7 @@ gui_open_user_conf () {
|
||||
restart_pp --userconf
|
||||
;;
|
||||
2)
|
||||
unset PW_VULKAN_DRIVER_USE
|
||||
echo "${PW_USERCONF_GUI}" > "${PORT_WINE_PATH}/data/user.conf"
|
||||
print_info "Restarting..."
|
||||
restart_pp --userconf
|
||||
|
@@ -277,14 +277,15 @@ if [[ -z $SORT_WITH_TIME ]] ; then
|
||||
fi
|
||||
|
||||
# TODO:fixes_after_update (со временем можно будет дропнуть)
|
||||
if fixes_after_update "2395: DESKTOP_WITH_TIME by default displays hours and minutes" ; then
|
||||
DESKTOP_WITH_TIME="posnumber1"
|
||||
edit_user_conf_from_gui DESKTOP_WITH_TIME
|
||||
fi
|
||||
if fixes_after_update "2398: SORT_WITH_TIME by default sorts from the last run" ; then
|
||||
SORT_WITH_TIME="lastlaunch"
|
||||
edit_user_conf_from_gui SORT_WITH_TIME
|
||||
fi
|
||||
# Оставил для примера
|
||||
# if fixes_after_update "2395: DESKTOP_WITH_TIME by default displays hours and minutes" ; then
|
||||
# DESKTOP_WITH_TIME="posnumber1"
|
||||
# edit_user_conf_from_gui DESKTOP_WITH_TIME
|
||||
# fi
|
||||
# if fixes_after_update "2398: SORT_WITH_TIME by default sorts from the last run" ; then
|
||||
# SORT_WITH_TIME="lastlaunch"
|
||||
# edit_user_conf_from_gui SORT_WITH_TIME
|
||||
# fi
|
||||
|
||||
# choose wine dpi default
|
||||
if [[ -z $PW_WINE_DPI_VALUE ]] ; then
|
||||
@@ -306,8 +307,13 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
||||
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
|
||||
export PW_FILESYSTEM
|
||||
|
||||
background_pid --start "pw_get_tmp_files" "1"
|
||||
background_pid --start "pw_check_glxinfo" "2"
|
||||
background_pid --start "pw_check_vulkan" "1"
|
||||
background_pid --start "pw_get_tmp_files" "2"
|
||||
fi
|
||||
|
||||
if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
|
||||
unset PW_GPU_USE
|
||||
pw_check_dxvk
|
||||
fi
|
||||
|
||||
# create lock file
|
||||
@@ -559,22 +565,8 @@ if [[ -f "$portwine_exe" ]] ; then
|
||||
gui_userconf
|
||||
fi
|
||||
|
||||
if [[ -z $PW_VULKAN_USE ]] \
|
||||
|| [[ $PW_VULKAN_USE == [3-5] ]]
|
||||
then
|
||||
if [[ -e "/sys/module/nvidia/version" ]] ;then
|
||||
if [[ $(</sys/module/nvidia/version) > 550.54.13 ]]
|
||||
then export PW_VULKAN_USE="6"
|
||||
else export PW_VULKAN_USE="2"
|
||||
fi
|
||||
else
|
||||
background_pid --stop "pw_check_glxinfo" "2"
|
||||
if [[ $(grep "Version:" "$PW_TMPFS_PATH/glxinfo.tmp" | awk '{print $2}') > 24.9.9 ]]
|
||||
then export PW_VULKAN_USE="6"
|
||||
else export PW_VULKAN_USE="2"
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
[[ $PW_VULKAN_USE == [3-5] ]] && unset PW_VULKAN_USE
|
||||
pw_check_dxvk
|
||||
|
||||
if [[ $PW_GUI_DISABLED_CS != 1 ]] ; then
|
||||
pw_create_gui_png
|
||||
@@ -595,34 +587,32 @@ if [[ -f "$portwine_exe" ]] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
case "$PW_VULKAN_USE" in
|
||||
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK" ;;
|
||||
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
|
||||
2) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
|
||||
esac
|
||||
KEY_START="$RANDOM"
|
||||
"$pw_yad" --plug=$KEY_START --tabnum="1" --form --separator=";" $START_GUI_TYPE \
|
||||
--gui-type-box="$START_GUI_TYPE_BOX" --gui-type-layout="$START_GUI_TYPE_LAYOUT_UP" \
|
||||
--gui-type-text="$START_GUI_TYPE_TEXT" --gui-type-images="$START_GUI_TYPE_IMAGE" \
|
||||
--image="$PW_ICON_FOR_YAD" --text-align="center" --text "$PW_COMMENT_DB" \
|
||||
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
|
||||
1> "$PW_TMPFS_PATH/tmp_yad_form_vulkan" 2>/dev/null &
|
||||
|
||||
if [[ $PW_GUI_START == "NOTEBOOK" ]]
|
||||
then PW_GUI_START_TABNUM2="--columns=$START_GUI_NOTEBOOK_COLUMNS --gui-type-layout=$START_GUI_TYPE_LAYOUT_NOTEBOOK"
|
||||
elif [[ $PW_GUI_START == "PANED" ]]
|
||||
then PW_GUI_START_TABNUM2="--columns=$START_GUI_PANED_COLUMNS --gui-type-layout=$START_GUI_TYPE_LAYOUT_PANED --homogeneous-row"
|
||||
fi
|
||||
|
||||
"$pw_yad" --plug=$KEY_START --tabnum="2" --form --align-buttons --homogeneous-column $PW_GUI_START_TABNUM2 \
|
||||
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
|
||||
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
|
||||
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)]}":"FBTN" '@bash -c "button_click --start 120"' \
|
||||
--field=" MangoHud!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
|
||||
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
|
||||
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
|
||||
2>/dev/null &
|
||||
|
||||
export KEY_START="$RANDOM"
|
||||
if [[ $PW_GUI_START == "NOTEBOOK" ]] ; then
|
||||
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" $START_GUI_TYPE \
|
||||
--gui-type-box="$START_GUI_TYPE_BOX" --gui-type-layout="$START_GUI_TYPE_LAYOUT_UP" \
|
||||
--gui-type-text="$START_GUI_TYPE_TEXT" --gui-type-images="$START_GUI_TYPE_IMAGE" \
|
||||
--image="$PW_ICON_FOR_YAD" --text-align="center" --text "$PW_COMMENT_DB" \
|
||||
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
|
||||
1> "${PW_TMPFS_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
|
||||
|
||||
"${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="$START_GUI_NOTEBOOK_COLUMNS" --align-buttons --homogeneous-column \
|
||||
--gui-type-layout="$START_GUI_TYPE_LAYOUT_NOTEBOOK" \
|
||||
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
|
||||
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
|
||||
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)]}":"FBTN" '@bash -c "button_click --start 120"' \
|
||||
--field=" MangoHud!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
|
||||
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
|
||||
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
|
||||
2>/dev/null &
|
||||
|
||||
if [[ "$PW_YAD_FORM_TAB" == "1" ]] \
|
||||
&& [[ -n "$TAB_START" ]]
|
||||
then
|
||||
@@ -631,53 +621,24 @@ if [[ -f "$portwine_exe" ]] ; then
|
||||
else
|
||||
export TAB_START="1"
|
||||
fi
|
||||
|
||||
"${pw_yad}" --key=$KEY_START --notebook --active-tab="$TAB_START" \
|
||||
--gui-type="settings-notebook" \
|
||||
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
|
||||
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" --expand \
|
||||
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||
--tab="${translations[GENERAL]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
|
||||
--button="${PW_SHORTCUT}" \
|
||||
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
|
||||
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
|
||||
PW_YAD_SET="$?"
|
||||
export PW_YAD_FORM_TAB="1"
|
||||
|
||||
PW_GUI_START_TABNUM3="--notebook --active-tab=$TAB_START --gui-type=settings-notebook --expand"
|
||||
elif [[ $PW_GUI_START == "PANED" ]] ; then
|
||||
"${pw_yad}" --plug=$KEY_START --tabnum=1 --form --separator=";" $START_GUI_TYPE \
|
||||
--gui-type-box="$START_GUI_TYPE_BOX" --gui-type-layout="$START_GUI_TYPE_LAYOUT_UP" \
|
||||
--gui-type-text="$START_GUI_TYPE_TEXT" --gui-type-images="$START_GUI_TYPE_IMAGE" \
|
||||
--image="$PW_ICON_FOR_YAD" --text-align="center" --text "$PW_COMMENT_DB" \
|
||||
--field="3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
|
||||
1> "${PW_TMPFS_PATH}/tmp_yad_form_vulkan" 2>/dev/null &
|
||||
|
||||
"${pw_yad}" --plug=$KEY_START --tabnum=2 --form --columns="$START_GUI_PANED_COLUMNS" \
|
||||
--gui-type-layout="$START_GUI_TYPE_LAYOUT_PANED" \
|
||||
--align-buttons --homogeneous-row --homogeneous-column \
|
||||
--field=" ${translations[Base settings]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Edit database file for]} ${PORTWINE_DB}":"FBTN" '@bash -c "button_click --start 118"' \
|
||||
--field=" ${translations[Open directory]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Open directory with <b>.ppdb</b> file]}":"FBTN" '@bash -c "button_click --start open_game_folder"' \
|
||||
--field=" vkBasalt!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable vkBasalt by default to improve graphics in games running on Vulkan. (The HOME hotkey disables vkbasalt)]}":"FBTN" '@bash -c "button_click --start 120"' \
|
||||
--field=" MangoHud!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable Mangohud by default (R_SHIFT + F12 keyboard shortcuts disable Mangohud)]}":"FBTN" '@bash -c "button_click --start 122"' \
|
||||
--field=" dgVoodoo2!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable dgVoodoo2 by default (This wrapper fixes many compatibility and rendering issues when running old games)]}":"FBTN" '@bash -c "button_click --start 124"' \
|
||||
--field=" GameScope!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Enable GameScope by default (Wayland micro compositor)]}":"FBTN" '@bash -c "button_click --start 126"' \
|
||||
2>/dev/null &
|
||||
|
||||
"${pw_yad}" --key=$KEY_START --paned \
|
||||
--gui-type="settings-paned" \
|
||||
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
|
||||
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" \
|
||||
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
|
||||
--button="${PW_SHORTCUT}" \
|
||||
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
|
||||
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
|
||||
PW_YAD_SET="$?"
|
||||
PW_GUI_START_TABNUM3="--paned --gui-type=settings-paned"
|
||||
fi
|
||||
|
||||
"$pw_yad" --key=$KEY_START $PW_GUI_START_TABNUM3 \
|
||||
--width="$PW_START_SIZE_W" --tab-pos="$PW_TAB_POSITON" \
|
||||
--title "PortProton-$install_ver (${scripts_install_ver}${BRANCH_VERSION})" \
|
||||
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" \
|
||||
--tab="${translations[GENERAL]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" \
|
||||
--button="${translations[MAIN MENU]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Main menu]}":128 \
|
||||
--button="${PW_SHORTCUT}" \
|
||||
--button="${translations[DEBUG]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Launch with the creation of a .log file at the root PortProton]}":102 \
|
||||
--button="${translations[LAUNCH]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!${translations[Run file ...]}":106 2>/dev/null
|
||||
PW_YAD_SET="$?"
|
||||
[[ $PW_GUI_START == "NOTEBOOK" ]] && export PW_YAD_FORM_TAB="1"
|
||||
|
||||
case "$PW_YAD_SET" in
|
||||
128)
|
||||
[[ "$PW_GUI_START" == "NOTEBOOK" ]] && unset PW_YAD_FORM_TAB
|
||||
|
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: Castro-Fidel (linux-gaming.ru)
|
||||
#SCRIPTS_NEXT_VERSION=2436
|
||||
#SCRIPTS_NEXT_VERSION=2439
|
||||
#SCRIPTS_STABLE_VERSION=2435
|
||||
########################################################################
|
||||
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"
|
||||
@@ -14,8 +14,8 @@ export PW_USE_RUNTIME="1"
|
||||
export PW_RT_MOUNT_RO=("")
|
||||
export PW_RT_MOUNT_RW=("/media" "/mnt" "/run/media/${USER}" "${PORT_WINE_PATH}")
|
||||
#export PW_SANDBOX_HOME_PATH="${PORT_WINE_PATH}"
|
||||
export PW_USE_ESYNC="1"
|
||||
export PW_USE_FSYNC="1"
|
||||
export PW_USE_ESYNC="0"
|
||||
export PW_USE_FSYNC="0"
|
||||
export PW_USE_NTSYNC="0"
|
||||
export PW_USE_GAMEMODE="0"
|
||||
export PW_USE_TERMINAL="0"
|
||||
@@ -34,7 +34,6 @@ export PW_MESA_VK_WSI_PRESENT_MODE="disabled"
|
||||
export PW_VKD3D_FEATURE_LEVEL="disabled"
|
||||
export PW_USE_EAC_AND_BE="1"
|
||||
export PW_USE_US_LAYOUT="0"
|
||||
export PW_GPU_USE="disabled"
|
||||
export PW_LOCALE_SELECT="disabled"
|
||||
export PW_DINPUT_PROTOCOL="0"
|
||||
export PW_USE_VRCLIENT="0"
|
||||
@@ -45,10 +44,11 @@ export PW_USE_WINED3D_VULKAN="0"
|
||||
export PW_USE_SUPPLIED_DXVK_VKD3D="1"
|
||||
export PW_USE_SAREK_ASYNC="0"
|
||||
export WINEUSERNAME="steamuser"
|
||||
export PW_VULKAN_UNLOCKED="default"
|
||||
###DEFAULT_WINE###
|
||||
export PW_WINE_USE="PROTON_LG"
|
||||
export PW_PLUGINS_VER="_v20"
|
||||
export PW_OPTISCALER_VER="v1"
|
||||
export PW_OPTISCALER_VER="v02-0.7.7-pre12"
|
||||
export PW_GALLIUM_NINE_VER="0.10"
|
||||
export PW_LSFG_VK_VER="3.1-p11-cebe5e2"
|
||||
###WINE_AND_PROTON_LG###
|
||||
|
Reference in New Issue
Block a user