Compare commits

...

19 Commits

Author SHA1 Message Date
Mikhail Tergoev
743dc958e6 Merge branch 'Boria138-sched-ext' into devel 2024-12-22 15:45:52 +03:00
Mikhail Tergoev
d58ef1d3b7 Merge branch 'sched-ext' of github.com:Boria138/PortWINE into Boria138-sched-ext 2024-12-22 15:45:46 +03:00
Mikhail Tergoev
138c7ebac7 Merge branch 'reinstall' of github.com:Boria138/PortWINE into devel 2024-12-22 15:36:22 +03:00
Mikhail Tergoev
a89690d23e update local 2024-12-22 15:36:00 +03:00
Mikhail Tergoev
76636185d2 Merge branch 'Boria138-amd' into devel 2024-12-22 15:20:56 +03:00
Mikhail Tergoev
b3d98249b8 Merge branch 'amd' of github.com:Boria138/PortWINE into Boria138-amd 2024-12-22 15:20:49 +03:00
Mikhail Tergoev
045443bd87 Merge branch 'Htylol-add-check_vendor_gpu' into devel 2024-12-22 15:15:12 +03:00
Mikhail Tergoev
6d9ff42890 Merge branch 'add-check_vendor_gpu' of github.com:Htylol/PortWINE into Htylol-add-check_vendor_gpu 2024-12-22 15:15:06 +03:00
Mikhail Tergoev
40551edd4b Merge branch 'Htylol-fixed-icon-bug-1' into devel 2024-12-22 15:11:10 +03:00
Mikhail Tergoev
236c5afdb3 Merge branch 'fixed-icon-bug-1' of github.com:Htylol/PortWINE into Htylol-fixed-icon-bug-1 2024-12-22 15:11:04 +03:00
Mikhail Tergoev
e195c15840 Merge branch 'Htylol-fixed-bug-img-1' into devel 2024-12-22 15:08:47 +03:00
Mikhail Tergoev
71bf3e4db5 Merge branch 'fixed-bug-img-1' of github.com:Htylol/PortWINE into Htylol-fixed-bug-img-1 2024-12-22 15:08:42 +03:00
Mikhail Tergoev
d8e94ff539 updated PROTON_LG, DXVK and VKD3D 2024-12-22 15:06:53 +03:00
Boris Yumankulov
b20fa3bd74
Replace gamemode with powerprofilectl if sched-ext is enabled 2024-12-18 22:29:36 +05:00
Boris Yumankulov
b271c04504
Returned select needed amd vulkan implementation 2024-12-17 00:59:12 +05:00
Boris Yumankulov
da08048e01
Fix portproton --reinstall command 2024-12-11 17:02:18 +05:00
Htylol
933b4ee115 Fixed icon bug 2024-12-02 21:55:28 +05:00
Htylol
f3c6482099 Added check_vendor_gpu function 2024-12-02 05:42:36 +05:00
Htylol
b1076a47ef Fixed bug for name_desktop_png 2024-12-01 18:20:51 +05:00
8 changed files with 375 additions and 200 deletions

@ -2,6 +2,12 @@
-----------------------------------------
История изменений:
###Scripts version 2382### / Дата: 22.12.2024 / Размер скачиваемого обновления: 270 мегабайт
* обновлен PROTON_LG до версии "9-21"
* обновлены версии:
* DXVK_GIT "2.5.1-35" (совместно с dxvk-nvapi)
* VKD3D_GIT "1.1-4325" (совместно vkd3d-shader)
###Scripts version 2381### / Дата: 01.12.2024 / Размер скачиваемого обновления: 180 мегабайт
* обновлен пакет plugins v18
* gallium nine v0.10

@ -7,7 +7,7 @@
msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-13 08:17+0500\n"
"POT-Creation-Date: 2024-12-22 15:30+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"
@ -26,6 +26,41 @@ msgstr ""
msgid "Unpack is DONE for prefix:"
msgstr ""
msgid "use"
msgstr ""
msgid "Forces all scripts to be updated to a working state\n"
" (helps if "
"PortProton is not working)"
msgstr ""
msgid "Reinstalls PortProton and resets all settings to default"
msgstr ""
msgid "Creates a files with translations .pot and .po"
msgstr ""
msgid "Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
msgid "Check update scripts for PortProton"
msgstr ""
msgid "Launches the application immediately, requires the path to the .exe "
"file"
msgstr ""
msgid "After the variable, the path to the .exe file is required and then "
"the variables.\n"
" (List their "
"variables and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
msgid "--autoinstall and the name of what needs to be installed is given in "
"the list below:"
msgstr ""
msgid "USE_SYSTEM_WINE"
msgstr ""
@ -604,6 +639,12 @@ msgid "fifo - First in, first out. Limits the frame rate + no tearing. "
"refresh rate."
msgstr ""
msgid "Select needed AMD vulkan implementation"
msgstr ""
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr ""
msgid "EDIT DB"
msgstr ""
@ -1475,12 +1516,6 @@ msgstr ""
msgid "Add shortcut to STEAM library"
msgstr ""
msgid "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
msgstr ""
msgid "Restarting STEAM... Please wait."
msgstr ""
msgid "The shortcut will be changed in the PortProton directory."
msgstr ""
@ -1624,8 +1659,8 @@ msgid "MIT License\n"
"\n"
"Permission is hereby granted, free of charge, to any person "
"obtaining a copy\n"
"of this software and associated documentation files (the "
"\"Software\"), to deal\n"
"of this software and associated documentation files (the \"Software"
"\"), to deal\n"
"in the Software without restriction, including without limitation "
"the rights\n"
"to use, copy, modify, merge, publish, distribute, sublicense, and/or "
@ -1708,43 +1743,11 @@ msgstr ""
msgid "THIRD PARTY LIBRARIES"
msgstr ""
msgid "SteamGridDB is not responding, forcing cover download to be disabled"
msgid "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
msgstr ""
msgid "Restarting STEAM... Please wait."
msgstr ""
msgid "Please wait. downloading covers for"
msgstr ""
msgid "use"
msgstr ""
msgid "Forces all scripts to be updated to a working state\n"
" (helps if "
"PortProton is not working)"
msgstr ""
msgid "Reinstalls PortProton and resets all settings to default"
msgstr ""
msgid "Creates a files with translations .pot and .po"
msgstr ""
msgid "Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
msgid "Check update scripts for PortProton"
msgstr ""
msgid "Launches the application immediately, requires the path to the .exe "
"file"
msgstr ""
msgid "After the variable, the path to the .exe file is required and then "
"the variables.\n"
" (List their "
"variables and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
msgid "--autoinstall and the name of what needs to be installed is given in "
"the list below:"
msgstr ""

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-13 08:17+0500\n"
"POT-Creation-Date: 2024-12-22 15:30+0300\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"Last-Translator: \n"
"Language-Team: \n"
@ -31,6 +31,47 @@ msgstr "El desempaquetado ha FALLADO para el prefijo:"
msgid "Unpack is DONE for prefix:"
msgstr "El desempaquetado se ha COMPLETADO para el prefijo:"
msgid "use"
msgstr ""
msgid ""
"Forces all scripts to be updated to a working state\n"
" (helps if PortProton is "
"not working)"
msgstr ""
#, fuzzy
msgid "Reinstalls PortProton and resets all settings to default"
msgstr "Restaurar configuraciones predeterminadas"
msgid "Creates a files with translations .pot and .po"
msgstr ""
msgid ""
"Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
#, fuzzy
msgid "Check update scripts for PortProton"
msgstr "Espere la actualización PortProton"
msgid ""
"Launches the application immediately, requires the path to the .exe file"
msgstr ""
msgid ""
"After the variable, the path to the .exe file is required and then the "
"variables.\n"
" (List their variables "
"and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
msgid ""
"--autoinstall and the name of what needs to be installed is given in the "
"list below:"
msgstr ""
msgid "USE_SYSTEM_WINE"
msgstr "Usar Wine del sistema"
@ -751,6 +792,12 @@ msgstr ""
"relaxed - Igual que fifo pero permite tearing por debajo de la frecuencia de "
"refresco del monitor."
msgid "Select needed AMD vulkan implementation"
msgstr ""
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr ""
msgid "EDIT DB"
msgstr "CONFIGURACIÓN"
@ -1910,14 +1957,6 @@ msgstr "Agregar acceso directo al escritorio"
msgid "Add shortcut to STEAM library"
msgstr "Agregar acceso directo a la biblioteca de STEAM"
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?"
msgid "Restarting STEAM... Please wait."
msgstr "Restarting STEAM... Please wait."
msgid "The shortcut will be changed in the PortProton directory."
msgstr "El acceso directo se cambiará en el directorio de PortProton."
@ -2207,54 +2246,21 @@ msgstr "UNIRSE"
msgid "THIRD PARTY LIBRARIES"
msgstr "BIBLIOTECAS DE TERCEROS"
msgid "SteamGridDB is not responding, forcing cover download to be disabled"
msgid "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
msgstr ""
"SteamGridDB no está respondiendo, forzando la desactivación de la descarga "
"de portadas"
"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."
msgid "Please wait. downloading covers for"
msgstr "Por favor, espera. Descargando portadas para"
msgid "use"
msgstr ""
msgid ""
"Forces all scripts to be updated to a working state\n"
" (helps if PortProton is "
"not working)"
msgstr ""
#, fuzzy
msgid "Reinstalls PortProton and resets all settings to default"
msgstr "Restaurar configuraciones predeterminadas"
msgid "Creates a files with translations .pot and .po"
msgstr ""
msgid ""
"Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
#, fuzzy
msgid "Check update scripts for PortProton"
msgstr "Espere la actualización PortProton"
msgid ""
"Launches the application immediately, requires the path to the .exe file"
msgstr ""
msgid ""
"After the variable, the path to the .exe file is required and then the "
"variables.\n"
" (List their variables "
"and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
msgid ""
"--autoinstall and the name of what needs to be installed is given in the "
"list below:"
msgstr ""
#~ msgid "SteamGridDB is not responding, forcing cover download to be disabled"
#~ msgstr ""
#~ "SteamGridDB no está respondiendo, forzando la desactivación de la "
#~ "descarga de portadas"
#~ msgid "Choice gui themes"
#~ msgstr "Temas de interfaz gráfica de usuario elegidos"

@ -7,17 +7,17 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-11-13 08:17+0500\n"
"PO-Revision-Date: 2024-11-13 08:18+0500\n"
"POT-Creation-Date: 2024-12-22 15:30+0300\n"
"PO-Revision-Date: 2024-12-22 15:33+0300\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: ru_RU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.4.4\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.5\n"
msgid ""
"A running PortProton session was detected.\\nDo you want to end the previous "
@ -31,6 +31,55 @@ msgstr "Произошла ошибка во время распаковки п
msgid "Unpack is DONE for prefix:"
msgstr "Успешно распакован префикс:"
msgid "use"
msgstr "использовать"
msgid ""
"Forces all scripts to be updated to a working state\n"
" (helps if PortProton is "
"not working)"
msgstr ""
"Принудительно обновляет все скрипты до рабочего состояния.\n"
" (помогает, если "
"PortProton не работает)"
msgid "Reinstalls PortProton and resets all settings to default"
msgstr "Переустанавливает PortProton и сбрасывает все настройки по умолчанию"
msgid "Creates a files with translations .pot and .po"
msgstr "Создает файлы с переводами .pot и .po"
msgid ""
"Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
"Скрипты отладки для PortProton\n"
" (сохраняет лог в"
msgid "Check update scripts for PortProton"
msgstr "Проверьте скрипты обновления для PortProton"
msgid ""
"Launches the application immediately, requires the path to the .exe file"
msgstr "Запускает приложение сразу, требует путь к exe-файлу"
msgid ""
"After the variable, the path to the .exe file is required and then the "
"variables.\n"
" (List their variables "
"and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
"После переменной необходимо указать путь к файлу .exe, а затем переменные.\n"
" (Перечислите их "
"переменные и значения, например PW_MANGOHUD=1 PW_VKBASALT=0 и т. д.)"
msgid ""
"--autoinstall and the name of what needs to be installed is given in the "
"list below:"
msgstr ""
"--autoinstall и название того, что необходимо установить, указано в списке "
"ниже:"
msgid "USE_SYSTEM_WINE"
msgstr "Использовать системную версию wine"
@ -764,6 +813,12 @@ msgstr ""
"relaxed - то же, что и fifo, но допускает разрыв изображения, когда частота "
"обновления монитора ниже."
msgid "Select needed AMD vulkan implementation"
msgstr "Выбор Vulkan драйвера для AMD"
msgid "Choosing which implementation of vulkan will be used to run the game"
msgstr "Выбор драйвера Vulkan для запуска игры"
msgid "EDIT DB"
msgstr "НАСТРОЙКИ"
@ -1888,14 +1943,6 @@ msgstr "Добавить ярлык на рабочий стол"
msgid "Add shortcut to STEAM library"
msgstr "Добавить ярлык в библиотеку STEAM"
msgid "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
msgstr ""
"Для добавления ярлыка в STEAM требуется перезапуск.\\n\\nПерезапустить STEAM "
"сейчас?"
msgid "Restarting STEAM... Please wait."
msgstr "Перезапускаем STEAM... Пожалуйста, подождите."
msgid "The shortcut will be changed in the PortProton directory."
msgstr "Ярлык будет изменён в каталоге PortProton."
@ -2195,60 +2242,19 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ"
msgid "SteamGridDB is not responding, forcing cover download to be disabled"
msgstr "SteamGridDB не отвечает, принудительно отключаем загрузку обложек"
msgid "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
msgstr ""
"Для добавления ярлыка в STEAM требуется перезапуск.\\n\\nПерезапустить STEAM "
"сейчас?"
msgid "Restarting STEAM... Please wait."
msgstr "Перезапускаем STEAM... Пожалуйста, подождите."
msgid "Please wait. downloading covers for"
msgstr "Пожалуйста, подождите. Загрузка обложек для"
msgid "use"
msgstr "использовать"
msgid ""
"Forces all scripts to be updated to a working state\n"
" (helps if PortProton is "
"not working)"
msgstr ""
"Принудительно обновляет все скрипты до рабочего состояния.\n"
" (помогает, если "
"PortProton не работает)"
msgid "Reinstalls PortProton and resets all settings to default"
msgstr "Переустанавливает PortProton и сбрасывает все настройки по умолчанию"
msgid "Creates a files with translations .pot and .po"
msgstr "Создает файлы с переводами .pot и .po"
msgid ""
"Debug scripts for PortProton\n"
" (saved log in"
msgstr ""
"Скрипты отладки для PortProton\n"
" (сохраняет лог в"
msgid "Check update scripts for PortProton"
msgstr "Проверьте скрипты обновления для PortProton"
msgid ""
"Launches the application immediately, requires the path to the .exe file"
msgstr "Запускает приложение сразу, требует путь к exe-файлу"
msgid ""
"After the variable, the path to the .exe file is required and then the "
"variables.\n"
" (List their variables "
"and values for example PW_MANGOHUD=1 PW_VKBASALT=0, etc.)"
msgstr ""
"После переменной необходимо указать путь к файлу .exe, а затем переменные.\n"
" (Перечислите их "
"переменные и значения, например PW_MANGOHUD=1 PW_VKBASALT=0 и т. д.)"
msgid ""
"--autoinstall and the name of what needs to be installed is given in the "
"list below:"
msgstr ""
"--autoinstall и название того, что необходимо установить, указано в списке "
"ниже:"
#~ msgid "SteamGridDB is not responding, forcing cover download to be disabled"
#~ msgstr "SteamGridDB не отвечает, принудительно отключаем загрузку обложек"
#~ msgid "Running"
#~ msgstr "Запущено"

@ -544,7 +544,7 @@ try_force_link_dir () {
if [[ ! -d "$1" ]] ; then print_info "directory $1 not found for link"
elif [[ -z "$2" ]] ; then print_error "no way to link directory $1"
else
if ln -s -f -r "$1" "$2" ; then
if ln -s -f -r "$1" "$2" ; then
return 0
else
print_error "failed to link directory $1 to $2"
@ -584,7 +584,7 @@ try_download () {
export dest="$2"
local silent="false"
export no_mirror="false"
case "$3" in
silent)
silent=true ;;
@ -833,6 +833,51 @@ check_selinux () {
}
export -f check_selinux
check_vendor_gpu () {
unset VENDOR_GPU_USE
if [[ $PW_GPU_USE != disabled ]] ; then
case "${PW_GPU_USE,,}" 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 command -v glxinfo &>/dev/null ; then
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
glxinfo -B &> "${PW_TMPFS_PATH}/glxinfo.tmp"
fi
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[*]}"
}
background_pid () {
local arg1 arg2 arg3 PID
arg1=$1 # --start или --end
@ -1503,6 +1548,17 @@ pw_reinstall_pp () {
then
echo ""
exit 1
else
pw_clear_pfx
try_remove_dir "${PORT_WINE_PATH}/data/dist"
create_new_dir "${PORT_WINE_PATH}/data/dist"
try_remove_dir "${PORT_WINE_TMP_PATH}/VULKAN"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_update_notifier"
try_remove_file "${PORT_WINE_PATH}/data/user.conf"
try_remove_file "${PORT_WINE_TMP_PATH}/scripts_ver"
echo ""
unset SKIP_CHECK_UPDATES
print_info "Restarting PP for reinstall files..."
fi
elif yad_question "${translations[Do you really want to reinstall PortProton?\\nFor this, an internet connection will be required.]}" ; then
pw_clear_pfx
@ -1638,7 +1694,7 @@ init_wine_ver () {
export WINEDLLPATH+=":${PATH_TO_GAME}"
fi
fi
if ! check_flatpak ; then
export WINE_LIBRARY_PATH="${WINEDIR}/lib64:${WINEDIR}/lib"
fi
@ -1954,7 +2010,7 @@ stop_portwine () {
case "$1" in
--restart)
restart_pp ;;
*)
*)
unset SKIP_CHECK_UPDATES
exit 0 ;;
esac
@ -2381,9 +2437,45 @@ 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
;;
"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" && \
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
[[ "${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
}
@ -2704,6 +2796,49 @@ pw_skip_get_info () {
export LOCALE_LIST
fi
GET_AMD_VULKAN_DRIVER_LIST="amdvlk amdgpupro radv"
unset AMD_VULKAN_DRIVER_LIST
for DRIVER in $GET_AMD_VULKAN_DRIVER_LIST; do
case "$DRIVER" in
"amdvlk")
for file in /opt/amdgpu/etc/vulkan/icd.d/amd_icd*.json \
/etc/vulkan/icd.d/amd_icd*.json \
/usr/share/vulkan/icd.d/amd_icd*.json ; do
if [ -f "$file" ]; then
AMD_VULKAN_DRIVER_LIST+="amdvlk"
break
fi
done
;;
"amdgpupro")
for file in /opt/amdgpu-pro/etc/vulkan/icd.d/amd_icd*.json \
/usr/share/vulkan/icd.d/amd_pro_icd*.json; do
if [ -f "$file" ]; then
AMD_VULKAN_DRIVER_LIST+="!amdgpupro"
break
fi
done
;;
"radv")
for file in /usr/share/vulkan/icd.d/radeon_icd.*.json ; do
if [ -f "$file" ]; then
AMD_VULKAN_DRIVER_LIST+="!radv"
break
fi
done
;;
esac
done
export AMD_VULKAN_DRIVER_LIST
if [[ -z "$AMD_VULKAN_DRIVER_LIST" ]] || check_flatpak ; then
AMD_VULKAN_CB=":DCB"
else
AMD_VULKAN_CB=":CB"
fi
export AMD_VULKAN_CB
logical_cores=$(grep -c ^"processor" /proc/cpuinfo)
if [[ "${logical_cores}" -le "4" ]] ; then
GET_LOGICAL_CORE="1!$(seq -s! 1 $(( logical_cores - 1 )))"
@ -2760,7 +2895,7 @@ edit_db_from_gui () {
if [[ $(<"${PORTWINE_DB_FILE}") =~ export\ ${mod_db}= ]]
then sed -i "s|export ${mod_db}=.*|export ${mod_db}=\"$proxy_mod_db\"|g" "${PORTWINE_DB_FILE}"
else echo "export ${mod_db}=\"$proxy_mod_db\"" >> "${PORTWINE_DB_FILE}"
fi
fi
done
fi
return 0
@ -2793,6 +2928,7 @@ edit_user_conf_from_gui () {
}
pw_create_gui_png () {
unset PORTPROTON_NAME name_desktop_png
basename_portwine_exe="$(basename "${portwine_exe}")"
if echo "$basename_portwine_exe" | grep -ie 'setup\|install\|\.msi$' &>/dev/null ; then
export PW_ICON_FOR_YAD="${PORT_WINE_PATH}/data/img/setup.png"
@ -2964,7 +3100,7 @@ start_portwine () {
then touch "${WINEPREFIX}/.${FILE_NAME_PFX}"
else
try_remove_file "${PFX_TMP}/${FILE_NAME_PFX}.tar.xz"
yad_error_download && exit 1
yad_error_download && exit 1
fi
fi
fi
@ -3037,6 +3173,7 @@ start_portwine () {
LIST_ICU_DLL_LINKS="icuin68 icuuc68 icudt68"
for dll in $LIST_ICU_DLL_LINKS ; do
try_force_link_file "${WINEDIR}/lib/icu/${dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${dll}.dll"
try_force_link_file "${WINEDIR}/lib64/icu/${dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${dll}.dll"
done
@ -3166,7 +3303,7 @@ start_portwine () {
export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1"
export WINEHAGS="1"
;;
*)
sed -i /'dxgi.customDeviceDesc =/c # dxgi.customDeviceDesc =' "${DXVK_CONFIG_FILE}"
sed -i /'dxgi.customDeviceId =/c # dxgi.customDeviceId =' "${DXVK_CONFIG_FILE}"
@ -3181,7 +3318,7 @@ start_portwine () {
# NVAPI, DLSS AND FAKE DLSS
if [[ "${PW_USE_FAKE_DLSS_3}" == "1" ]] ; then
FAKE_DLSS_3_FILES="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll dlss-enabler.dll dlss-enabler-upscaler.dll
FAKE_DLSS_3_FILES="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll dlss-enabler.dll dlss-enabler-upscaler.dll
dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll libxess.dll nvapi64-proxy.dll winmm.dll
_nvngx.dll nvngx-wrapper.dll nvngx.ini"
DXVK_ENABLE_NVAPI="1"
@ -3251,7 +3388,7 @@ start_portwine () {
var_vkd3d_config_update nodxr
fi
if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
if [[ "${PW_GPU_USE}" != "disabled" ]] && [[ "${PW_AMD_VULKAN_USE}" == "disabled" ]] ; then
export DXVK_FILTER_DEVICE_NAME="${PW_GPU_USE}"
export VKD3D_FILTER_DEVICE_NAME="${PW_GPU_USE}"
fi
@ -3265,11 +3402,7 @@ start_portwine () {
fi
#https://github.com/flathub/net.lutris.Lutris/pull/368#issuecomment-1751381312
if [[ "${PW_GPU_USE,,}" =~ nvidia ]] \
|| [[ $(glxinfo | grep "OpenGL renderer" | grep -i nvidia) ]]
then
export WEBKIT_DISABLE_DMABUF_RENDERER=1
fi
[[ $(check_vendor_gpu) =~ nvidia ]] && export WEBKIT_DISABLE_DMABUF_RENDERER=1
if check_gamescope_session ; then
export PW_GAMEMODERUN_SLR=""
@ -3278,14 +3411,16 @@ start_portwine () {
then
if command -v systemctl &>/dev/null \
&& (systemctl is-active --quiet ananicy.service \
|| systemctl is-active --quiet ananicy-cpp.service)
|| systemctl is-active --quiet ananicy-cpp.service \
|| systemctl is-active --quiet scx.service \
|| systemctl is-active --quiet scx_loader.service)
then
export GAMEMODERUN=0
export PW_GAMEMODERUN_SLR=""
if command -v powerprofilesctl &>/dev/null ; then
if powerprofilesctl list | grep -q 'performance:' ; then
export PW_POWERPROFILECTL_SLR="powerprofilesctl launch -p performance --"
print_info "Gamemode replaced by powerprofilectl to avoid conflict with ananicy."
print_info "Gamemode replaced by powerprofilectl to avoid conflict with ananicy and sched-ext."
else
export PW_POWERPROFILECTL_SLR=""
fi
@ -3462,7 +3597,7 @@ start_portwine () {
then
export LIBGL_KOPPER_DRI2="1"
fi
if [[ -d /sys/bus/pci/drivers/nouveau ]] ; then
if [[ $(check_vendor_gpu) =~ nouveau ]] ; then
export NOUVEAU_USE_ZINK="1"
fi
;;
@ -3813,6 +3948,11 @@ start_portwine () {
export WINE_CPU_TOPOLOGY="${PW_WINE_CPU_TOPOLOGY}"
fi
if [[ ! -z "${PW_VK_ICD_FILENAMES}" ]] ; then
export VK_ICD_FILENAMES="${PW_VK_ICD_FILENAMES}"
export VK_DRIVER_FILES="${PW_VK_ICD_FILENAMES}"
fi
if [[ "${PW_MESA_GL_VERSION_OVERRIDE}" != "disabled" ]] ; then
export MESA_GL_VERSION_OVERRIDE="${PW_MESA_GL_VERSION_OVERRIDE}"
if [[ $PW_MESA_GL_VERSION_OVERRIDE = 3.2COMPAT ]] ; then
@ -3840,7 +3980,7 @@ start_portwine () {
fi
#run_winetricks_from_db
if [[ -n "${PW_MUST_HAVE_DLL}" ]] ; then
if [[ -n "${PW_MUST_HAVE_DLL}" ]] ; then
PW_DLL_INSTALL="$(echo "${PW_MUST_HAVE_DLL} ${PW_DLL_INSTALL}" | awk '{ for(i=1;i<=NF;i++){a[$i]++} }END{ for(i in a){printf("%s ",i)} }' )"
export PW_DLL_INSTALL
fi
@ -3979,7 +4119,7 @@ start_portwine () {
|| check_gamescope_session
then
export vk_xwayland_wait_ready="false"
if [[ -d /sys/bus/pci/drivers/amdgpu ]] ; then
if [[ $(check_vendor_gpu) =~ amd ]] ; then
export RADV_DEBUG+="nodcc "
export AMD_DEBUG="nodcc"
if [[ ! $(<"${PW_TMPFS_PATH}/vulkaninfo.tmp") =~ VK_EXT_image_drm_format_modifier ]] ; then
@ -3987,10 +4127,10 @@ start_portwine () {
grep -e '--backend' "${PW_TMPFS_PATH}/gamescope.tmp" &>/dev/null && PW_GS_BACKEND_SDL="1"
fi
fi
if [[ -d /sys/bus/pci/drivers/i915 ]] ; then
if [[ $(check_vendor_gpu) =~ intel ]] ; then
export INTEL_DEBUG="norbc"
fi
if [[ -d /sys/bus/pci/drivers/nvidia ]] ; then
if [[ $(check_vendor_gpu) =~ nvidia ]] ; then
PW_GAMESCOPE_VARIABLES_BEFORE+="__GL_THREADED_OPTIMIZATIONS=0 "
PW_GAMESCOPE_VARIABLES_AFTER+="__GL_THREADED_OPTIMIZATIONS=1 "
fi
@ -4104,7 +4244,7 @@ pw_run () {
PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}"
print_var "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME"
print_var "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH"
print_var "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES"
if [[ "$PW_USE_RUNTIME" == 1 ]] \
&& [[ "$PW_WINE_USE" != "USE_SYSTEM_WINE" ]]
then
@ -4915,6 +5055,14 @@ gui_edit_db () {
CPU_LIMIT_VAR="disabled"
fi
if [[ ! -z "${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
"${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")" \
@ -4937,6 +5085,7 @@ A brief instruction:
immediate - Unlimited frame rate + tearing.
mailbox - Triple buffering. Unlimited frame rate + no tearing.
relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]} :CB" "$(combobox_fix --disabled "${PW_MESA_VK_WSI_PRESENT_MODE}" "fifo!immediate!mailbox!relaxed")" \
--field="${translations[Select needed AMD vulkan implementation]}!${translations[Choosing which implementation of vulkan will be used to run the game]} $AMD_VULKAN_CB" "$(combobox_fix --disabled "$AMD_VULKAN_VAR" "$AMD_VULKAN_DRIVER_LIST")" \
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 \
@ -4986,6 +5135,7 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]
PW_VKD3D_FEATURE_LEVEL="${PW_ADD_SETTINGS[6]}"
PW_LOCALE_SELECT="${PW_ADD_SETTINGS[7]}"
PW_MESA_VK_WSI_PRESENT_MODE="${PW_ADD_SETTINGS[8]}"
PW_AMD_VULKAN_USE="${PW_ADD_SETTINGS[9]}"
if [[ "${CPU_LIMIT}" =~ ^[0-9]+$ ]] ; then
PW_WINE_CPU_TOPOLOGY="${CPU_LIMIT}:$(seq -s, 0 $(( CPU_LIMIT - 1 )))"
@ -4995,7 +5145,7 @@ relaxed - Same as fifo but allows tearing when below the monitors refresh rate.]
export PW_WINE_CPU_TOPOLOGY
edit_db_from_gui "${PW_EDIT_DB_LIST[@]}" LAUNCH_PARAMETERS PW_WINDOWS_VER PW_DLL_INSTALL WINEDLLOVERRIDES PW_WINE_CPU_TOPOLOGY \
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE
PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PW_LOCALE_SELECT PW_MESA_VK_WSI_PRESENT_MODE PW_AMD_VULKAN_USE
if [[ -z "$MANGOHUD_CONFIG" ]] ; then
MONITOR_HEIGHT="$(echo "$PW_SCREEN_RESOLUTION" | awk -F'x' '{print $2}')"
@ -5945,7 +6095,6 @@ portwine_create_shortcut () {
pw_stop_progress_bar
pw_exit_tray
[[ ! -e ${portwine_exe} ]] && return 1
unset PORTPROTON_NAME name_desktop_png
pw_create_gui_png
[[ -z "${PW_SHORTCUT_MENU}" ]] && PW_SHORTCUT_MENU="TRUE"
@ -6123,6 +6272,7 @@ portwine_change_shortcut () {
create_name_desktop
export name_desktop="$PW_NAME_DESKTOP_PROXY"
pw_create_gui_png
[[ -z "${name_desktop_png}" ]] && name_desktop_png="${PORTPROTON_NAME// /_}"
OUTPUT=$("${pw_yad}" --title="${translations[Choices]}" --form \

@ -96,10 +96,10 @@ fi
unset MANGOHUD MANGOHUD_DLSYM PW_NO_ESYNC PW_NO_FSYNC PW_VULKAN_USE WINEDLLOVERRIDES PW_NO_WRITE_WATCH PW_YAD_SET PW_ICON_FOR_YAD
unset PW_CHECK_AUTOINSTALL PW_VKBASALT_EFFECTS PW_VKBASALT_FFX_CAS PORTWINE_DB PORTWINE_DB_FILE RADV_PERFTEST
unset CHK_SYMLINK_FILE PW_MESA_GL_VERSION_OVERRIDE PW_VKD3D_FEATURE_LEVEL PATH_TO_GAME PW_START_DEBUG PORTPROTON_NAME PW_PATH
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR AMD_VULKAN_ICD PW_WINE_CPU_TOPOLOGY
unset PW_PREFIX_NAME WINEPREFIX VULKAN_MOD PW_WINE_VER PW_ADD_TO_ARGS_IN_RUNTIME PW_GAMEMODERUN_SLR PW_WINE_CPU_TOPOLOGY
unset MANGOHUD_CONFIG FPS_LIMIT PW_WINE_USE WINEDLLPATH WINE WINEDIR WINELOADER WINESERVER PW_USE_RUNTIME PORTWINE_CREATE_SHORTCUT_NAME MIRROR
unset PW_LOCALE_SELECT PW_SETTINGS_INDICATION PW_GUI_START PW_AUTOINSTALL_EXE NOSTSTDIR RADV_DEBUG PW_NO_AUTO_CREATE_SHORTCUT
unset PW_TERM PW_EXEC_FROM_DESKTOP WEBKIT_DISABLE_DMABUF_RENDERER
unset PW_TERM PW_EXEC_FROM_DESKTOP WEBKIT_DISABLE_DMABUF_RENDERER PW_AMD_VULKAN_USE PW_VK_ICD_FILENAMES
export PORT_WINE_TMP_PATH="${PORT_WINE_PATH}/data/tmp"
rm -f "$PORT_WINE_TMP_PATH"/*{exe,msi,tar}*
@ -700,28 +700,32 @@ else
IFS=$'\n'
PW_GENERATE_BUTTONS="--field= ${translations[Create shortcut...]}!${PW_GUI_ICON_PATH}/find_48.svg!:FBTNR%@bash -c \"button_click --normal pw_find_exe\"%"
for dp in "${PW_AMOUNT_NEW_DESKTOP[@]}" "${PW_AMOUNT_OLD_DESKTOP[@]}" ; do
PW_NAME_D_ICON_48="${PW_ICON_PATH[dp]%.png}_48"
PW_NAME_D_ICON_128="${PW_ICON_PATH[dp]%.png}"
PW_NAME_D_ICON_NEW="${PW_NAME_D_ICON[dp]//\"/}"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_48//"${PORT_WINE_PATH}/data/img/"/}" "48"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_128//"${PORT_WINE_PATH}/data/img/"/}" "128"
PW_DESKTOP_FILES="${PW_ALL_DF[$dp]}"
PW_DESKTOP_FILES_SHOW="$PW_DESKTOP_FILES"
if [[ $PW_DESKTOP_FILES =~ [\(\)\!\$\%\&\`\'\"\>\<\\\|\;] ]] ; then
PW_DESKTOP_FILES_SHOW_REGEX=(\! % \$ \& \<)
PW_DESKTOP_FILES_REGEX=(\( \) \! \$ % \& \` \' \" \> \< \\ \| \;)
PW_ICON_PATH[dp]=${PW_ICON_PATH[dp]%.png}
PW_NAME_D_ICON_NEW="${PW_NAME_D_ICON[dp]//\"/}"
PW_NAME_D_ICON_128="${PW_ICON_PATH[dp]}"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_128//"${PORT_WINE_PATH}/data/img/"/}" "128"
if [[ $PW_DESKTOP_FILES =~ [\!\%\$\&\<] || ${PW_ICON_PATH[dp]} =~ [\!\%\$\&\<] ]] ; then
PW_DESKTOP_FILES_SHOW_REGEX=(\! % \$ \& \<)
for i in "${PW_DESKTOP_FILES_SHOW_REGEX[@]}" ; do
PW_DESKTOP_FILES_SHOW="${PW_DESKTOP_FILES_SHOW//$i/}"
PW_ICON_PATH[dp]="${PW_ICON_PATH[dp]//$i/}"
done
fi
PW_NAME_D_ICON_48="${PW_ICON_PATH[dp]}_48"
resize_png "$PW_NAME_D_ICON_NEW" "${PW_NAME_D_ICON_48//"${PORT_WINE_PATH}/data/img/"/}" "48"
if [[ $PW_DESKTOP_FILES =~ [\(\)\!\$\%\&\`\'\"\>\<\\\|\;] ]] ; then
PW_DESKTOP_FILES_REGEX=(\( \) \! \$ % \& \` \' \" \> \< \\ \| \;)
count=1
for j in "${PW_DESKTOP_FILES_REGEX[@]}" ; do
PW_DESKTOP_FILES="${PW_DESKTOP_FILES//$j/#+_$count#}"
(( count++ ))
done
fi
PW_GENERATE_BUTTONS+="--field= $(print_wrapped "${PW_DESKTOP_FILES_SHOW//".desktop"/""}" "25" "...")!${PW_NAME_D_ICON_48}.png!:FBTNR%@bash -c \"button_click --desktop "${PW_DESKTOP_FILES// /#@_@#}"\"%"
done

@ -1,6 +1,6 @@
#!/usr/bin/env bash
#Author: Castro-Fidel (linux-gaming.ru)
#SCRIPTS_NEXT_VERSION=2381
#SCRIPTS_NEXT_VERSION=2382
#SCRIPTS_STABLE_VERSION=2380
########################################################################
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"
@ -45,7 +45,7 @@ export PW_FAKE_DLSS_VER="230506"
export PW_FAKE_DLSS_3_VER="090"
export PW_GALLIUM_NINE_VER="0.10"
###WINE_AND_PROTON_LG###
export PW_PROTON_LG_VER="PROTON_LG_9-19"
export PW_PROTON_LG_VER="PROTON_LG_9-21"
export PW_WINE_LG_VER="WINE_LG_9-12-2"
export PW_WINE_FULLSCREEN_FSR="1"
export WINE_FULLSCREEN_FSR_MODE="ultra"
@ -54,9 +54,9 @@ export PW_VULKAN_USE="2"
export VKD3D_LIMIT_TESS_FACTORS="64"
export DXVK_LEGACY_VER="1.6.1"
export DXVK_STABLE_VER="1.10.3-28"
export DXVK_GIT_VER="2.4.1-446"
export DXVK_GIT_VER="2.5.1-35"
export VKD3D_STABLE_VER="1.1-2602"
export VKD3D_GIT_VER="1.1-4271"
export VKD3D_GIT_VER="1.1-4325"
###VKBASALT###
export PW_VKBASALT_EFFECTS="Curves:cas"
export PW_VKBASALT_FFX_CAS="0.50"