From 42b5885ba2bf68d0b0a7a3fcddfce0eccaeadf11 Mon Sep 17 00:00:00 2001 From: Boria138 <boriabloger@protonmail.com> Date: Fri, 1 Sep 2023 13:08:49 +0600 Subject: [PATCH] Update PRIME Render Offload Added Finer-Grained Control of PRIME Render Offload on Vulkan applications Added automatic activation of PRIME Render Offload when hybrid graphics are detected --- data_from_portwine/scripts/functions_helper | 11 ++++++++++- data_from_portwine/scripts/runlib | 1 + 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index e4cb5d83..2237c7b4 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -791,8 +791,9 @@ pw_check_and_download_plugins () { return 0 } +lspci_output=$(lspci | grep VGA) + nvidia_check_rtx () { - lspci_output=$(lspci | grep VGA) if echo "$lspci_output" | grep -i "nvidia" ; then # Turing (without nvidia 16XX) nv_arch=$(echo "$lspci_output" | sed -rn 's/.*(TU[0-9]*).*/\1/p') @@ -807,6 +808,14 @@ nvidia_check_rtx () { return 1 } +# Hybrid graphics (Intel + NVIDIA) +if echo "$lspci_output" | grep -i "intel" && echo "$lspci_output" | grep -i "nvidia"; then + export PW_PRIME_RENDER_OFFLOAD=1 +# Hybrid graphics (AMD + NVIDIA) +elif echo "$lspci_output" | grep -i "amd" && echo "$lspci_output" | grep -i "nvidia"; then + export PW_PRIME_RENDER_OFFLOAD=1 +fi + pw_init_db () { if [[ ! -z "${portwine_exe}" ]] ; then try_remove_file "${PORT_SCRIPTS_PATH}/portwine_db/setup" diff --git a/data_from_portwine/scripts/runlib b/data_from_portwine/scripts/runlib index 437867f1..81f15b97 100755 --- a/data_from_portwine/scripts/runlib +++ b/data_from_portwine/scripts/runlib @@ -171,6 +171,7 @@ start_portwine () { if [[ "${PW_PRIME_RENDER_OFFLOAD}" == 1 ]] ; then export __NV_PRIME_RENDER_OFFLOAD=1 + export __VK_LAYER_NV_optimus=NVIDIA_only export __GLX_VENDOR_LIBRARY_NAME=nvidia fi