Updated the mechanics of detecting GPU drivers in the system

This commit is contained in:
2025-07-26 21:40:59 +05:00
parent c33d9ba3f5
commit 9cee5b32e9
6 changed files with 239 additions and 118 deletions

View File

@ -7,7 +7,7 @@
msgid "" msgid ""
msgstr "Project-Id-Version: PACKAGE VERSION\n" msgstr "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-24 16:50+0300\n" "POT-Creation-Date: 2025-07-26 21:39+0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
@ -581,6 +581,10 @@ msgid "A very dangerous way to hack the memory write timer in ntdll. This "
"recommended not to change the value.)" "recommended not to change the value.)"
msgstr "" msgstr ""
msgid "GLIBC version 2.38+ is required for use Lossless Scaling frame "
"generation"
msgstr ""
msgid "Change the version of <b>WINDOWS</b> emulation" msgid "Change the version of <b>WINDOWS</b> emulation"
msgstr "" msgstr ""
@ -1077,9 +1081,9 @@ msgstr ""
msgid "Show current wine sync in use" msgid "Show current wine sync in use"
msgstr "" msgstr ""
msgid "MangoHud settings (Keys <b>R_SHIFT + F12</b> disable " msgid "MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)"
"MangoHud)\\n<b>note:</b> To display help for each item, just hover " "\\n<b>note:</b> To display help for each item, just hover the mouse "
"the mouse cursor over the text." "cursor over the text."
msgstr "" msgstr ""
msgid "Enabling fps limitation with MANGOHUD tools built into PortProton " msgid "Enabling fps limitation with MANGOHUD tools built into PortProton "
@ -1427,6 +1431,9 @@ msgstr ""
msgid "Disable GameScope and go to the previous menu" msgid "Disable GameScope and go to the previous menu"
msgstr "" msgstr ""
msgid "The graphics card does not support Vulkan"
msgstr ""
msgid "Recommended value" msgid "Recommended value"
msgstr "" msgstr ""
@ -1623,12 +1630,6 @@ msgstr ""
msgid "FONTS" msgid "FONTS"
msgstr "" msgstr ""
msgid "Attention working version of vulkan not detected!"
msgstr ""
msgid "It is recommended to run games in OpenGL (low performance possible)!"
msgstr ""
msgid "PortProton was launched in creation mode PortProton.log and it is " msgid "PortProton was launched in creation mode PortProton.log and it is "
"successfully stored in the root directory of the port" "successfully stored in the root directory of the port"
msgstr "" msgstr ""

View File

@ -8,7 +8,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-24 16:50+0300\n" "POT-Creation-Date: 2025-07-26 19:21+0500\n"
"PO-Revision-Date: 2025-07-24 15:26+0500\n" "PO-Revision-Date: 2025-07-24 15:26+0500\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
@ -495,8 +495,8 @@ msgid ""
"<b>Super + Y :</b> Toggle NIS upscaling\n" "<b>Super + Y :</b> Toggle NIS upscaling\n"
"<b>Super + I :</b> Increase FSR sharpness by 1\n" "<b>Super + I :</b> Increase FSR sharpness by 1\n"
"<b>Super + O :</b> Decrease FSR sharpness by 1\n" "<b>Super + O :</b> Decrease FSR sharpness by 1\n"
"<b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE." "<b>Super + S :</b> Take screenshot (currently goes to /tmp/"
"png)\n" "gamescope_DATE.png)\n"
"<b>Super + G :</b> Toggle keyboard grab\n" "<b>Super + G :</b> Toggle keyboard grab\n"
"<b>Super + C :</b> Update clipboard" "<b>Super + C :</b> Update clipboard"
msgstr "" msgstr ""
@ -707,6 +707,10 @@ msgstr ""
"Esto mejora el rendimiento de algunos juegos muy específicos. (Se recomienda " "Esto mejora el rendimiento de algunos juegos muy específicos. (Se recomienda "
"no cambiar el valor)" "no cambiar el valor)"
msgid ""
"GLIBC version 2.38+ is required for use Lossless Scaling frame generation"
msgstr ""
msgid "Change the version of <b>WINDOWS</b> emulation" msgid "Change the version of <b>WINDOWS</b> emulation"
msgstr "Cambiar la versión de emulación de <b>WINDOWS</b>" msgstr "Cambiar la versión de emulación de <b>WINDOWS</b>"
@ -1861,6 +1865,10 @@ msgstr ""
msgid "Disable GameScope and go to the previous menu" msgid "Disable GameScope and go to the previous menu"
msgstr "Desactivar GameScope e ir al menú anterior" msgstr "Desactivar GameScope e ir al menú anterior"
#, fuzzy
msgid "The graphics card does not support Vulkan"
msgstr "Elige una tarjeta gráfica para ejecutar el juego"
msgid "Recommended value" msgid "Recommended value"
msgstr "Valor recomendado" msgstr "Valor recomendado"
@ -2082,13 +2090,6 @@ msgstr "DLLS"
msgid "FONTS" msgid "FONTS"
msgstr "FUENTES" msgstr "FUENTES"
msgid "Attention working version of vulkan not detected!"
msgstr "¡Atención, no se detectó la versión funcional de vulkan!"
msgid "It is recommended to run games in OpenGL (low performance possible)!"
msgstr ""
"¡Se recomienda ejecutar juegos en OpenGL (es posible un rendimiento bajo)!"
msgid "" msgid ""
"PortProton was launched in creation mode PortProton.log and it is " "PortProton was launched in creation mode PortProton.log and it is "
"successfully stored in the root directory of the port" "successfully stored in the root directory of the port"
@ -2218,6 +2219,13 @@ msgstr "UNIRSE"
msgid "THIRD PARTY LIBRARIES" msgid "THIRD PARTY LIBRARIES"
msgstr "BIBLIOTECAS DE TERCEROS" msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid "Attention working version of vulkan not detected!"
#~ msgstr "¡Atención, no se detectó la versión funcional de vulkan!"
#~ msgid "It is recommended to run games in OpenGL (low performance possible)!"
#~ msgstr ""
#~ "¡Se recomienda ejecutar juegos en OpenGL (es posible un rendimiento bajo)!"
#~ msgid "Legacy DXVK (Vulkan v1.1)" #~ msgid "Legacy DXVK (Vulkan v1.1)"
#~ msgstr "DXVK heredado (Vulkan v1.1)" #~ msgstr "DXVK heredado (Vulkan v1.1)"
@ -2269,8 +2277,8 @@ msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid "" #~ msgid ""
#~ "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?" #~ "For adding shortcut to STEAM, needed restart.\\n\\nRestart STEAM now?"
#~ msgstr "" #~ msgstr ""
#~ "Para agregar el acceso directo a STEAM, es necesario reiniciar.\\n" #~ "Para agregar el acceso directo a STEAM, es necesario reiniciar.\\n\\"
#~ "\\¿Quieres reiniciar STEAM ahora?" #~ "¿Quieres reiniciar STEAM ahora?"
#~ msgid "Restarting STEAM... Please wait." #~ msgid "Restarting STEAM... Please wait."
#~ msgstr "Restarting STEAM... Please wait." #~ msgstr "Restarting STEAM... Please wait."
@ -2280,14 +2288,14 @@ msgstr "BIBLIOTECAS DE TERCEROS"
#~ msgid "" #~ msgid ""
#~ "<b>Gamescope is not detected on the system, to install it, run the " #~ "<b>Gamescope is not detected on the system, to install it, run the "
#~ "command in the terminal:\\nflatpak install -y runtime/org.freedesktop." #~ "command in the terminal:\\nflatpak install -y runtime/"
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Can be " #~ "org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$%"
#~ "selected and copied)</b>" #~ "{GAMESCOPE_VERSION}%\\n(Can be selected and copied)</b>"
#~ msgstr "" #~ msgstr ""
#~ "<b>Gamescope no se detecta en el sistema, para instalarlo, ejecute el " #~ "<b>Gamescope no se detecta en el sistema, para instalarlo, ejecute el "
#~ "comando en el terminal:\\n flatpak install -y runtime/org.freedesktop." #~ "comando en el terminal:\\n flatpak install -y runtime/"
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n (Se puede " #~ "org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$%"
#~ "seleccionar y copiar)</b>" #~ "{GAMESCOPE_VERSION}%\\n (Se puede seleccionar y copiar)</b>"
#, sh-format #, sh-format
#~ msgid "" #~ msgid ""
@ -2471,8 +2479,8 @@ msgstr "BIBLIOTECAS DE TERCEROS"
#~ "<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" #~ "<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n"
#~ "<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.\n" #~ "<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.\n"
#~ "<b>-S integer:</b> use integer scaling.\n" #~ "<b>-S integer:</b> use integer scaling.\n"
#~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. (e." #~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. "
#~ "g. 4:3 to 16:9).\n" #~ "(e.g. 4:3 to 16:9).\n"
#~ "<b>-b:</b> create a border-less window.\n" #~ "<b>-b:</b> create a border-less window.\n"
#~ "<b>-f:</b> create a full-screen window." #~ "<b>-f:</b> create a full-screen window."
#~ msgstr "" #~ msgstr ""

View File

@ -7,16 +7,16 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-07-24 16:50+0300\n" "POT-Creation-Date: 2025-07-26 19:21+0500\n"
"PO-Revision-Date: 2025-07-24 16:51+0300\n" "PO-Revision-Date: 2025-07-26 21:42+0500\n"
"Last-Translator: \n" "Last-Translator: \n"
"Language-Team: \n" "Language-Team: \n"
"Language: ru_RU\n" "Language: ru_RU\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n" "n%10<=4 && (n%100<12 || n%100>14) ? 1 : 2);\n"
"X-Generator: Poedit 3.6\n" "X-Generator: Poedit 3.6\n"
msgid "" msgid ""
@ -368,8 +368,8 @@ msgid ""
"More than one DB file found for the application being launched.\\nSelect the " "More than one DB file found for the application being launched.\\nSelect the "
"required one, or delete the extra DB file before the next run.\\n" "required one, or delete the extra DB file before the next run.\\n"
msgstr "" msgstr ""
"Для запускаемого приложения найдено более одного конфигурационного файла ." "Для запускаемого приложения найдено более одного конфигурационного "
"ppdb.\\nВыберите нужный или удалите лишний файл .ppdb перед следующим " "файла .ppdb.\\nВыберите нужный или удалите лишний файл .ppdb перед следующим "
"запуском\\n" "запуском\\n"
msgid "Update scripts:" msgid "Update scripts:"
@ -506,8 +506,8 @@ msgid ""
"<b>Super + Y :</b> Toggle NIS upscaling\n" "<b>Super + Y :</b> Toggle NIS upscaling\n"
"<b>Super + I :</b> Increase FSR sharpness by 1\n" "<b>Super + I :</b> Increase FSR sharpness by 1\n"
"<b>Super + O :</b> Decrease FSR sharpness by 1\n" "<b>Super + O :</b> Decrease FSR sharpness by 1\n"
"<b>Super + S :</b> Take screenshot (currently goes to /tmp/gamescope_DATE." "<b>Super + S :</b> Take screenshot (currently goes to /tmp/"
"png)\n" "gamescope_DATE.png)\n"
"<b>Super + G :</b> Toggle keyboard grab\n" "<b>Super + G :</b> Toggle keyboard grab\n"
"<b>Super + C :</b> Update clipboard" "<b>Super + C :</b> Update clipboard"
msgstr "" msgstr ""
@ -732,6 +732,10 @@ msgstr ""
"производительность некоторых очень специфических игр (рекомендуется не " "производительность некоторых очень специфических игр (рекомендуется не "
"изменять значение)" "изменять значение)"
msgid ""
"GLIBC version 2.38+ is required for use Lossless Scaling frame generation"
msgstr ""
msgid "Change the version of <b>WINDOWS</b> emulation" msgid "Change the version of <b>WINDOWS</b> emulation"
msgstr "Изменить версию эмуляции <b>WINDOWS</b>" msgstr "Изменить версию эмуляции <b>WINDOWS</b>"
@ -1349,9 +1353,9 @@ msgid ""
"MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\\n<b>note:</" "MangoHud settings (Keys <b>R_SHIFT + F12</b> disable MangoHud)\\n<b>note:</"
"b> To display help for each item, just hover the mouse cursor over the text." "b> To display help for each item, just hover the mouse cursor over the text."
msgstr "" msgstr ""
"Настройки MangoHud (клавиши <b>R_SHIFT + F12</b> отключают " "Настройки MangoHud (клавиши <b>R_SHIFT + F12</b> отключают MangoHud)"
"MangoHud)\\n<b>Примечание:</b> Чтобы отобразить справку для каждого " "\\n<b>Примечание:</b> Чтобы отобразить справку для каждого элемента, "
"элемента, наведите курсор мыши на текст." "наведите курсор мыши на текст."
msgid "" msgid ""
"Enabling fps limitation with MANGOHUD tools built into PortProton (Keys " "Enabling fps limitation with MANGOHUD tools built into PortProton (Keys "
@ -1849,6 +1853,9 @@ msgstr ""
msgid "Disable GameScope and go to the previous menu" msgid "Disable GameScope and go to the previous menu"
msgstr "Отключить Gamescope и перейти в предыдущее меню" msgstr "Отключить Gamescope и перейти в предыдущее меню"
msgid "The graphics card does not support Vulkan"
msgstr "Видеокарта не поддерживает Vulkan"
msgid "Recommended value" msgid "Recommended value"
msgstr "Рекомендуемое значение" msgstr "Рекомендуемое значение"
@ -2068,13 +2075,6 @@ msgstr "БИБЛИОТЕКИ"
msgid "FONTS" msgid "FONTS"
msgstr "ШРИФТЫ" msgstr "ШРИФТЫ"
msgid "Attention working version of vulkan not detected!"
msgstr "Внимание, рабочая версия Vulkan не обнаружена!"
msgid "It is recommended to run games in OpenGL (low performance possible)!"
msgstr ""
"Игры рекомендуется запускать в OpenGL (возможна низкая производительность)"
msgid "" msgid ""
"PortProton was launched in creation mode PortProton.log and it is " "PortProton was launched in creation mode PortProton.log and it is "
"successfully stored in the root directory of the port" "successfully stored in the root directory of the port"
@ -2202,6 +2202,13 @@ msgstr "ПРИСОЕДЕНИТЬСЯ"
msgid "THIRD PARTY LIBRARIES" msgid "THIRD PARTY LIBRARIES"
msgstr "БИБЛИОТЕКИ" msgstr "БИБЛИОТЕКИ"
#~ msgid "Attention working version of vulkan not detected!"
#~ msgstr "Внимание, рабочая версия Vulkan не обнаружена!"
#~ msgid "It is recommended to run games in OpenGL (low performance possible)!"
#~ msgstr ""
#~ "Игры рекомендуется запускать в OpenGL (возможна низкая производительность)"
#~ msgid "Legacy DXVK (Vulkan v1.1)" #~ msgid "Legacy DXVK (Vulkan v1.1)"
#~ msgstr "Устаревший DXVK (Vulkan v1.1)" #~ msgstr "Устаревший DXVK (Vulkan v1.1)"
@ -2267,14 +2274,14 @@ msgstr "БИБЛИОТЕКИ"
#~ msgid "" #~ msgid ""
#~ "<b>Gamescope is not detected on the system, to install it, run the " #~ "<b>Gamescope is not detected on the system, to install it, run the "
#~ "command in the terminal:\\nflatpak install -y runtime/org.freedesktop." #~ "command in the terminal:\\nflatpak install -y runtime/"
#~ "Platform.VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Can be " #~ "org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$%"
#~ "selected and copied)</b>" #~ "{GAMESCOPE_VERSION}%\\n(Can be selected and copied)</b>"
#~ msgstr "" #~ msgstr ""
#~ "<b>Gamescope не найден в системе, для его установки выполните команду в " #~ "<b>Gamescope не найден в системе, для его установки выполните команду в "
#~ "терминале:\\nflatpak install -y runtime/org.freedesktop.Platform." #~ "терминале:\\nflatpak install -y runtime/"
#~ "VulkanLayer.gamescope/x86_64/$%{GAMESCOPE_VERSION}%\\n(Данный текст можно " #~ "org.freedesktop.Platform.VulkanLayer.gamescope/x86_64/$%"
#~ "выделить и скопировать)</b>" #~ "{GAMESCOPE_VERSION}%\\n(Данный текст можно выделить и скопировать)</b>"
#, sh-format #, sh-format
#~ msgid "" #~ msgid ""
@ -2561,8 +2568,8 @@ msgstr "БИБЛИОТЕКИ"
#~ "<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n" #~ "<b>-F fsr:</b> use AMD FidelityFX™ Super Resolution 1.0 for upscaling.\n"
#~ "<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.\n" #~ "<b>-F nis:</b> use NVIDIA Image Scaling v1.0.3 for upscaling.\n"
#~ "<b>-S integer:</b> use integer scaling.\n" #~ "<b>-S integer:</b> use integer scaling.\n"
#~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. (e." #~ "<b>-S stretch:</b> use stretch scaling, the game will fill the window. "
#~ "g. 4:3 to 16:9).\n" #~ "(e.g. 4:3 to 16:9).\n"
#~ "<b>-b:</b> create a border-less window.\n" #~ "<b>-b:</b> create a border-less window.\n"
#~ "<b>-f:</b> create a full-screen window." #~ "<b>-f:</b> create a full-screen window."
#~ msgstr "" #~ msgstr ""
@ -2571,8 +2578,8 @@ msgstr "БИБЛИОТЕКИ"
#~ "размера окна Gamescope обновит эти настройки. Если указано -H, а -W нет, " #~ "размера окна Gamescope обновит эти настройки. Если указано -H, а -W нет, "
#~ "предполагается соотношение сторон 16:9. По умолчанию установлено значение " #~ "предполагается соотношение сторон 16:9. По умолчанию установлено значение "
#~ "1280×720.\n" #~ "1280×720.\n"
#~ "<b>-w, -h:</b> установить разрешение, используемое в игре. Если указано -" #~ "<b>-w, -h:</b> установить разрешение, используемое в игре. Если указано "
#~ "h, а -w нет, предполагается соотношение сторон 16:9. По умолчанию " #~ "-h, а -w нет, предполагается соотношение сторон 16:9. По умолчанию "
#~ "используются значения, указанные в -W и -H.\n" #~ "используются значения, указанные в -W и -H.\n"
#~ "<b>-r:</b> установить ограничение частоты кадров для игры. По умолчанию " #~ "<b>-r:</b> установить ограничение частоты кадров для игры. По умолчанию "
#~ "значение неограниченно.\n" #~ "значение неограниченно.\n"

View File

@ -871,7 +871,7 @@ check_vendor_gpu () {
fi fi
if command -v glxinfo &>/dev/null ; then if command -v glxinfo &>/dev/null ; then
pw_check_glxinfo background_pid --end "pw_check_glxinfo" "3"
case "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" in case "$(<"${PW_TMPFS_PATH}/glxinfo.tmp" tr '[:upper:]' '[:lower:]')" in
*nvidia*) *nvidia*)
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia") [[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
@ -1345,7 +1345,6 @@ seconds_to_time () {
combobox_fix () { combobox_fix () {
if [[ -z "$1" ]] ; then if [[ -z "$1" ]] ; then
print_error "no argument specified for combobox_fix"
return 1 return 1
else else
local name1 name2 local name1 name2
@ -2802,20 +2801,148 @@ pw_check_command () {
export -f pw_check_command export -f pw_check_command
pw_check_vulkan () { pw_check_vulkan () {
if [[ ! -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
TIMEOUT_CMD="5" TIMEOUT_CMD="5"
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
if ! pw_check_command vulkaninfo ; then if ! pw_check_command vulkaninfo ; then
print_warning "use portable vulkaninfo" print_warning "use portable vulkaninfo"
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp" "$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
fi fi
}
compare_versions () {
IFS='.' read -ra a1 <<< "$1"
IFS='.' read -ra a2 <<< "$2"
local len=$(( ${#a1[@]} > ${#a2[@]} ? ${#a1[@]} : ${#a2[@]} ))
for ((i=0; i<len; i++)) ; do
local n1=$(( ${a1[i]:-0} ))
local n2=$(( ${a2[i]:-0} ))
if (( n1 > n2 )) ; then
return 0
elif (( n1 < n2 )) ; then
return 1
fi
done
return 0
}
pw_check_dxvk () {
background_pid --end "pw_check_vulkan" "1"
if [[ -z $PW_VULKAN_DRIVER_USE ]] && [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
if [[ -z $PW_GPU_USE ]] ; then
if [[ -z $GET_GPU_NAMES ]] ; then
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d' | sort -u | sed 's/^ //' | paste -sd '!')
export GET_GPU_NAMES
fi
IFS='!' read -r -a SELECTED_VULKAN_GPU <<< "$GET_GPU_NAMES"
else
IFS='' read -r -a SELECTED_VULKAN_GPU <<< "$PW_GPU_USE"
fi
for i in "${SELECTED_VULKAN_GPU[@]}" ; do
PW_CHECK_VULKAN_DRIVER="$(awk -v target="$i" '
BEGIN {
in_target = 0
}
/^GPU[0-9]+:/ {
if (in_target) {
in_target = 0
}
next
}
/apiVersion/ { var1=$0 }
/driverVersion/ { var2=$0 }
/deviceName/ { var3=$0 }
/deviceName/ && !/llvmpipe/ {
split($0, parts, "=")
device_name = parts[2]
gsub(/^[[:space:]]+|[[:space:]]+$/, "", device_name)
if (device_name == target) in_target = 1
next
}
in_target {
if ($0 ~ /driverInfo/) { var4=$0; exit }
}
END {
print var1 "!" var2 "!" var3 "!" var4 "!"
}
' "${PW_TMPFS_PATH}/vulkaninfo.tmp")"
IFS='!' read -r -a PW_CHECK_VULKAN_DRIVER_ARRAY <<< "$PW_CHECK_VULKAN_DRIVER"
if [[ ${PW_CHECK_VULKAN_DRIVER_ARRAY[2],,} =~ nvidia ]] ; then
read -r -a PW_CHECK_VULKAN_DRIVER_ARRAY_3 <<< "${PW_CHECK_VULKAN_DRIVER_ARRAY[3]}"
if compare_versions "${PW_CHECK_VULKAN_DRIVER_ARRAY_3[2]}" "550.54.14" ; then
PW_VULKAN_DRIVER_USE="6" && break
fi
elif [[ ${PW_CHECK_VULKAN_DRIVER_ARRAY[3],,} =~ mesa ]] ; then
read -r -a PW_CHECK_VULKAN_DRIVER_ARRAY_1 <<< "${PW_CHECK_VULKAN_DRIVER_ARRAY[1]}"
if compare_versions "${PW_CHECK_VULKAN_DRIVER_ARRAY_1[2]}" "25.0" ; then
PW_VULKAN_DRIVER_USE="6" && break
fi
elif [[ ${PW_CHECK_VULKAN_DRIVER_ARRAY[3],,} =~ llpc ]] ; then
read -r -a PW_CHECK_VULKAN_DRIVER_ARRAY_1 <<< "${PW_CHECK_VULKAN_DRIVER_ARRAY[1]}"
if compare_versions "${PW_CHECK_VULKAN_DRIVER_ARRAY_1[2]}" "2.0.310" ; then
PW_VULKAN_DRIVER_USE="6"
fi
fi
done
if [[ ${PW_CHECK_VULKAN_DRIVER_ARRAY[3],,} =~ llpc ]] && [[ -z $PW_AMD_VULKAN_USE || $PW_AMD_VULKAN_USE == "disabled" ]] ; then
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
fi
if [[ -z ${PW_CHECK_VULKAN_DRIVER_ARRAY[3]} ]] && [[ -n $PW_GPU_USE && $PW_GPU_USE != "disabled" ]] ; then
unset PW_GPU_USE
pw_check_dxvk
fi
if [[ -z $PW_GPU_USE ]] ; then
export PW_GPU_USE=${PW_CHECK_VULKAN_DRIVER_ARRAY[2]//*= /}
edit_user_conf_from_gui PW_GPU_USE
fi
fi
if [[ $PW_VULKAN_DRIVER_USE == "6" ]] ; then
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="6"
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
2) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_SAREK!$SORT_OPENGL" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
esac
else
if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="0"
PW_DEFAULT_VULKAN_USE="$SORT_OPENGL"
else
read -r -a PW_CHECK_VULKAN_DRIVER_ARRAY_0 <<< "${PW_CHECK_VULKAN_DRIVER_ARRAY[0]}"
if compare_versions "${PW_CHECK_VULKAN_DRIVER_ARRAY_0[2]}" "1.3" ; then
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="2"
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_STABLE!$SORT_SAREK" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_STABLE!$SORT_OPENGL" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
esac
else
[[ -z $PW_VULKAN_USE ]] && PW_VULKAN_USE="1"
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_SAREK" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_OPENGL" ;;
esac
fi
fi
fi fi
} }
pw_check_glxinfo () { pw_check_glxinfo () {
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
TIMEOUT_CMD="5" TIMEOUT_CMD="5"
pw_check_command glxinfo -B pw_check_command glxinfo -B
fi
} }
pw_get_tmp_files () { pw_get_tmp_files () {
@ -2823,8 +2950,6 @@ pw_get_tmp_files () {
do pw_check_command "$f_cmd" do pw_check_command "$f_cmd"
done done
pw_check_vulkan
# GALLIUM NINE # GALLIUM NINE
unset FIND_D3D_MODULE D3D_MODULE_PATH unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then if ! check_flatpak ; then
@ -2850,16 +2975,15 @@ pw_get_tmp_files () {
pw_skip_get_info () { pw_skip_get_info () {
if [[ "${SKIP_CHECK_UPDATES_NEW}" != "1" ]] ; then if [[ "${SKIP_CHECK_UPDATES_NEW}" != "1" ]] ; then
background_pid --end "pw_get_tmp_files" "1" background_pid --end "pw_get_tmp_files" "2"
if [[ -f "${PW_TMPFS_PATH}/gamescope.tmp" ]] ; then if [[ -f "${PW_TMPFS_PATH}/gamescope.tmp" ]] ; then
export GAMESCOPE_INSTALLED="1" export GAMESCOPE_INSTALLED="1"
fi fi
if [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then if [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d' | sort -u | sed 's/^ //' | paste -sd '!') GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d' | sort -u | sed 's/^ //' | paste -sd '!')
export VULKAN_DRIVER_NAME GET_GPU_NAMES export GET_GPU_NAMES
fi fi
if [[ -f "${PW_TMPFS_PATH}/lspci.tmp" ]] ; then if [[ -f "${PW_TMPFS_PATH}/lspci.tmp" ]] ; then
@ -4589,7 +4713,7 @@ pw_run () {
PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}" PW_LD_LIBRARY_PATH="${PW_LD_LIBRARY_PATH}:${WINE_LIBRARY_PATH}"
echo "##### Current variables #####" > "$PW_TMPFS_PATH/var.log" echo "##### Current variables #####" > "$PW_TMPFS_PATH/var.log"
for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" \ for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" \
"WINELOADER" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" \ "WINELOADER" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" \
"WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" "PW_TASKSET_SLR" "WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" "PW_TASKSET_SLR"
do do
@ -5543,7 +5667,6 @@ gui_edit_db () {
if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \ if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \
[[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then [[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}" AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
else else
AMD_VULKAN_VAR="disabled" AMD_VULKAN_VAR="disabled"
fi fi
@ -6423,12 +6546,12 @@ gui_userconf () {
NEW_STEAM_BEHAVIOR="${translations[Enable]}" NEW_STEAM_BEHAVIOR="${translations[Enable]}"
fi fi
if [[ -n $PW_GPU_USE ]] \ if [[ -n $PW_GPU_USE ]] && [[ $PW_GPU_USE != "disabled" ]] ; then
&& [[ $PW_GPU_USE != "disabled" ]]
then
GPU_VAR="$PW_GPU_USE" GPU_VAR="$PW_GPU_USE"
elif [[ -n $GET_GPU_NAMES ]] ; then
GPU_VAR="${GET_GPU_NAMES/!*/}"
else else
GPU_VAR="disabled" GPU_VAR="${translations[The graphics card does not support Vulkan]}"
fi fi
if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then
@ -6492,7 +6615,7 @@ gui_userconf () {
--field="${translations[Change branch to]}!${translations[Depending on the version of the scripts, PortProton will receive the latest changes first (the DEVEL branch), the STABLE branch is updated later and is stable.]} :CB" "$(combobox_fix "$BRANCH" "$NEW_BRANCH")" \ --field="${translations[Change branch to]}!${translations[Depending on the version of the scripts, PortProton will receive the latest changes first (the DEVEL branch), the STABLE branch is updated later and is stable.]} :CB" "$(combobox_fix "$BRANCH" "$NEW_BRANCH")" \
--field="${translations[Change start gui to]}!${translations[When using PANED in the game start menu, additional buttons are located on one large page; if NOTEBOOK, then they are divided into several.]} :CB" "$(combobox_fix "$PW_GUI_START" "$NEW_START_GUI")" \ --field="${translations[Change start gui to]}!${translations[When using PANED in the game start menu, additional buttons are located on one large page; if NOTEBOOK, then they are divided into several.]} :CB" "$(combobox_fix "$PW_GUI_START" "$NEW_START_GUI")" \
--field="${translations[Steam covers download]}!${translations[If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)]} :CB" "$(combobox_fix "$DOWNLOAD_STEAM_GRID" "$NEW_STEAM_BEHAVIOR")" \ --field="${translations[Steam covers download]}!${translations[If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)]} :CB" "$(combobox_fix "$DOWNLOAD_STEAM_GRID" "$NEW_STEAM_BEHAVIOR")" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "$GPU_VAR" "$GET_GPU_NAMES")" \ --field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix "$GPU_VAR" "$GET_GPU_NAMES")" \
--field="${translations[Force dpi]}!${translations[Here you can set forced dpi for applications wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "${translations[Recommended value]}!80!96!120!144!168!192!216!240")" \ --field="${translations[Force dpi]}!${translations[Here you can set forced dpi for applications wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "${translations[Recommended value]}!80!96!120!144!168!192!216!240")" \
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \ --field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \
--field="${translations[Select PortProton theme]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "${translations[default]}!${translations[compact]}!${translations[classic]}")" \ --field="${translations[Select PortProton theme]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "${translations[default]}!${translations[compact]}!${translations[classic]}")" \
@ -6523,6 +6646,7 @@ gui_userconf () {
gui_open_user_conf gui_open_user_conf
;; ;;
166) 166)
unset PW_VULKAN_DRIVER_USE
IFS='%' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb" IFS='%' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb"
MIRROR="${PW_ADD_SETTINGS_UC[0]}" MIRROR="${PW_ADD_SETTINGS_UC[0]}"
if [[ $BRANCH != "${PW_ADD_SETTINGS_UC[1]}" ]] ; then if [[ $BRANCH != "${PW_ADD_SETTINGS_UC[1]}" ]] ; then
@ -6582,6 +6706,7 @@ gui_userconf () {
if [[ $SORT_WITH_TIME == "${translations[According to last launch]}" ]] ; then SORT_WITH_TIME="lastlaunch" if [[ $SORT_WITH_TIME == "${translations[According to last launch]}" ]] ; then SORT_WITH_TIME="lastlaunch"
elif [[ $SORT_WITH_TIME == "${translations[By time]}" ]] ; then SORT_WITH_TIME="bytime" elif [[ $SORT_WITH_TIME == "${translations[By time]}" ]] ; then SORT_WITH_TIME="bytime"
fi fi
[[ $PW_GPU_USE == "${translations[The graphics card does not support Vulkan]}" ]] && PW_GPU_USE="disabled"
edit_user_conf_from_gui MIRROR BRANCH PW_GUI_START DOWNLOAD_STEAM_GRID PW_GPU_USE PW_WINE_DPI_VALUE PW_SOUND_DRIVER_USE \ edit_user_conf_from_gui MIRROR BRANCH PW_GUI_START DOWNLOAD_STEAM_GRID PW_GPU_USE PW_WINE_DPI_VALUE PW_SOUND_DRIVER_USE \
GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
@ -7071,11 +7196,6 @@ portwine_start_debug () {
pw_skip_get_info pw_skip_get_info
kill_portwine kill_portwine
export PW_LOG=1 export PW_LOG=1
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
pw_notify_send -i warning \
"${translations[Attention working version of vulkan not detected!]}" \
"${translations[It is recommended to run games in OpenGL (low performance possible)!]}"
fi
echo "${translations[PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port]}" > "${PORT_WINE_PATH}/PortProton.log" echo "${translations[PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port]}" > "${PORT_WINE_PATH}/PortProton.log"
echo "${translations[To diagnose the problem, copy ALL of the log to:]} https://linux-gaming.ru/t/opisanie-kategorii-portproton-pomoshh/1642" >> "${PORT_WINE_PATH}/PortProton.log" echo "${translations[To diagnose the problem, copy ALL of the log to:]} https://linux-gaming.ru/t/opisanie-kategorii-portproton-pomoshh/1642" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log" echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
@ -7416,6 +7536,7 @@ gui_open_user_conf () {
restart_pp --userconf restart_pp --userconf
;; ;;
2) 2)
unset PW_VULKAN_DRIVER_USE
echo "${PW_USERCONF_GUI}" > "${PORT_WINE_PATH}/data/user.conf" echo "${PW_USERCONF_GUI}" > "${PORT_WINE_PATH}/data/user.conf"
print_info "Restarting..." print_info "Restarting..."
restart_pp --userconf restart_pp --userconf

View File

@ -307,8 +307,14 @@ if [[ "${SKIP_CHECK_UPDATES}" != 1 ]] ; then
PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}") PW_FILESYSTEM=$(stat -f -c %T "${PORT_WINE_PATH}")
export PW_FILESYSTEM export PW_FILESYSTEM
background_pid --start "pw_get_tmp_files" "1" background_pid --start "pw_check_vulkan" "1"
background_pid --start "pw_check_glxinfo" "2" background_pid --start "pw_get_tmp_files" "2"
background_pid --start "pw_check_glxinfo" "3"
fi
if [[ -z $PW_GPU_USE || $PW_GPU_USE == "disabled" ]] ; then
unset PW_GPU_USE
pw_check_dxvk
fi fi
# create lock file # create lock file
@ -560,22 +566,8 @@ if [[ -f "$portwine_exe" ]] ; then
gui_userconf gui_userconf
fi fi
if [[ -z $PW_VULKAN_USE ]] \ [[ $PW_VULKAN_USE == [3-5] ]] && unset PW_VULKAN_USE
|| [[ $PW_VULKAN_USE == [3-5] ]] pw_check_dxvk
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 if [[ $PW_GUI_DISABLED_CS != 1 ]] ; then
pw_create_gui_png pw_create_gui_png
@ -596,13 +588,6 @@ if [[ -f "$portwine_exe" ]] ; then
fi fi
fi fi
case "$PW_VULKAN_USE" in
0) PW_DEFAULT_VULKAN_USE="$SORT_OPENGL!$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK" ;;
1) PW_DEFAULT_VULKAN_USE="$SORT_SAREK!$SORT_NEWEST!$SORT_STABLE!$SORT_OPENGL" ;;
2) PW_DEFAULT_VULKAN_USE="$SORT_STABLE!$SORT_NEWEST!$SORT_SAREK!$SORT_OPENGL" ;;
*) PW_DEFAULT_VULKAN_USE="$SORT_NEWEST!$SORT_STABLE!$SORT_SAREK!$SORT_OPENGL" ;;
esac
KEY_START="$RANDOM" KEY_START="$RANDOM"
"$pw_yad" --plug=$KEY_START --tabnum="1" --form --separator=";" $START_GUI_TYPE \ "$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-box="$START_GUI_TYPE_BOX" --gui-type-layout="$START_GUI_TYPE_LAYOUT_UP" \

View File

@ -34,7 +34,6 @@ export PW_MESA_VK_WSI_PRESENT_MODE="disabled"
export PW_VKD3D_FEATURE_LEVEL="disabled" export PW_VKD3D_FEATURE_LEVEL="disabled"
export PW_USE_EAC_AND_BE="1" export PW_USE_EAC_AND_BE="1"
export PW_USE_US_LAYOUT="0" export PW_USE_US_LAYOUT="0"
export PW_GPU_USE="disabled"
export PW_LOCALE_SELECT="disabled" export PW_LOCALE_SELECT="disabled"
export PW_DINPUT_PROTOCOL="0" export PW_DINPUT_PROTOCOL="0"
export PW_USE_VRCLIENT="0" export PW_USE_VRCLIENT="0"