From b09d0e6c95ede53eecd8fc4031fc88a4d588fa80 Mon Sep 17 00:00:00 2001 From: Mikhail Tergoev Date: Tue, 22 Jul 2025 13:07:56 +0300 Subject: [PATCH] fixed DLSS and OPTISCALER for nvidia --- data_from_portwine/scripts/functions_helper | 36 +++++++++------------ 1 file changed, 15 insertions(+), 21 deletions(-) diff --git a/data_from_portwine/scripts/functions_helper b/data_from_portwine/scripts/functions_helper index 9cc7b16c..6d850e7f 100755 --- a/data_from_portwine/scripts/functions_helper +++ b/data_from_portwine/scripts/functions_helper @@ -3445,15 +3445,9 @@ start_portwine () { -e /'d3d9.countLosableResources =/c # d3d9.countLosableResources =' \ "${DXVK_CONFIG_FILE}" - unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU WINEHAGS - unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS - ;; - - nvidia_old) - sed -i \ - -e /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' \ - -e /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' \ - "${DXVK_CONFIG_FILE}" + export WINE_HIDE_NVIDIA_GPU="0" + export WINE_HIDE_AMD_GPU="0" + unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS WINEHAGS ;; nvidia_new) @@ -3470,6 +3464,8 @@ start_portwine () { export DXVK_NVAPI_DRIVER_VERSION="99999" export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1" export WINEHAGS="1" + export PW_USE_NVAPI_AND_DLSS="1" + export PW_USE_RAY_TRACING="1" ;; low_latency) @@ -3496,6 +3492,10 @@ start_portwine () { PATH_TO_GAME=$(dirname "$ue_exe_path") fi + for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do + try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll" + done + # remove old decky_framegen files if [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then for dll in amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll \ @@ -3541,8 +3541,8 @@ start_portwine () { fi export PW_WINE_FULLSCREEN_FSR="0" - export DXVK_ENABLE_NVAPI="1" - export PW_USE_RAY_TRACING="1" + + set_to_dxvk_conf nvidia_new check_variables OPTISCALER_FG_TYPE "Nukems" sed -i "s|FGType =.*|FGType = $OPTISCALER_FG_TYPE|g" "$OPTISCALER_PATH/OptiScaler.ini" @@ -3567,25 +3567,19 @@ start_portwine () { then try_copy_file "$OPTISCALER_PATH/$dll" "$PATH_TO_GAME/$dll" fi done + fi - for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do - try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll" - done - elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then - DXVK_ENABLE_NVAPI="1" + if [[ "${PW_USE_NVAPI_AND_DLSS}" == "1" ]] ; then try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini" FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))" if [[ -n "$FIND_NVNGX" ]] ; then try_copy_file_with_checksums "${FIND_NVNGX}/nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/nvngx.dll" try_copy_file_with_checksums "${FIND_NVNGX}/_nvngx.dll" "${WINEPREFIX}/drive_c/windows/system32/_nvngx.dll" + var_winedlloverride_update "nvngx,_nvngx=n" export NVIDIA_WINE_DLL_DIR="${FIND_NVNGX}" fi - var_winedlloverride_update "nvngx,_nvngx=n" else - DXVK_ENABLE_NVAPI="0" - for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do - try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll" - done + export DXVK_ENABLE_NVAPI="0" fi [[ "${PW_USE_LS_FRAME_GEN}" == "1" ]] && set_to_dxvk_conf low_latency