Compare commits
50 Commits
Author | SHA1 | Date | |
---|---|---|---|
69ec71e564 | |||
e1a47bdb0e | |||
c1b7c33444 | |||
9c3d3e37e1 | |||
c33d9ba3f5 | |||
ca9c63711d | |||
9064faf36f | |||
88c5d78713 | |||
7c573daca5 | |||
e9a13ae5d8 | |||
e2f1476d90 | |||
ccd9b166d1 | |||
4e18752e5c | |||
0a277c430e | |||
4b72da7abf | |||
90df03eec7 | |||
f67d2c27f4 | |||
e9dc5604d4 | |||
a2acf29a37 | |||
a8f0badcd1 | |||
085220ea94 | |||
252ed89e4e | |||
d44749fbeb | |||
1b007ee3cb | |||
779fc18eb5 | |||
b5564b32c5 | |||
812cadac41 | |||
6bee5b77f1 | |||
a480074dc8 | |||
a841a3a72c | |||
cf9f9c4561 | |||
152c8191af | |||
b41bf42d2a
|
|||
df88eac63c | |||
c28c08122b | |||
407657891a | |||
e4d2edd889 | |||
19996e4331 | |||
5d5fa65008 | |||
0ff029f335 | |||
1b0683772e | |||
c2ff9aea0a | |||
ee108295f4 | |||
3a57d159dd | |||
bdb90516a6 | |||
90110f1d26
|
|||
7c6ecdd518 | |||
9c1cd17ea4 | |||
89539538a8 | |||
1cd0b569b8 |
@ -2,6 +2,27 @@ You can help us in the development of the project on the website: https://linux-
|
||||
----------------------------------------
|
||||
Changelog:
|
||||
|
||||
###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
|
||||
- Stable ones work with any drivers, provided that the video card supports Vulkan version "1.3+"
|
||||
- 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
|
||||
* removed tab for downloading third-party versions of WINE-GE-GUSTOM (outdated versions of WINE)
|
||||
|
@ -2,6 +2,27 @@
|
||||
-----------------------------------------
|
||||
История изменений:
|
||||
|
||||
###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+"
|
||||
- Стабильные работают с любыми драйверами при условии что видеокарта поддерживает Vulkan версии "1.3+"
|
||||
- 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
|
||||
* удалена вкладка скачивания сторонних версий WINE-GE-GUSTOM (устаревшие версии WINE)
|
||||
|
@ -7,7 +7,7 @@
|
||||
msgid ""
|
||||
msgstr "Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-21 16:53+0300\n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+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"
|
||||
@ -61,19 +61,36 @@ msgid "--autoinstall and the name of what needs to be installed is given in "
|
||||
"the list below:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select DXVK and VKD3D versions for DirectX to Vulkan translation:\n"
|
||||
" - The newest ones work only with MESA 25+ drivers, or NVIDIA "
|
||||
"550.54.14+\n"
|
||||
" - Stable ones work with any drivers, provided that the video card "
|
||||
"supports Vulkan version 1.3+\n"
|
||||
" - Sarek works with almost any video card that supports Vulkan\n"
|
||||
" - WineD3D OpenGL works on any PC, but with low performance and "
|
||||
"old games"
|
||||
msgstr ""
|
||||
|
||||
msgid "Selecting a WINE version."
|
||||
msgstr ""
|
||||
|
||||
msgid "Select a prefix to launch the game/application (if you enter a non-"
|
||||
"existent name, a new prefix will be created)."
|
||||
msgstr ""
|
||||
|
||||
msgid "USE_SYSTEM_WINE"
|
||||
msgstr ""
|
||||
|
||||
msgid "WineD3D OpenGL (For video cards without Vulkan)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
msgid "DXVK, VKD3D (Sarek) (Vulkan v1.1+)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Stable DXVK, VKD3D (Vulkan v1.2)"
|
||||
msgid "DXVK, VKD3D (Stable) (Vulkan v1.3+)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
|
||||
msgid "DXVK, VKD3D (Newest) (Vulkan v1.3+)"
|
||||
msgstr ""
|
||||
|
||||
msgid "GET-OTHER-WINE"
|
||||
@ -384,6 +401,9 @@ msgstr ""
|
||||
msgid "Check new version WINE..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Error: failed to fetch metadata."
|
||||
msgstr ""
|
||||
|
||||
msgid "Error: check wine."
|
||||
msgstr ""
|
||||
|
||||
@ -543,6 +563,9 @@ msgid "Use dxvk and vkd3d which are bundled with wine or proton. (Does not "
|
||||
"work with PROTON_LG and WINE_LG)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use async version of dxvk-sarek. (May work better or vice versa)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
|
||||
msgstr ""
|
||||
|
||||
@ -1073,7 +1096,7 @@ msgid "Disable MangoHud and go to the previous menu"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working "
|
||||
"only on newest and stable dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
"only on newest and sarek dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Force the vertical sync to avoid tearing or prevent the GPU from "
|
||||
|
@ -8,8 +8,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-21 16:53+0300\n"
|
||||
"PO-Revision-Date: 2025-07-01 20:00+0300\n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+0300\n"
|
||||
"PO-Revision-Date: 2025-07-24 15:26+0500\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: es_ES\n"
|
||||
@ -81,20 +81,38 @@ msgstr ""
|
||||
"--autoinstall y el nombre de lo que se debe instalar se indica en la lista a "
|
||||
"continuación:"
|
||||
|
||||
msgid ""
|
||||
"Select DXVK and VKD3D versions for DirectX to Vulkan translation:\n"
|
||||
" - The newest ones work only with MESA 25+ drivers, or NVIDIA 550.54.14+\n"
|
||||
" - Stable ones work with any drivers, provided that the video card "
|
||||
"supports Vulkan version 1.3+\n"
|
||||
" - Sarek works with almost any video card that supports Vulkan\n"
|
||||
" - WineD3D OpenGL works on any PC, but with low performance and old games"
|
||||
msgstr ""
|
||||
|
||||
#, fuzzy
|
||||
msgid "Selecting a WINE version."
|
||||
msgstr "Seleccionar WINE para descargar:"
|
||||
|
||||
msgid ""
|
||||
"Select a prefix to launch the game/application (if you enter a non-existent "
|
||||
"name, a new prefix will be created)."
|
||||
msgstr ""
|
||||
|
||||
msgid "USE_SYSTEM_WINE"
|
||||
msgstr "Usar Wine del sistema"
|
||||
|
||||
msgid "WineD3D OpenGL (For video cards without Vulkan)"
|
||||
msgstr "WineD3D OpenGL (Para tarjetas de video sin Vulkan)"
|
||||
|
||||
msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
msgstr "DXVK heredado (Vulkan v1.1)"
|
||||
msgid "DXVK, VKD3D (Sarek) (Vulkan v1.1+)"
|
||||
msgstr "DXVK, VKD3D (Sarek) (Vulkan v1.1+)"
|
||||
|
||||
msgid "Stable DXVK, VKD3D (Vulkan v1.2)"
|
||||
msgstr "DXVK estable, VKD3D (Vulkan v1.2)"
|
||||
msgid "DXVK, VKD3D (Stable) (Vulkan v1.3+)"
|
||||
msgstr "DXVK, VKD3D (Stable) (Vulkan v1.3+)"
|
||||
|
||||
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
|
||||
msgstr "Más nuevo DXVK, VKD3D, D8VK (Vulkan v1.3+)"
|
||||
msgid "DXVK, VKD3D (Newest) (Vulkan v1.3+)"
|
||||
msgstr "DXVK, VKD3D (Newest) (Vulkan v1.3+)"
|
||||
|
||||
msgid "GET-OTHER-WINE"
|
||||
msgstr "OBTENER OTRO WINE"
|
||||
@ -430,6 +448,9 @@ msgstr "FORZAR SALIDA"
|
||||
msgid "Check new version WINE..."
|
||||
msgstr "Comprobar nueva versión de WINE..."
|
||||
|
||||
msgid "Error: failed to fetch metadata."
|
||||
msgstr ""
|
||||
|
||||
msgid "Error: check wine."
|
||||
msgstr "Error: verificar wine."
|
||||
|
||||
@ -661,6 +682,9 @@ msgstr ""
|
||||
"Utilice dxvk y vkd3d que vienen incluidos con wine o proton. (No funciona "
|
||||
"con PROTON_LG y WINE_LG)"
|
||||
|
||||
msgid "Use async version of dxvk-sarek. (May work better or vice versa)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
|
||||
msgstr "Desactivar llamadas asíncronas para los modos VULKAN y DXVK"
|
||||
|
||||
@ -1316,9 +1340,10 @@ msgstr "Iniciar vkcube para previsualizar los cambios"
|
||||
msgid "Disable MangoHud and go to the previous menu"
|
||||
msgstr "Desactivar MangoHud y volver al menú anterior"
|
||||
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on "
|
||||
"newest and stable dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
"newest and sarek dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
msgstr ""
|
||||
"Usa DirectX 12 para dgVoodoo2. No siempre funciona mejor. (Funciona solo con "
|
||||
"dxvk/vkd3d más nuevos y estables) (Configuraciones de Direct3D y Glide)"
|
||||
@ -2193,6 +2218,9 @@ msgstr "UNIRSE"
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "BIBLIOTECAS DE TERCEROS"
|
||||
|
||||
#~ msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
#~ msgstr "DXVK heredado (Vulkan v1.1)"
|
||||
|
||||
#~ msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
#~ msgstr ""
|
||||
#~ "Habilitar el traductor de DLSS en FSR 2 en juegos DirectX 12 (CyberFSR2)"
|
||||
|
Binary file not shown.
@ -7,8 +7,8 @@ msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: \n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2025-07-21 16:53+0300\n"
|
||||
"PO-Revision-Date: 2025-07-21 16:55+0300\n"
|
||||
"POT-Creation-Date: 2025-07-24 16:50+0300\n"
|
||||
"PO-Revision-Date: 2025-07-24 16:51+0300\n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"Language: ru_RU\n"
|
||||
@ -80,20 +80,46 @@ msgstr ""
|
||||
"--autoinstall и название того, что необходимо установить, указано в списке "
|
||||
"ниже:"
|
||||
|
||||
msgid ""
|
||||
"Select DXVK and VKD3D versions for DirectX to Vulkan translation:\n"
|
||||
" - The newest ones work only with MESA 25+ drivers, or NVIDIA 550.54.14+\n"
|
||||
" - Stable ones work with any drivers, provided that the video card "
|
||||
"supports Vulkan version 1.3+\n"
|
||||
" - Sarek works with almost any video card that supports Vulkan\n"
|
||||
" - WineD3D OpenGL works on any PC, but with low performance and old games"
|
||||
msgstr ""
|
||||
"Выберите версии DXVK и VKD3D для трансляции DirectX в Vulkan:\n"
|
||||
" - Новейшие работают только с драйверами MESA 25+, или NVIDIA 550.54.14+\n"
|
||||
" - Стабильные работают с любыми драйверами при условии что видеокарта "
|
||||
"поддерживает Vulkan версии 1.3+\n"
|
||||
" - Sarek работает почти с любой видеокартой поддерживающей Vulkan\n"
|
||||
" - WineD3D OpenGL работает на любом ПК, но с низкой производительностью и "
|
||||
"старыми играми"
|
||||
|
||||
msgid "Selecting a WINE version."
|
||||
msgstr "Выбор версии WINE."
|
||||
|
||||
msgid ""
|
||||
"Select a prefix to launch the game/application (if you enter a non-existent "
|
||||
"name, a new prefix will be created)."
|
||||
msgstr ""
|
||||
"Выбор префикса для запуска игры/приложения (при вводе не существующего "
|
||||
"названия будет создан новый префикс)."
|
||||
|
||||
msgid "USE_SYSTEM_WINE"
|
||||
msgstr "Использовать системную версию wine"
|
||||
|
||||
msgid "WineD3D OpenGL (For video cards without Vulkan)"
|
||||
msgstr "WineD3D OpenGL (для видеокарт без поддержки Vulkan)"
|
||||
|
||||
msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
msgstr "Устаревший DXVK (Vulkan v1.1)"
|
||||
msgid "DXVK, VKD3D (Sarek) (Vulkan v1.1+)"
|
||||
msgstr "DXVK, VKD3D (Sarek) (Vulkan v1.1+)"
|
||||
|
||||
msgid "Stable DXVK, VKD3D (Vulkan v1.2)"
|
||||
msgstr "Стабильные DXVK, VKD3D (Vulkan v1.2)"
|
||||
msgid "DXVK, VKD3D (Stable) (Vulkan v1.3+)"
|
||||
msgstr "DXVK, VKD3D (Стабильные) (Vulkan v1.3+)"
|
||||
|
||||
msgid "Newest DXVK, VKD3D, D8VK (Vulkan v1.3+)"
|
||||
msgstr "Новейшие DXVK, VKD3D, D8VK (Vulkan v1.3+)"
|
||||
msgid "DXVK, VKD3D (Newest) (Vulkan v1.3+)"
|
||||
msgstr "DXVK, VKD3D (Новейшие) (Vulkan v1.3+)"
|
||||
|
||||
msgid "GET-OTHER-WINE"
|
||||
msgstr "Скачать другие версии wine"
|
||||
@ -431,6 +457,9 @@ msgstr "ПРИНУДИТЕЛЬНЫЙ ВЫХОД"
|
||||
msgid "Check new version WINE..."
|
||||
msgstr "Проверяем новые версии WINE..."
|
||||
|
||||
msgid "Error: failed to fetch metadata."
|
||||
msgstr "Ошибка: не удалось получить метаданные."
|
||||
|
||||
msgid "Error: check wine."
|
||||
msgstr "Ошибка во время проверки версии WINE."
|
||||
|
||||
@ -676,6 +705,11 @@ msgstr ""
|
||||
"Использовать dxvk и vkd3d, которые поставляются в комплекте с wine или "
|
||||
"proton. (Не работает с PROTON_LG и WINE_LG)"
|
||||
|
||||
msgid "Use async version of dxvk-sarek. (May work better or vice versa)"
|
||||
msgstr ""
|
||||
"Использовать асинхронную версию dxvk-sarek. (Может работать лучше, либо "
|
||||
"наоборот)"
|
||||
|
||||
msgid "Disable asynchronous calls for VULKAN and DXVK modes"
|
||||
msgstr "Отключить асинхронные вызовы для режимов VULKAN и DXVK"
|
||||
|
||||
@ -1337,11 +1371,11 @@ msgstr "Отключить MangoHud и перейти в предыдущее м
|
||||
|
||||
msgid ""
|
||||
"Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on "
|
||||
"newest and stable dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
"newest and sarek dxvk/vkd3d) (Direct3D and Glide settings)"
|
||||
msgstr ""
|
||||
"Принудительно транслировать dgVoodoo2 в DirectXD 12 (работает только с "
|
||||
"новейшими и стабильными версиями dxvk и vkd3d. Может вызвать проблемы с "
|
||||
"запуском игр) (Direct3D + Glide)"
|
||||
"новейшими и sarek версиями dxvk и vkd3d. Может вызвать проблемы с запуском "
|
||||
"игр) (Direct3D + Glide)"
|
||||
|
||||
msgid ""
|
||||
"Force the vertical sync to avoid tearing or prevent the GPU from rendering "
|
||||
@ -2168,6 +2202,9 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
|
||||
msgid "THIRD PARTY LIBRARIES"
|
||||
msgstr "БИБЛИОТЕКИ"
|
||||
|
||||
#~ msgid "Legacy DXVK (Vulkan v1.1)"
|
||||
#~ msgstr "Устаревший DXVK (Vulkan v1.1)"
|
||||
|
||||
#~ msgid "Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)"
|
||||
#~ msgstr ""
|
||||
#~ "Включить трансляцию DLSS в FSR 2 в играх на DirectX 12 (CyberFSR2). "
|
||||
|
@ -122,6 +122,7 @@ rm_from_array () {
|
||||
if [[ \$rm_names =~ \$element ]] ; then
|
||||
unset $array_name[\$count]
|
||||
$array_name=(\${$array_name[@]})
|
||||
((count--))
|
||||
fi
|
||||
((count++))
|
||||
done"
|
||||
@ -870,9 +871,7 @@ check_vendor_gpu () {
|
||||
fi
|
||||
|
||||
if command -v glxinfo &>/dev/null ; then
|
||||
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
|
||||
glxinfo -B &> "${PW_TMPFS_PATH}/glxinfo.tmp"
|
||||
fi
|
||||
pw_check_glxinfo
|
||||
case "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" in
|
||||
*nvidia*)
|
||||
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
|
||||
@ -1657,12 +1656,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 ]]
|
||||
@ -2160,8 +2154,8 @@ pw_check_and_download_wine () {
|
||||
}
|
||||
|
||||
pw_check_and_download_dxvk_and_vkd3d () {
|
||||
# Download stable and git version DXVK
|
||||
for DXVK_VAR_VER in "${DXVK_STABLE_VER}" "${DXVK_GIT_VER}" "${DXVK_LEGACY_VER}" ; do
|
||||
# Download DXVK versions
|
||||
for DXVK_VAR_VER in "${DXVK_SAREK_VER}" "${DXVK_OLD_VER}" "${DXVK_NEW_VER}" ; do
|
||||
if [[ ! -d "${PW_VULKAN_DIR}/dxvk-${DXVK_VAR_VER}" ]] ; then
|
||||
print_info "Download and install DXVK v.${DXVK_VAR_VER}"
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/dxvk-${DXVK_VAR_VER}/dxvk-${DXVK_VAR_VER}.tar.xz" \
|
||||
@ -2190,8 +2184,8 @@ pw_check_and_download_dxvk_and_vkd3d () {
|
||||
fi
|
||||
done
|
||||
|
||||
# Download stable and git version VKD3D
|
||||
for VKD3D_VAR_VER in "${VKD3D_STABLE_VER}" "${VKD3D_GIT_VER}" ; do
|
||||
# Download VKD3D versions
|
||||
for VKD3D_VAR_VER in "${VKD3D_SAREK_VER}" "${VKD3D_OLD_VER}" "${VKD3D_NEW_VER}" ; do
|
||||
if [[ ! -d "${PW_VULKAN_DIR}/vkd3d-proton-${VKD3D_VAR_VER}" ]] ; then
|
||||
print_info "Download and install VKD3D-PROTON v.${VKD3D_VAR_VER}"
|
||||
if try_download "https://github.com/Castro-Fidel/vulkan/releases/download/vkd3d-proton-${VKD3D_VAR_VER}/vkd3d-proton-${VKD3D_VAR_VER}.tar.xz" \
|
||||
@ -2450,13 +2444,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"
|
||||
@ -2474,7 +2471,7 @@ pw_init_db () {
|
||||
# shellcheck source=/dev/null
|
||||
source "${PORTWINE_DB_FILE}"
|
||||
fi
|
||||
edit_db_from_gui PW_VULKAN_USE PW_WINE_USE PW_PREFIX_NAME
|
||||
edit_db_from_gui PW_WINE_USE PW_PREFIX_NAME
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -2727,7 +2724,6 @@ pw_port_update () {
|
||||
else
|
||||
curl -s --list-only "${URL_FOR_CHANGELOG}/${PW_CHANGELOG_FILE}" > "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
sed -i "/Scripts version ${scripts_install_ver}/,$ d" "${PORT_WINE_TMP_PATH}/curent_var_ver"
|
||||
|
||||
"${pw_yad}" --title "${translations[Update scripts:]} v.(${scripts_install_ver}${BRANCH_VERSION})" \
|
||||
--window-icon="$PW_GUI_ICON_PATH/portproton.svg" --width=1280 --height=720 --text-info --wrap --scroll \
|
||||
--button="${translations[DO NOT REMIND ME]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE.png!":16 \
|
||||
@ -2768,6 +2764,7 @@ pw_port_update () {
|
||||
try_remove_dir "${PORT_WINE_TMP_PATH}/$PW_NAME_ARCHIVE/"
|
||||
echo "${scripts_current_ver}" > "${PORT_WINE_TMP_PATH}/scripts_ver"
|
||||
unset SKIP_CHECK_UPDATES
|
||||
curl -X GET "http://cloud.linux-gaming.ru:8081/api/download/${scripts_current_ver}" &>/dev/null
|
||||
echo "Restarting PP after update..."
|
||||
restart_pp
|
||||
fi
|
||||
@ -2804,16 +2801,29 @@ 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"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
pw_check_glxinfo () {
|
||||
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
|
||||
TIMEOUT_CMD="5"
|
||||
pw_check_command glxinfo -B
|
||||
fi
|
||||
}
|
||||
|
||||
pw_get_tmp_files () {
|
||||
for f_cmd in "gamescope --help" "lspci -k" "xrandr --current" "locale -a"
|
||||
do pw_check_command "$f_cmd"
|
||||
done
|
||||
|
||||
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"
|
||||
fi
|
||||
pw_check_vulkan
|
||||
|
||||
# GALLIUM NINE
|
||||
unset FIND_D3D_MODULE D3D_MODULE_PATH
|
||||
@ -2866,12 +2876,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
|
||||
@ -2918,7 +2929,7 @@ pw_skip_get_info () {
|
||||
export AMD_VULKAN_DRIVER_LIST
|
||||
export AMD_VULKAN_CB=":CB"
|
||||
else
|
||||
export AMD_VULKAN_CB=":DCB"
|
||||
export AMD_VULKAN_CB=":LBLH"
|
||||
fi
|
||||
|
||||
logical_cores=$(grep -c ^"processor" /proc/cpuinfo)
|
||||
@ -3016,6 +3027,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}")"
|
||||
@ -3040,19 +3067,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
|
||||
@ -3491,17 +3508,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
|
||||
@ -3518,7 +3535,7 @@ start_portwine () {
|
||||
fi
|
||||
fi
|
||||
|
||||
export PW_WINE_FULLSCREEN_FSR="0"
|
||||
export PW_USE_NVAPI_AND_DLSS="1"
|
||||
|
||||
set_to_dxvk_conf nvidia_new
|
||||
|
||||
@ -3531,20 +3548,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
|
||||
@ -3756,49 +3774,52 @@ 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_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"
|
||||
# DXVK-Sarek AND VKD3D
|
||||
print_info "DXVK v.${DXVK_SAREK_VER} in use"
|
||||
print_info "VKD3D-PROTON v.${VKD3D_SAREK_VER} in use"
|
||||
if [[ $PW_USE_SAREK_ASYNC == "1" ]] ; then
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_SAREK_VER}/sarek-async"
|
||||
export ASYNC_DRAW_CALL_THRESHOLD="1"
|
||||
export DXVK_ALL_CORES="1"
|
||||
else
|
||||
PATH_TO_DXVK_FILES="${PW_VULKAN_DIR}/dxvk-${DXVK_SAREK_VER}/sarek"
|
||||
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"
|
||||
CP_WINE_FILES="d3d12core d3d10_1 d3d10"
|
||||
;;
|
||||
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}"
|
||||
# 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"
|
||||
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core libvkd3d-1 libvkd3d-shader-1"
|
||||
CP_VKD3D_FILES="d3d12 d3d12core"
|
||||
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"
|
||||
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
|
||||
|
||||
[[ "$PW_USE_VRCLIENT" = "1" ]] && add_to_var CP_DXVK_FILES "openvr_api_dxvk"
|
||||
|
||||
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"
|
||||
fi
|
||||
|
||||
@ -3842,7 +3863,6 @@ fi
|
||||
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=""
|
||||
@ -3860,14 +3880,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"
|
||||
@ -3918,17 +3937,9 @@ fi
|
||||
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)
|
||||
1|2|6)
|
||||
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
|
||||
@ -3945,7 +3956,7 @@ fi
|
||||
done
|
||||
# DGVOODOO2 settings:
|
||||
if [[ "${PW_DGV2_USE_DX12}" == "1" ]] ; then
|
||||
if [[ "${PW_VULKAN_USE}" == "1" ]] || [[ "${PW_VULKAN_USE}" == "2" ]]
|
||||
if [[ "${PW_VULKAN_USE}" =~ ^(1|2|6)$ ]]
|
||||
then sed -i "s/OutputAPI = d3d11_fl11_0/OutputAPI = d3d12_fl12_0/" "$DGV2CONF"
|
||||
fi
|
||||
fi
|
||||
@ -4153,9 +4164,9 @@ fi
|
||||
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"
|
||||
try_force_link_file "${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}/x32/nvapi.dll" "${WINEPREFIX}/drive_c/windows/syswow64/nvapi.dll"
|
||||
try_force_link_file "${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}/x64/nvapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvapi64.dll"
|
||||
try_force_link_file "${PW_VULKAN_DIR}/dxvk-${DXVK_NEW_VER}/x64/nvofapi64.dll" "${WINEPREFIX}/drive_c/windows/system32/nvofapi64.dll"
|
||||
fi
|
||||
var_winedlloverride_update "nvapi64,nvofapi64,nvapi=n;nvcuda=b"
|
||||
else
|
||||
@ -4172,30 +4183,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}"
|
||||
@ -4577,9 +4587,6 @@ 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}"
|
||||
|
||||
@ -4758,6 +4765,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
|
||||
@ -5114,57 +5122,77 @@ gui_proton_downloader () {
|
||||
|
||||
pw_start_progress_bar_block "${translations[Check new version WINE...]}"
|
||||
|
||||
METADATA_URL="https://git.linux-gaming.ru/Boria138/PortProton-Wine-Metadata/raw/branch/main/wine_metadata.json"
|
||||
METADATA=$(curl -s "$METADATA_URL")
|
||||
if [[ -z "$METADATA" ]] ; then
|
||||
yad_error "${translations[Error: failed to fetch metadata.]}"
|
||||
restart_pp
|
||||
fi
|
||||
|
||||
# PROTON_GE
|
||||
read -r -d '' -a PROTON_GE_GIT < <(curl -s "https://api.github.com/repos/GloriousEggroll/proton-ge-custom/releases" | grep "browser_download_url.*\.tar\.gz" | cut -d \" -f 4)
|
||||
PROTON_GE_GIT=($(echo "$METADATA" | jq -r '.proton_ge[]?.name' 2>/dev/null))
|
||||
if [[ -n "${PROTON_GE_GIT[0]}" ]] ; then
|
||||
for PGEGIT in "${PROTON_GE_GIT[@]}" ; do
|
||||
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.gz//' >> "${PW_TMPFS_PATH}/tmp_proton_ge_git"
|
||||
echo "${PGEGIT}" >> "${PW_TMPFS_PATH}/tmp_proton_ge_git"
|
||||
done
|
||||
sed -i -e '/Proton-6.5-GE-2/,$d' -e '/github-action/d' -e '/^$/d' "${PW_TMPFS_PATH}/tmp_proton_ge_git"
|
||||
fi
|
||||
|
||||
# WINE_KRON4EK
|
||||
read -r -d '' -a WINE_KRON4EK < <(curl -s "https://api.github.com/repos/Kron4ek/Wine-Builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)
|
||||
WINE_KRON4EK=($(echo "$METADATA" | jq -r '.wine_kron4ek[]?.name' 2>/dev/null))
|
||||
if [[ -n "${WINE_KRON4EK[0]}" ]] ; then
|
||||
for PGEGIT in "${WINE_KRON4EK[@]}" ; do
|
||||
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
|
||||
echo "${PGEGIT}" >> "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
|
||||
done
|
||||
sed -i -e '/6.3/,$d' -e '/-x86/d' -e '/-wow64/d' -e '/^$/d' "${PW_TMPFS_PATH}/tmp_wine_kron4ek_git"
|
||||
fi
|
||||
|
||||
# PROTON_LG
|
||||
read -r -d '' -a PROTON_PW_GIT < <(curl -s "https://api.github.com/repos/Castro-Fidel/wine_builds/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4 | sort -r)
|
||||
PROTON_PW_GIT=($(echo "$METADATA" | jq -r '.proton_lg[]?.name' 2>/dev/null))
|
||||
if [[ -n "${PROTON_PW_GIT[0]}" ]] ; then
|
||||
for PPWGIT in "${PROTON_PW_GIT[@]}" ; do
|
||||
echo "${PPWGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_pw_git"
|
||||
done
|
||||
sed -i -e "/${PW_WINE_LG_VER}/d" -e '/plugins/d' -e '/^$/d' "${PW_TMPFS_PATH}/tmp_proton_pw_git"
|
||||
fi
|
||||
|
||||
# PROTON_CACHYOS
|
||||
read -r -d '' -a PROTON_CACHYOS_GIT < <(curl -s "https://api.github.com/repos/CachyOS/proton-cachyos/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4 | grep -v "v3" | grep -v "znver4")
|
||||
if [[ -n "${PROTON_CACHYOS_GIT[0]}" ]] ; then
|
||||
for PGEGIT in "${PROTON_CACHYOS_GIT[@]}" ; do
|
||||
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
|
||||
echo "${PPWGIT}" >> "${PW_TMPFS_PATH}/tmp_proton_pw_git"
|
||||
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)
|
||||
# PROTON_CACHYOS
|
||||
PROTON_CACHYOS_GIT=($(echo "$METADATA" | jq -r '.proton_cachyos[]?.name' 2>/dev/null))
|
||||
if [[ -n "${PROTON_CACHYOS_GIT[0]}" ]] ; then
|
||||
# The Pentium/Celeron don't have the full instruction set, but /lib/ld-linux-x86-64.so.2 --help | grep -B 3 -E “x86-64” says otherwise, so this is where checking all flags comes in (code from https://dl.xanmod.org/check_x86-64_psabi.sh)
|
||||
CPU_LEVEL=$(awk '
|
||||
BEGIN {
|
||||
while (!/flags/) if (getline < "/proc/cpuinfo" != 1) exit 1
|
||||
if (/lm/&&/cmov/&&/cx8/&&/fpu/&&/fxsr/&&/mmx/&&/syscall/&&/sse2/) level = 1
|
||||
if (level == 1 && /cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/) level = 2
|
||||
if (level == 2 && /avx/&&/avx2/&&/bmi1/&&/bmi2/&&/f16c/&&/fma/&&/abm/&&/movbe/&&/xsave/) level = 3
|
||||
if (level == 3 && /avx512f/&&/avx512bw/&&/avx512cd/&&/avx512dq/&&/avx512vl/) level = 4
|
||||
if (level > 0) { print level; exit level + 1 }
|
||||
exit 1
|
||||
}' /proc/cpuinfo)
|
||||
|
||||
for PGEGIT in "${PROTON_CACHYOS_GIT[@]}" ; do
|
||||
if [[ "$PGEGIT" =~ v3 ]] && [[ "$CPU_LEVEL" -lt 3 ]]; then
|
||||
continue
|
||||
else
|
||||
echo "${PGEGIT}" >> "${PW_TMPFS_PATH}/tmp_proton_cachyos_git"
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# PROTON_SAREK
|
||||
PROTON_SAREK_GIT=($(echo "$METADATA" | jq -r '.proton_sarek[]?.name' 2>/dev/null))
|
||||
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"
|
||||
echo "${PGEGIT}" >> "${PW_TMPFS_PATH}/tmp_proton_sarek_git"
|
||||
done
|
||||
fi
|
||||
|
||||
# Proton-EM
|
||||
read -r -d '' -a PROTON_EM_GIT < <(curl -s "https://api.github.com/repos/Etaash-mathamsetty/Proton/releases" | grep "browser_download_url.*\.tar\.xz" | cut -d \" -f 4)
|
||||
# PROTON_EM
|
||||
PROTON_EM_GIT=($(echo "$METADATA" | jq -r '.proton_em[]?.name' 2>/dev/null))
|
||||
if [[ -n "${PROTON_EM_GIT[0]}" ]] ; then
|
||||
for PGEGIT in "${PROTON_EM_GIT[@]}" ; do
|
||||
echo "${PGEGIT}" | awk -F/ '{print $NF}' | sed 's/.tar.xz//' >> "${PW_TMPFS_PATH}/tmp_proton_em_git"
|
||||
echo "${PGEGIT}" >> "${PW_TMPFS_PATH}/tmp_proton_em_git"
|
||||
done
|
||||
fi
|
||||
|
||||
|
||||
pw_stop_progress_bar
|
||||
|
||||
if [[ -z "${PROTON_PW_GIT}" ]] ; then
|
||||
@ -5287,17 +5315,31 @@ gui_proton_downloader () {
|
||||
fi
|
||||
|
||||
pw_download_get_wine () {
|
||||
print_info "Download and install ${VERSION_WINE_GIT}..."
|
||||
FILENAME="$(basename "${URL_VERSION_PROTON_GIT}")"
|
||||
if [[ "${URL_VERSION_PROTON_GIT}" =~ _LG ]]
|
||||
then USE_MIRROR=""
|
||||
else USE_MIRROR="no_mirror"
|
||||
local VERSION="$1"
|
||||
print_info "Download and install ${VERSION}..."
|
||||
URL_VERSION_PROTON_GIT=$(echo "$METADATA" | jq -r --arg version "$VERSION" '[
|
||||
(.proton_ge[] | select(.name == $version) | .url),
|
||||
(.wine_kron4ek[] | select(.name == $version) | .url),
|
||||
(.proton_lg[] | select(.name == $version) | .url),
|
||||
(.proton_cachyos[] | select(.name == $version) | .url),
|
||||
(.proton_sarek[] | select(.name == $version) | .url),
|
||||
(.proton_em[] | select(.name == $version) | .url)
|
||||
] | .[]' | head -n 1)
|
||||
if [[ -z "$URL_VERSION_PROTON_GIT" ]]; then
|
||||
yad_error "${translations[Error: no URL found for version ${VERSION}.]}"
|
||||
return 1
|
||||
fi
|
||||
FILENAME=$(echo "$URL_VERSION_PROTON_GIT" | awk -F/ '{print $NF}')
|
||||
if [[ "$URL_VERSION_PROTON_GIT" =~ _LG ]]; then
|
||||
USE_MIRROR=""
|
||||
else
|
||||
USE_MIRROR="no_mirror"
|
||||
fi
|
||||
if try_download "${URL_VERSION_PROTON_GIT}" "${PORT_WINE_PATH}/data/tmp/$FILENAME" "$USE_MIRROR" ; then
|
||||
if unpack "${PORT_WINE_PATH}/data/tmp/${FILENAME}" "${PORT_WINE_PATH}/data/dist/" ; then
|
||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/${FILENAME}"
|
||||
if [[ -n "${portwine_exe}" ]] ; then
|
||||
PW_WINE_USE=${VERSION_WINE_GIT^^}
|
||||
PW_WINE_USE=${VERSION^^}
|
||||
edit_db_from_gui PW_WINE_USE
|
||||
fi
|
||||
else
|
||||
@ -5331,23 +5373,12 @@ gui_proton_downloader () {
|
||||
|
||||
if [[ "$1" != "silent" ]] ; then
|
||||
for GIVE_ALL_WINE in ${VERSION_WINE_GIT} ; do
|
||||
for GIVE_WINE_URL in "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" "${PROTON_EM_GIT[@]}" ; do
|
||||
if [[ ${GIVE_WINE_URL^^} =~ ${GIVE_ALL_WINE^^}.TAR ]] ; then
|
||||
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
|
||||
fi
|
||||
done
|
||||
pw_download_get_wine ""
|
||||
pw_download_get_wine "$GIVE_ALL_WINE"
|
||||
done
|
||||
edit_db_from_gui
|
||||
restart_pp
|
||||
else
|
||||
print_error "$PW_WINE_USE"
|
||||
for GIVE_WINE_URL in "${PROTON_GE_GIT[@]}" "${WINE_KRON4EK[@]}" "${PROTON_PW_GIT[@]}" "${PROTON_CACHYOS_GIT[@]}" "${PROTON_SAREK_GIT[@]}" "${PROTON_EM_GIT[@]}" ; do
|
||||
if [[ ${GIVE_WINE_URL^^} =~ ${PW_WINE_USE^^} ]] ; then
|
||||
export URL_VERSION_PROTON_GIT=$GIVE_WINE_URL
|
||||
fi
|
||||
done
|
||||
pw_download_get_wine ""
|
||||
pw_download_get_wine "$VERSION_WINE_GIT"
|
||||
fi
|
||||
}
|
||||
export -f gui_proton_downloader
|
||||
@ -5355,19 +5386,26 @@ export -f gui_proton_downloader
|
||||
# GUI EDIT_DB
|
||||
gui_edit_db () {
|
||||
KEY_EDIT_DB_GUI=$RANDOM
|
||||
PW_EDIT_DB_LIST=(PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2 PW_GAMESCOPE
|
||||
PW_EDIT_DB_LIST=(PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2
|
||||
PW_USE_ESYNC PW_USE_FSYNC PW_USE_NTSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_OPTISCALER
|
||||
PW_USE_LS_FRAME_GEN 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_GALLIUM_ZINK PW_USE_GALLIUM_NINE
|
||||
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR
|
||||
PW_USE_WINED3D_VULKAN PW_USE_SUPPLIED_DXVK_VKD3D PW_USE_NATIVE_WAYLAND PW_USE_DXVK_HDR PW_GAMESCOPE
|
||||
)
|
||||
|
||||
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 PW_USE_DXVK_HDR
|
||||
fi
|
||||
if [[ $PW_WINE_USE =~ (PROTON_LG|WINE_LG) ]] || [[ $PW_VULKAN_USE == "0" ]] ; then
|
||||
rm_from_array "PW_EDIT_DB_LIST" PW_USE_SUPPLIED_DXVK_VKD3D
|
||||
fi
|
||||
check_flatpak && rm_from_array "PW_EDIT_DB_LIST" PW_USE_RUNTIME
|
||||
|
||||
# GALLIUM NINE
|
||||
[[ ! -f "${PW_TMPFS_PATH}/gallium_nine.tmp" ]] && rm_from_array "PW_EDIT_DB_LIST" PW_USE_GALLIUM_NINE
|
||||
[[ $PW_VULKAN_USE == "1" ]] && add_to_array "PW_EDIT_DB_LIST" PW_USE_SAREK_ASYNC
|
||||
|
||||
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.)]}
|
||||
@ -5415,6 +5453,7 @@ gui_edit_db () {
|
||||
PW_USE_GALLIUM_NINE_INFO=${translations[Use Gallium Nine (native DirectX 9 for MESA)]}
|
||||
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_USE_SAREK_ASYNC_INFO=${translations[Use async version of dxvk-sarek. (May work better or vice versa)]}
|
||||
|
||||
# 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]}
|
||||
@ -5427,27 +5466,20 @@ gui_edit_db () {
|
||||
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_WINED3D_VULKAN"
|
||||
;;
|
||||
1|2)
|
||||
# Stable, Newest
|
||||
1|2|6)
|
||||
# Sarek, Newest
|
||||
VKD3D_CB="CB"
|
||||
;;
|
||||
3)
|
||||
# Legacy
|
||||
VKD3D_CB="DCB"
|
||||
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
|
||||
|
||||
[[ ! -e "/dev/ntsync" ]] && DISABLE_EDIT_DB_LIST+=" PW_USE_NTSYNC"
|
||||
|
||||
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"
|
||||
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
|
||||
@ -5518,6 +5550,14 @@ gui_edit_db () {
|
||||
AMD_VULKAN_VAR="disabled"
|
||||
fi
|
||||
|
||||
[[ $AMD_VULKAN_CB == ":LBLH" ]] && translations[Select needed AMD vulkan implementation]=""
|
||||
if [[ $NUMA_NODE_LIST == "0" ]] ; then
|
||||
NUDA_CPU_CB=":LBLH"
|
||||
translations[NUMA node for CPU affinity]=""
|
||||
else
|
||||
NUDA_CPU_CB=":CB"
|
||||
fi
|
||||
|
||||
"${pw_yad}" --plug=$KEY_EDIT_DB_GUI --tabnum="2" --form --separator="%" --columns=1 \
|
||||
--field="${translations[Change the version of <b>WINDOWS</b> emulation]}!${translations[Changing the <b>WINDOWS</b> emulation version may be required to run older games. <b>WINDOWS</b> versions below 10 do not support new games with DirectX 12]} :CB" "${ADD_WINVER_EDIT_DB}" \
|
||||
--field="${translations[AUTOINSTALL WITH <b>WINETRICKS</b>]}!${translations[Automatically install with <b>WINETRICKS</b> additional libraries required to run the game/program. List of libraries separated by spaces]} :CBE" "$(combobox_fix --empty "${PW_DLL_INSTALL}" "vcrun2019 corefonts lucida")" \
|
||||
@ -5542,7 +5582,7 @@ 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 multi‑core systems, CPUs are split into NUMA nodes, each with its own local memory and cores.
|
||||
Binding a game to a single node reduces memory‑access latency and limits costly core‑to‑core switches.)]} :CB" "$(combobox_fix --disabled "${NUMA_NODE_INDEX}" "${NUMA_NODE_LIST}")" \
|
||||
Binding a game to a single node reduces memory‑access latency and limits costly core‑to‑core switches.)]} $NUDA_CPU_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 \
|
||||
@ -6021,7 +6061,7 @@ gui_dgvoodoo2 () {
|
||||
PW_DGV2_INACTIVE_APP_STATE
|
||||
)
|
||||
|
||||
PW_DGV2_USE_DX12_INFO=${translations[Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on newest and stable dxvk/vkd3d) (Direct3D and Glide settings)]}
|
||||
PW_DGV2_USE_DX12_INFO=${translations[Use DirectX12 for dgVoodoo2. Doesnt always work better. (Working only on newest and sarek dxvk/vkd3d) (Direct3D and Glide settings)]}
|
||||
PW_DGV2_FORCE_VSYNC_INFO=${translations[Force the vertical sync to avoid tearing or prevent the GPU from rendering at crazy high speed. Keep in mind that some application need unforced vSync because of synchronization reasons. (Direct3D settings)]}
|
||||
PW_DGV2_DGVOODOO_WATERMARK_INFO=${translations[Shows the dgVoodoo watermark in-game when enabled. (Direct3D settings)]}
|
||||
PW_DGV2_ENABLE_CRT_INFO=${translations[CRT-like blurred appearance. (Direct3D and Glide settings)]}
|
||||
@ -6046,7 +6086,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|3)
|
||||
0)
|
||||
DISABLE_DGV2_LIST="PW_DGV2_USE_DX12
|
||||
"
|
||||
;;
|
||||
@ -6490,7 +6530,6 @@ gui_userconf () {
|
||||
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"
|
||||
@ -6729,20 +6768,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" ]] \
|
||||
@ -6788,7 +6813,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
|
||||
@ -7080,9 +7106,9 @@ portwine_start_debug () {
|
||||
echo "--------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
|
||||
case "$PW_VULKAN_USE" in
|
||||
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} - DXVK v.${DXVK_LEGACY_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
|
||||
1) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_SAREK_VER}, VKD3D-PROTON v.${VKD3D_SAREK_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
|
||||
2) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_NEW_VER}, VKD3D-PROTON v.${VKD3D_NEW_VER}" >> "${PORT_WINE_PATH}/PortProton.log" ;;
|
||||
6) echo "PW_VULKAN_USE=${PW_VULKAN_USE} - DXVK v.${DXVK_OLD_VER}, VKD3D-PROTON v.${VKD3D_OLD_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"
|
||||
|
@ -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
|
||||
@ -307,6 +308,7 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
|
||||
export PW_FILESYSTEM
|
||||
|
||||
background_pid --start "pw_get_tmp_files" "1"
|
||||
background_pid --start "pw_check_glxinfo" "2"
|
||||
fi
|
||||
|
||||
# create lock file
|
||||
@ -495,6 +497,14 @@ esac
|
||||
|
||||
### GUI ###
|
||||
|
||||
INFO_3DAPI=${translations[Select DXVK and VKD3D versions for DirectX to Vulkan translation:
|
||||
- The newest ones work only with MESA 25+ drivers, or NVIDIA 550.54.14+
|
||||
- Stable ones work with any drivers, provided that the video card supports Vulkan version 1.3+
|
||||
- Sarek works with almost any video card that supports Vulkan
|
||||
- WineD3D OpenGL works on any PC, but with low performance and old games]}
|
||||
INFO_WINE=${translations[Selecting a WINE version.]}
|
||||
INFO_PREFIX=${translations[Select a prefix to launch the game/application (if you enter a non-existent name, a new prefix will be created).]}
|
||||
|
||||
unset PW_ADD_PREFIXES_TO_GUI
|
||||
if [[ -d "${PORT_WINE_PATH}/data/prefixes/" ]] ; then
|
||||
for PAIG in "${PORT_WINE_PATH}"/data/prefixes/* ; do
|
||||
@ -520,16 +530,9 @@ then DIST_ADD_TO_GUI+="!${translations[USE_SYSTEM_WINE]}"
|
||||
fi
|
||||
|
||||
SORT_OPENGL="${translations[WineD3D OpenGL (For video cards without Vulkan)]}"
|
||||
SORT_LEGACY="${translations[Legacy DXVK (Vulkan v1.1)]}"
|
||||
SORT_STABLE="${translations[Stable DXVK, VKD3D (Vulkan v1.2)]}"
|
||||
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" ;;
|
||||
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
|
||||
SORT_SAREK="${translations[DXVK, VKD3D (Sarek) (Vulkan v1.1+)]}"
|
||||
SORT_STABLE="${translations[DXVK, VKD3D (Stable) (Vulkan v1.3+)]}"
|
||||
SORT_NEWEST="${translations[DXVK, VKD3D (Newest) (Vulkan v1.3+)]}"
|
||||
|
||||
if [[ $PW_WINE_USE == PROTON_LG ]] ; then
|
||||
PW_WINE_USE="${PW_PROTON_LG_VER}"
|
||||
@ -556,6 +559,24 @@ if [[ -f "$portwine_exe" ]] ; then
|
||||
unset RESTART_PP_USED
|
||||
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
|
||||
|
||||
if [[ $PW_GUI_DISABLED_CS != 1 ]] ; then
|
||||
pw_create_gui_png
|
||||
if ! grep -il "$portwine_exe" "$PORT_WINE_PATH"/*.desktop &>/dev/null ; then
|
||||
@ -575,27 +596,39 @@ if [[ -f "$portwine_exe" ]] ; then
|
||||
fi
|
||||
fi
|
||||
|
||||
export KEY_START="$RANDOM"
|
||||
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 &
|
||||
|
||||
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 : :CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" WINE : :CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="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
|
||||
@ -604,53 +637,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 : :CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" WINE : :CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="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
|
||||
@ -822,6 +826,8 @@ else
|
||||
else export PW_GUI_SORT_TABS=(2 3 4 5 1)
|
||||
fi
|
||||
|
||||
PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL"
|
||||
|
||||
KEY_MENU="$RANDOM"
|
||||
|
||||
IFS="%"
|
||||
@ -845,9 +851,9 @@ else
|
||||
|
||||
"${pw_yad}" --plug=$KEY_MENU --tabnum="${PW_GUI_SORT_TABS[2]}" --form --columns=3 --align-buttons --separator=";" \
|
||||
--gui-type-layout="$MAIN_MENU_GUI_TYPE_LAYOUT" \
|
||||
--field=" 3D API : :CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" PREFIX : :CBE" "$PW_ADD_PREFIXES_TO_GUI" \
|
||||
--field=" WINE : :CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field=" 3D API : !$INFO_3DAPI:CB" "$PW_DEFAULT_VULKAN_USE" \
|
||||
--field=" PREFIX : !$INFO_PREFIX:CBE" "$PW_ADD_PREFIXES_TO_GUI" \
|
||||
--field=" WINE : !$INFO_WINE:CB" "$(combobox_fix "$PW_WINE_USE" "$PW_DEFAULT_WINE_USE")" \
|
||||
--field="${translations[Create prefix backup]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png!":"CFBTN" '@bash -c "button_click --normal pw_create_prefix_backup"' \
|
||||
--field=" Winetricks!$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png!${translations[Run winetricks to install additional libraries to the selected prefix]}":"FBTN" '@bash -c "button_click --normal WINETRICKS"' \
|
||||
--field=" ${translations[Clear prefix]}!$PW_GUI_ICON_PATH/$BUTTON_SIZE_MM.png!${translations[Clear the prefix to fix problems]}":"FBTN" '@bash -c "button_click --normal gui_clear_pfx"' \
|
||||
@ -967,9 +973,9 @@ fi
|
||||
|
||||
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="3" ;;
|
||||
"$SORT_SAREK" ) export PW_VULKAN_USE="1" ;;
|
||||
"$SORT_STABLE" ) export PW_VULKAN_USE="2" ;;
|
||||
"$SORT_NEWEST" ) export PW_VULKAN_USE="6" ;;
|
||||
esac
|
||||
|
||||
init_wine_ver
|
||||
|
@ -1,6 +1,6 @@
|
||||
#!/usr/bin/env bash
|
||||
#Author: Castro-Fidel (linux-gaming.ru)
|
||||
#SCRIPTS_NEXT_VERSION=2435
|
||||
#SCRIPTS_NEXT_VERSION=2438
|
||||
#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"
|
||||
@ -43,26 +43,27 @@ export PW_USE_GALLIUM_NINE="0"
|
||||
export PW_USE_GALLIUM_ZINK="0"
|
||||
export PW_USE_WINED3D_VULKAN="0"
|
||||
export PW_USE_SUPPLIED_DXVK_VKD3D="1"
|
||||
export PW_USE_SAREK_ASYNC="0"
|
||||
export WINEUSERNAME="steamuser"
|
||||
###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###
|
||||
export PW_PROTON_LG_VER="PROTON_LG_10-8"
|
||||
export PW_PROTON_LG_VER="PROTON_LG_10-10"
|
||||
export PW_WINE_LG_VER="WINE_LG_10-12"
|
||||
export PW_WINE_FULLSCREEN_FSR="1"
|
||||
export WINE_FULLSCREEN_FSR_MODE="ultra"
|
||||
###DXVK_AND_VKD3D###
|
||||
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.1-368"
|
||||
export VKD3D_STABLE_VER="1.1-2602"
|
||||
export VKD3D_GIT_VER="1.1-4655"
|
||||
export DXVK_NEW_VER="2.7-5"
|
||||
export DXVK_OLD_VER="2.6.2"
|
||||
export DXVK_SAREK_VER="sarek-1.11.0"
|
||||
export VKD3D_NEW_VER="1.1-4666"
|
||||
export VKD3D_OLD_VER="2.14.1"
|
||||
export VKD3D_SAREK_VER="sarek-2.6.0"
|
||||
###VKBASALT###
|
||||
export PW_VKBASALT_EFFECTS="Curves:cas"
|
||||
export PW_VKBASALT_FFX_CAS="0.50"
|
||||
|
Reference in New Issue
Block a user