fixed DLSS and OPTISCALER for nvidia

This commit is contained in:
Mikhail Tergoev
2025-07-22 13:07:56 +03:00
parent db9b634405
commit b09d0e6c95

View File

@ -3445,15 +3445,9 @@ start_portwine () {
-e /'d3d9.countLosableResources =/c # d3d9.countLosableResources =' \ -e /'d3d9.countLosableResources =/c # d3d9.countLosableResources =' \
"${DXVK_CONFIG_FILE}" "${DXVK_CONFIG_FILE}"
unset WINE_HIDE_NVIDIA_GPU WINE_HIDE_AMD_GPU WINEHAGS export WINE_HIDE_NVIDIA_GPU="0"
unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS export WINE_HIDE_AMD_GPU="0"
;; unset DXVK_NVAPI_DRIVER_VERSION DXVK_NVAPI_ALLOW_OTHER_DRIVERS WINEHAGS
nvidia_old)
sed -i \
-e /'dxgi.customDeviceId =/c dxgi.customDeviceId = 222F' \
-e /'dxgi.customVendorId =/c dxgi.customVendorId = 10de' \
"${DXVK_CONFIG_FILE}"
;; ;;
nvidia_new) nvidia_new)
@ -3470,6 +3464,8 @@ start_portwine () {
export DXVK_NVAPI_DRIVER_VERSION="99999" export DXVK_NVAPI_DRIVER_VERSION="99999"
export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1" export DXVK_NVAPI_ALLOW_OTHER_DRIVERS="1"
export WINEHAGS="1" export WINEHAGS="1"
export PW_USE_NVAPI_AND_DLSS="1"
export PW_USE_RAY_TRACING="1"
;; ;;
low_latency) low_latency)
@ -3496,6 +3492,10 @@ start_portwine () {
PATH_TO_GAME=$(dirname "$ue_exe_path") PATH_TO_GAME=$(dirname "$ue_exe_path")
fi 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 # remove old decky_framegen files
if [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then 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 \ for dll in amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll \
@ -3541,8 +3541,8 @@ start_portwine () {
fi fi
export PW_WINE_FULLSCREEN_FSR="0" 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" check_variables OPTISCALER_FG_TYPE "Nukems"
sed -i "s|FGType =.*|FGType = $OPTISCALER_FG_TYPE|g" "$OPTISCALER_PATH/OptiScaler.ini" 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" then try_copy_file "$OPTISCALER_PATH/$dll" "$PATH_TO_GAME/$dll"
fi fi
done done
fi
for rm_dll in "nvngx.ini" "nvngx.dll" "_nvngx.dll" ; do if [[ "${PW_USE_NVAPI_AND_DLSS}" == "1" ]] ; then
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/$rm_dll"
done
elif [[ "${PW_USE_NVAPI_AND_DLSS}" == 1 ]] ; then
DXVK_ENABLE_NVAPI="1"
try_remove_file "${WINEPREFIX}/drive_c/windows/system32/nvngx.ini" 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}'))" FIND_NVNGX="$(dirname $(find /usr/* -type f -name "nvngx.dll" 2>/dev/null | head -n 1 | awk '{print $1}'))"
if [[ -n "$FIND_NVNGX" ]] ; then 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"
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}" export NVIDIA_WINE_DLL_DIR="${FIND_NVNGX}"
fi fi
var_winedlloverride_update "nvngx,_nvngx=n"
else else
DXVK_ENABLE_NVAPI="0" export 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
fi fi
[[ "${PW_USE_LS_FRAME_GEN}" == "1" ]] && set_to_dxvk_conf low_latency [[ "${PW_USE_LS_FRAME_GEN}" == "1" ]] && set_to_dxvk_conf low_latency