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

View File

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

View File

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

View File

@ -871,7 +871,7 @@ check_vendor_gpu () {
fi
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
*nvidia*)
[[ -d /sys/bus/pci/drivers/nvidia ]] && VENDOR_GPU_USE+=("nvidia")
@ -1345,7 +1345,6 @@ seconds_to_time () {
combobox_fix () {
if [[ -z "$1" ]] ; then
print_error "no argument specified for combobox_fix"
return 1
else
local name1 name2
@ -2514,7 +2513,7 @@ pw_init_db () {
# 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
;;
@ -2529,7 +2528,7 @@ pw_init_db () {
[[ "${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
}
@ -2802,20 +2801,148 @@ pw_check_command () {
export -f pw_check_command
pw_check_vulkan () {
if [[ ! -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
TIMEOUT_CMD="5"
if ! pw_check_command vulkaninfo ; then
print_warning "use portable vulkaninfo"
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
TIMEOUT_CMD="5"
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1="1"
if ! pw_check_command vulkaninfo ; then
print_warning "use portable vulkaninfo"
"$PW_PLUGINS_PATH"/portable/bin/x86_64-linux-gnu-vulkaninfo &> "${PW_TMPFS_PATH}/vulkaninfo.tmp"
fi
}
compare_versions () {
IFS='.' read -ra a1 <<< "$1"
IFS='.' read -ra a2 <<< "$2"
local len=$(( ${#a1[@]} > ${#a2[@]} ? ${#a1[@]} : ${#a2[@]} ))
for ((i=0; i<len; i++)) ; do
local n1=$(( ${a1[i]:-0} ))
local n2=$(( ${a2[i]:-0} ))
if (( n1 > n2 )) ; then
return 0
elif (( n1 < n2 )) ; then
return 1
fi
done
return 0
}
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
}
pw_check_glxinfo () {
if [[ ! -f "${PW_TMPFS_PATH}/glxinfo.tmp" ]] ; then
TIMEOUT_CMD="5"
pw_check_command glxinfo -B
fi
TIMEOUT_CMD="5"
pw_check_command glxinfo -B
}
pw_get_tmp_files () {
@ -2823,8 +2950,6 @@ pw_get_tmp_files () {
do pw_check_command "$f_cmd"
done
pw_check_vulkan
# GALLIUM NINE
unset FIND_D3D_MODULE D3D_MODULE_PATH
if ! check_flatpak ; then
@ -2850,16 +2975,15 @@ pw_get_tmp_files () {
pw_skip_get_info () {
if [[ "${SKIP_CHECK_UPDATES_NEW}" != "1" ]] ; then
background_pid --end "pw_get_tmp_files" "1"
background_pid --end "pw_get_tmp_files" "2"
if [[ -f "${PW_TMPFS_PATH}/gamescope.tmp" ]] ; then
export GAMESCOPE_INSTALLED="1"
fi
if [[ -f "${PW_TMPFS_PATH}/vulkaninfo.tmp" ]] ; then
VULKAN_DRIVER_NAME="$(grep -e 'driverName' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | awk '{print$3}' | head -1)"
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
export VULKAN_DRIVER_NAME GET_GPU_NAMES
GET_GPU_NAMES=$(awk -F '=' '/deviceName/{print $2}' "${PW_TMPFS_PATH}/vulkaninfo.tmp" | sed '/llvm/d' | sort -u | sed 's/^ //' | paste -sd '!')
export GET_GPU_NAMES
fi
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}"
echo "##### Current variables #####" > "$PW_TMPFS_PATH/var.log"
for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" "VULKAN_DRIVER_NAME" \
for var in "WINEDIR" "WINEPREFIX" "WINEDLLOVERRIDES" "PATH_TO_GAME" "PW_WINE_USE" "PW_VULKAN_USE" \
"WINELOADER" "VKD3D_CONFIG" "PW_LD_LIBRARY_PATH" "PATH" "WINEESYNC" "WINEFSYNC" "WINEFSYNC_FUTEX2" \
"WINEDLLPATH" "WINE_CPU_TOPOLOGY" "PW_RUN_GAMESCOPE" "LD_LIBRARY_PATH" "PW_VK_ICD_FILENAMES" "PW_TASKSET_SLR"
do
@ -5543,7 +5667,6 @@ gui_edit_db () {
if [[ -n "${PW_AMD_VULKAN_USE}" ]] && \
[[ "${PW_AMD_VULKAN_USE}" != "disabled" ]] ; then
AMD_VULKAN_VAR="${PW_AMD_VULKAN_USE}"
export DISABLE_LAYER_AMD_SWITCHABLE_GRAPHICS_1=1
else
AMD_VULKAN_VAR="disabled"
fi
@ -6423,12 +6546,12 @@ gui_userconf () {
NEW_STEAM_BEHAVIOR="${translations[Enable]}"
fi
if [[ -n $PW_GPU_USE ]] \
&& [[ $PW_GPU_USE != "disabled" ]]
then
if [[ -n $PW_GPU_USE ]] && [[ $PW_GPU_USE != "disabled" ]] ; then
GPU_VAR="$PW_GPU_USE"
elif [[ -n $GET_GPU_NAMES ]] ; then
GPU_VAR="${GET_GPU_NAMES/!*/}"
else
GPU_VAR="disabled"
GPU_VAR="${translations[The graphics card does not support Vulkan]}"
fi
if [[ $PW_WINE_DPI_VALUE == "recommended" ]] ; then
@ -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 start gui to]}!${translations[When using PANED in the game start menu, additional buttons are located on one large page; if NOTEBOOK, then they are divided into several.]} :CB" "$(combobox_fix "$PW_GUI_START" "$NEW_START_GUI")" \
--field="${translations[Steam covers download]}!${translations[If downloading steam covers is enabled, they will be downloaded and created. (Disablement is provided in cases where their downloading is unavailable for some reason)]} :CB" "$(combobox_fix "$DOWNLOAD_STEAM_GRID" "$NEW_STEAM_BEHAVIOR")" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix --disabled "$GPU_VAR" "$GET_GPU_NAMES")" \
--field="${translations[Choose a graphics card to run the game]}!${translations[Select which video card will be used to run the game (used for all running games and programs in PortProton)]} :CB" "$(combobox_fix "$GPU_VAR" "$GET_GPU_NAMES")" \
--field="${translations[Force dpi]}!${translations[Here you can set forced dpi for applications wine]} :CB" "$(combobox_fix --disabled "$YAD_DPI_VAR" "${translations[Recommended value]}!80!96!120!144!168!192!216!240")" \
--field="${translations[Choice wine audio driver]}!${translations[Fixes sound popling if choice alsa]} :CB" "$(combobox_fix --disabled "$SOUND_DRIVER_VAR" "alsa!oss!pulse")" \
--field="${translations[Select PortProton theme]}!${translations[Allows you to select a theme for PortProton]} :CB" "$(combobox_fix "$GUI_THEME" "${translations[default]}!${translations[compact]}!${translations[classic]}")" \
@ -6523,6 +6646,7 @@ gui_userconf () {
gui_open_user_conf
;;
166)
unset PW_VULKAN_DRIVER_USE
IFS='%' read -r -a PW_ADD_SETTINGS_UC <"${PW_TMPFS_PATH}/tmp_yad_userconf_set_cb"
MIRROR="${PW_ADD_SETTINGS_UC[0]}"
if [[ $BRANCH != "${PW_ADD_SETTINGS_UC[1]}" ]] ; then
@ -6582,6 +6706,7 @@ gui_userconf () {
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"
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 \
GUI_THEME GTK_THEME DESKTOP_WITH_TIME SORT_WITH_TIME
@ -7026,9 +7151,9 @@ pw_prefix_manager () {
--tab="${translations[SETTINGS]}!$PW_GUI_ICON_PATH/$TAB_SIZE.png!" 2>/dev/null
YAD_STATUS="$?"
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
try_remove_file "${PW_TMPFS_PATH}/fonts_list_tmp"
try_remove_file "${PW_TMPFS_PATH}/settings_list_tmp"
try_remove_file "${PW_TMPFS_PATH}/dll_list_tmp"
try_remove_file "${PW_TMPFS_PATH}/fonts_list_tmp"
try_remove_file "${PW_TMPFS_PATH}/settings_list_tmp"
case "$YAD_STATUS" in
0)
@ -7071,11 +7196,6 @@ portwine_start_debug () {
pw_skip_get_info
kill_portwine
export PW_LOG=1
if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
pw_notify_send -i warning \
"${translations[Attention working version of vulkan not detected!]}" \
"${translations[It is recommended to run games in OpenGL (low performance possible)!]}"
fi
echo "${translations[PortProton was launched in creation mode PortProton.log and it is successfully stored in the root directory of the port]}" > "${PORT_WINE_PATH}/PortProton.log"
echo "${translations[To diagnose the problem, copy ALL of the log to:]} https://linux-gaming.ru/t/opisanie-kategorii-portproton-pomoshh/1642" >> "${PORT_WINE_PATH}/PortProton.log"
echo "-------------------------------------------------------------" >> "${PORT_WINE_PATH}/PortProton.log"
@ -7416,6 +7536,7 @@ gui_open_user_conf () {
restart_pp --userconf
;;
2)
unset PW_VULKAN_DRIVER_USE
echo "${PW_USERCONF_GUI}" > "${PORT_WINE_PATH}/data/user.conf"
print_info "Restarting..."
restart_pp --userconf

View File

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

View File

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