From 8af6fbb0ae6895aeba2b494b441b1e72a8fee42b Mon Sep 17 00:00:00 2001
From: Mikhail Tergoev <fidel@altlinux.org>
Date: Thu, 2 Nov 2023 19:44:10 +0300
Subject: [PATCH] Scripts version 2228

---
 data_from_portwine/changelog_eng                 |  4 ++++
 data_from_portwine/changelog_rus                 |  4 ++++
 data_from_portwine/scripts/functions_helper      |  4 ++--
 .../scripts/pw_autoinstall/PW_ROBLOX             |  4 ++--
 data_from_portwine/scripts/runlib                | 16 ++++++++++++----
 data_from_portwine/scripts/var                   |  2 +-
 6 files changed, 25 insertions(+), 9 deletions(-)

diff --git a/data_from_portwine/changelog_eng b/data_from_portwine/changelog_eng
index f19c3f8..bfd56d9 100755
--- a/data_from_portwine/changelog_eng
+++ b/data_from_portwine/changelog_eng
@@ -2,6 +2,10 @@ You can help us in the development of the project on the website: https://linux-
 ----------------------------------------
 Changelog:
 
+###Scripts version 2228### Date: 02.10.2023 / Download update size: 8 megabytes
+* improved definition of RTX series graphics cards
+* fixed hybrid graphics on some laptop configurations (but not yet on all)
+
 ###Scripts version 2227### Date: 22.10.2023 / Download update size: 520 megabytes
 * updated PROTON_LG to version 8-20 (LGC and WGC no longer require a separate version of WINE)
 * updated WINE_LG to version 8-18 (improved operation of vkPlay games: fixed videos in Atomic Heart TVs, the game Kuzhlevka works)
diff --git a/data_from_portwine/changelog_rus b/data_from_portwine/changelog_rus
index e8f64d3..c2dcfd5 100755
--- a/data_from_portwine/changelog_rus
+++ b/data_from_portwine/changelog_rus
@@ -2,6 +2,10 @@
 -----------------------------------------
 История изменений:
 
+###Scripts version 2228### Дата: 02.10.2023 / Размер скачиваемого обновления: 8 мегабайт
+* улучшено определение видеокарт серии RTX
+* исправлена работа гибридной графики на некоторых конфигурациях ноутбуков (но еще не на всех)
+
 ###Scripts version 2227### Дата: 22.10.2023 / Размер скачиваемого обновления: 520 мегабайт
 * обновлен PROTON_LG до версии 8-20 (LGC и WGC более не требуют отдельной версии WINE)
 * обновлен WINE_LG до версии 8-18 (улучшена работа игр vkPlay: исправлены видео в телевизорах Atomic Heart, работает игра Кужлёвка)
diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper
index 1ba9aa5..223225d 100755
--- a/data_from_portwine/scripts/functions_helper
+++ b/data_from_portwine/scripts/functions_helper
@@ -825,7 +825,7 @@ pw_check_and_download_plugins () {
 }
 
 check_nvidia_rtx () {
-    if echo "$LSPCI_VGA" | grep -i "nvidia" &>/dev/null ; then
+    if [[ ! -z $(echo "$LSPCI_VGA" | grep -i "nvidia") ]]; then
         # Turing (without nvidia 16XX)
         [[ "$LSPCI_VGA" == *TU[0-9]* ]] && [[ "$LSPCI_VGA" != *TU11[6-7]* ]] && return 0
         # Ampere
@@ -837,7 +837,7 @@ check_nvidia_rtx () {
 }
 
 check_hybrid_graphicks () {
-    if echo "$LSPCI_VGA" | grep -i nvidia | grep -i -E '(intel|amd)' &>/dev/null
+    if [[ ! -z "$(echo "$LSPCI_VGA" | grep -i nvidia | grep -i -E '(intel|amd)')" ]]
     then return 0
     else return 1
     fi
diff --git a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX b/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX
index 68ef969..b51e13c 100755
--- a/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX
+++ b/data_from_portwine/scripts/pw_autoinstall/PW_ROBLOX
@@ -13,10 +13,10 @@ start_portwine
 if try_download "https://setup.rbxcdn.com/RobloxPlayerLauncher.exe" "${PW_AUTOINSTALL_EXE}"
 then
     pw_run "${PW_AUTOINSTALL_EXE}"
-    portwine_exe="$(find "$WINEPREFIX/drive_c/" -type f -name "RobloxPlayerBeta.exe")"
+    portwine_exe="$(find "$WINEPREFIX/drive_c/Program Files (x86)/Roblox/" -type f -name "RobloxPlayerBeta.exe" | head -n 1)"
     try_remove_file "${portwine_exe}.ppdb"
     pw_stop_progress_bar
-    # export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
+    export PORTWINE_CREATE_SHORTCUT_NAME="RobloxPlayerBeta"
     portwine_create_shortcut
 fi
 stop_portwine
diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib
index 0fceff9..28a92cf 100755
--- a/data_from_portwine/scripts/runlib
+++ b/data_from_portwine/scripts/runlib
@@ -159,9 +159,17 @@ start_portwine () {
     fi
 
     if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then
-        export __NV_PRIME_RENDER_OFFLOAD=1
-        export __GLX_VENDOR_LIBRARY_NAME=nvidia
-        export __VK_LAYER_NV_optimus=NVIDIA_only
+        if [[ ! -z $(command -v glxinfo) ]] \
+        && [[ ! -z $(glxinfo -B | grep "OpenGL renderer" | grep -i "nvidia") ]]
+        then
+            print_debug "Nvidia used by default. Force disabled PRIME_RENDER_OFFLOAD"
+            export __NV_PRIME_RENDER_OFFLOAD=0
+            unset __GLX_VENDOR_LIBRARY_NAME __VK_LAYER_NV_optimus
+        else
+            export __NV_PRIME_RENDER_OFFLOAD=1
+            export __GLX_VENDOR_LIBRARY_NAME=nvidia
+            export __VK_LAYER_NV_optimus=NVIDIA_only
+        fi
     fi
 
     if [[ "${PW_HEAP_DELAY_FREE}" == 1 ]]
@@ -709,7 +717,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 LSPCI_VGA="$(lspci -k | grep VGA | tr -d '\n')"
+export LSPCI_VGA="$(lspci -k | grep -E 'VGA|3D' | tr -d '\n')"
 
 cd "${PORT_SCRIPTS_PATH}"
 . "${PORT_SCRIPTS_PATH}/var"
diff --git a/data_from_portwine/scripts/var b/data_from_portwine/scripts/var
index 957e130..913059b 100755
--- a/data_from_portwine/scripts/var
+++ b/data_from_portwine/scripts/var
@@ -1,6 +1,6 @@
 #!/usr/bin/env bash
 #Author: Castro-Fidel (linux-gaming.ru)
-#SCRIPTS_NEXT_VERSION=2227
+#SCRIPTS_NEXT_VERSION=2228
 ########################################################################
 export PW_MANGOHUD=0
 export MANGOHUD_CONFIG=cpu_stats,cpu_temp,cpu_mhz,cpu_color=2e97cb,cpu_text=CPU,gpu_stats,gpu_temp,gpu_core_clock,gpu_mem_clock,vulkan_driver,gpu_name,gpu_color=2e9762,gpu_text=GPU,vram,vram_color=ad64c1,ram,ram_color=c26693,io_color=a491d3,frame_timing=1,frametime_color=00ff00,time,arch,wine,wine_color=eb5b5b,engine_color=eb5b5b,background_alpha=0.2,font_size=24,background_color=020202,text_color=ffffff,toggle_hud=Shift_R+F12,resolution,vkbasalt
-- 
2.24.1