From 3b7656e2e4248955121e2cd4838a0e860d01dbce Mon Sep 17 00:00:00 2001
From: Boria138 <boriabloger@protonmail.com>
Date: Tue, 12 Dec 2023 15:33:23 +0600
Subject: [PATCH 1/2] Added vulkan driver check

---
 data_from_portwine/scripts/runlib      | 5 +++--
 data_from_portwine/scripts/start.sh    | 5 +++++
 data_from_portwine/scripts/zen_yad_gui | 2 +-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index 7e2c5938..d37a7636 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -120,8 +120,8 @@ start_portwine () {
             export INTEL_DEBUG=norbc
         fi
         if [[ "${PW_GPU_USE}" != "disabled" ]] ; then
-            PW_vendorID="$(vulkaninfo 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep vendorID | awk -F'0x' '{print $2}')"
-            PW_deviceID="$(vulkaninfo 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep deviceID | awk -F'0x' '{print $2}')"
+            PW_vendorID="$(vulkaninfo --summary 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep vendorID | awk -F'0x' '{print $2}')"
+            PW_deviceID="$(vulkaninfo --summary 2>/dev/null | grep -B3 "${PW_GPU_USE}" | grep deviceID | awk -F'0x' '{print $2}')"
             PW_ID_VIDEO="--prefer-vk-device ${PW_vendorID}:${PW_deviceID}"
         else
             unset PW_ID_VIDEO
@@ -774,6 +774,7 @@ export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN"
 create_new_dir "${PW_VULKAN_DIR}"
 
 export VULKAN_API_DRIVER_VERSION="$(vulkaninfo 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')"
+export VULKAN_DRIVER_NAME="$(vulkaninfo --summary 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
 export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')"
 
 cd "${PORT_SCRIPTS_PATH}"
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index 5cca226e..c0b8ec72 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -28,6 +28,11 @@ if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/che
     echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland"
 fi
 
+if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" =~ "llvmpipe" ]] || [[ ! -f "${PORT_WINE_TMP_PATH}/check_vulkan" ]] ; then
+	zenity_info "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!"
+	echo "1" > "${PORT_WINE_TMP_PATH}/check_vulkan"
+fi
+
 if [[ -f "${PORT_WINE_TMP_PATH}/tmp_main_gui_size" ]] && [[ ! -z "$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size)" ]] ; then
     export PW_MAIN_SIZE_W="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $1}')"
     export PW_MAIN_SIZE_H="$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size | awk '{print $2}')"
diff --git a/data_from_portwine/scripts/zen_yad_gui b/data_from_portwine/scripts/zen_yad_gui
index 9d951702..7def5245 100755
--- a/data_from_portwine/scripts/zen_yad_gui
+++ b/data_from_portwine/scripts/zen_yad_gui
@@ -170,7 +170,7 @@ pw_gui_for_edit_db () {
         GPU_VAR="disabled"
     fi
 
-    GET_GPU_NAMES=$(vulkaninfo 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
+    GET_GPU_NAMES=$(vulkaninfo --summary 2>/dev/null | awk -F '=' '/deviceName/{print $2}' | sed '/llvm/d'| sort -u | sed 's/^ //' | paste -sd '!')
 
     GET_REFRASH_RATE="30!45!60!75!120!144!165!240"
 

From 996fbfdd459f39c0548b9adc05dece906a442614 Mon Sep 17 00:00:00 2001
From: Boria138 <boriabloger@protonmail.com>
Date: Tue, 12 Dec 2023 21:49:41 +0600
Subject: [PATCH 2/2] minor fix

---
 data_from_portwine/scripts/runlib   |  2 +-
 data_from_portwine/scripts/start.sh | 11 +++++------
 2 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index d37a7636..9ad6f1f4 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -773,7 +773,7 @@ create_new_dir "${PORT_WINE_TMP_PATH}"/mono
 export PW_VULKAN_DIR="${PORT_WINE_TMP_PATH}/VULKAN"
 create_new_dir "${PW_VULKAN_DIR}"
 
-export VULKAN_API_DRIVER_VERSION="$(vulkaninfo 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')"
+export VULKAN_API_DRIVER_VERSION="$(vulkaninfo --summary 2>/dev/null | grep "api" | head -n 1 | awk '{print $3}')"
 export VULKAN_DRIVER_NAME="$(vulkaninfo --summary 2>/dev/null | grep driverName | awk '{print$3}' | head -1)"
 export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')"
 
diff --git a/data_from_portwine/scripts/start.sh b/data_from_portwine/scripts/start.sh
index c0b8ec72..b8de7894 100755
--- a/data_from_portwine/scripts/start.sh
+++ b/data_from_portwine/scripts/start.sh
@@ -28,9 +28,8 @@ if [[ "${XDG_SESSION_TYPE}" = "wayland" ]] && [[ ! -f "${PORT_WINE_TMP_PATH}/che
     echo "1" > "${PORT_WINE_TMP_PATH}/check_wayland"
 fi
 
-if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" =~ "llvmpipe" ]] || [[ ! -f "${PORT_WINE_TMP_PATH}/check_vulkan" ]] ; then
+if [[ -z "$VULKAN_DRIVER_NAME" ]] || [[ "$VULKAN_DRIVER_NAME" == "llvmpipe" ]] ; then
 	zenity_info "Attention working version of vulkan not detected!\nIt is recommended to run games in OpenGL (low performance possible)!"
-	echo "1" > "${PORT_WINE_TMP_PATH}/check_vulkan"
 fi
 
 if [[ -f "${PORT_WINE_TMP_PATH}/tmp_main_gui_size" ]] && [[ ! -z "$(cat ${PORT_WINE_TMP_PATH}/tmp_main_gui_size)" ]] ; then
@@ -563,10 +562,10 @@ do
     export DIST_ADD_TO_GUI="${DIST_ADD_TO_GUI}!${DAIG}"
 done
 
-if [[ $VULKAN_API_DRIVER_VERSION == 1.[1-2].* ]]
-then check_variables PW_VULKAN_USE "1"
-else check_variables PW_VULKAN_USE "2"
-fi
+# if [[ $VULKAN_API_DRIVER_VERSION == 1.[1-2].* ]]
+# then check_variables PW_VULKAN_USE "1"
+# else check_variables PW_VULKAN_USE "2"
+# fi
 check_nvidia_rtx && check_variables PW_VULKAN_USE "2"
 
 case "${PW_VULKAN_USE}" in