added OptiScaler support and setings
This commit is contained in:
@ -3494,21 +3494,34 @@ start_portwine () {
|
|||||||
set_to_dxvk_conf default
|
set_to_dxvk_conf default
|
||||||
|
|
||||||
# NVAPI, DLSS AND FAKE DLSS
|
# NVAPI, DLSS AND FAKE DLSS
|
||||||
FAKE_DLSS_3_PATH="$PW_PLUGINS_PATH/fake_dlss/DeckyFramegen_$PW_FAKE_DLSS_3_VER/bin/"
|
|
||||||
FAKE_DLSS_3_FILES="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll d3dcompiler_47.dll dlss-enabler.dll
|
|
||||||
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll dxvk.conf
|
|
||||||
dlssg_to_fsr3.ini fakenvapi.ini libxess.dll nvapi64.dll _nvngx.dll nvngx.ini nvngx-wrapper.dll dxgi.dll"
|
|
||||||
ORIGINAL_GAME_DLLS="d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll"
|
|
||||||
|
|
||||||
if [[ -d "$PATH_TO_GAME/Engine" ]]; then
|
if [[ -d "$PATH_TO_GAME/Engine" ]]; then
|
||||||
ue_exe_path=$(find "$PATH_TO_GAME" -maxdepth 4 -mindepth 4 -path "*Binaries/Win64/*.exe" -not -path "*/Engine/*" | head -1)
|
ue_exe_path=$(find "$PATH_TO_GAME" -maxdepth 4 -mindepth 4 -path "*Binaries/Win64/*.exe" -not -path "*/Engine/*" | head -1)
|
||||||
PATH_TO_GAME=$(dirname "$ue_exe_path")
|
PATH_TO_GAME=$(dirname "$ue_exe_path")
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${PW_USE_FAKE_DLSS_3}" != "1" ]] \
|
# remove old decky_framegen files
|
||||||
&& [[ -f "$PATH_TO_GAME/dlss-enabler.dll" ]]
|
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 \
|
||||||
|
dlss-enabler-upscaler.dll dlssg_to_fsr3_amd_is_better-3.0.dll dlssg_to_fsr3_amd_is_better.dll \
|
||||||
|
dxvk.conf dlssg_to_fsr3.ini fakenvapi.ini libxess.dll nvapi64.dll _nvngx.dll nvngx.ini \
|
||||||
|
nvngx-wrapper.dll dxgi.dll
|
||||||
|
do try_remove_file "$PATH_TO_GAME/$dll"
|
||||||
|
done
|
||||||
|
for dll in d3dcompiler_47.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll _nvngx.dll
|
||||||
|
do [[ -f "$PATH_TO_GAME/${dll}.b" ]] && mv -f "$PATH_TO_GAME/${dll}.b" "$PATH_TO_GAME/${dll}" 2>/dev/null
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
|
||||||
|
# install/remove new optiscaler
|
||||||
|
FAKE_DLSS_3_PATH="$PW_PLUGINS_PATH/fake_dlss/optiscaler-$PW_FAKE_DLSS_3_VER"
|
||||||
|
FAKE_DLSS_3_FILES="dxgi.dll amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll \
|
||||||
|
libxess_dx11.dll dlssg_to_fsr3_amd_is_better.dll fakenvapi.ini \
|
||||||
|
OptiScaler.ini dxvk.conf"
|
||||||
|
ORIGINAL_GAME_DLLS="amd_fidelityfx_dx12.dll amd_fidelityfx_vk.dll libxess.dll nvapi64.dll"
|
||||||
|
|
||||||
|
if [[ "${PW_USE_OPTISCALER}" != "1" ]] \
|
||||||
|
&& [[ -f "$PATH_TO_GAME/dlssg_to_fsr3_amd_is_better.dll" ]]
|
||||||
then
|
then
|
||||||
try_remove_file "$PATH_TO_GAME/nvngx.dll"
|
|
||||||
for dll in $FAKE_DLSS_3_FILES ; do
|
for dll in $FAKE_DLSS_3_FILES ; do
|
||||||
try_remove_file "$PATH_TO_GAME/$dll"
|
try_remove_file "$PATH_TO_GAME/$dll"
|
||||||
done
|
done
|
||||||
@ -3519,14 +3532,14 @@ start_portwine () {
|
|||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${PW_USE_FAKE_DLSS_3}" == "1" ]] ; then
|
if [[ "${PW_USE_OPTISCALER}" == "1" ]] ; then
|
||||||
if [[ ! -d "$FAKE_DLSS_3_PATH" ]] ; then
|
if [[ ! -d "$FAKE_DLSS_3_PATH" ]] ; then
|
||||||
if try_download "github.com/Castro-Fidel/vulkan/releases/download/DeckyFramegen_${PW_FAKE_DLSS_3_VER}/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" \
|
if try_download "github.com/Castro-Fidel/vulkan/releases/download/optiscaler-$PW_FAKE_DLSS_3_VER/optiscaler-$PW_FAKE_DLSS_3_VER.tar.xz" \
|
||||||
"${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" ; then
|
"${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_FAKE_DLSS_3_VER.tar.xz" ; then
|
||||||
if ! unpack "${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz" "$PW_PLUGINS_PATH/fake_dlss/"
|
if ! unpack "${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_FAKE_DLSS_3_VER.tar.xz" "$PW_PLUGINS_PATH/fake_dlss/"
|
||||||
then try_remove_dir "$FAKE_DLSS_3_PATH"
|
then try_remove_dir "$FAKE_DLSS_3_PATH"
|
||||||
fi
|
fi
|
||||||
try_remove_file "${PORT_WINE_PATH}/data/tmp/DeckyFramegen_${PW_FAKE_DLSS_3_VER}.tar.xz"
|
try_remove_file "${PORT_WINE_PATH}/data/tmp/optiscaler-$PW_FAKE_DLSS_3_VER.tar.xz"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -3534,7 +3547,7 @@ start_portwine () {
|
|||||||
export DXVK_ENABLE_NVAPI="1"
|
export DXVK_ENABLE_NVAPI="1"
|
||||||
export PW_USE_RAY_TRACING="1"
|
export PW_USE_RAY_TRACING="1"
|
||||||
|
|
||||||
if [[ ! -f "$PATH_TO_GAME/dlss-enabler.dll" ]] ; then
|
if [[ ! -f "$PATH_TO_GAME/dlssg_to_fsr3_amd_is_better.dll" ]] ; then
|
||||||
if [[ -f "$PATH_TO_GAME/dxgi.dll" ]] ; then
|
if [[ -f "$PATH_TO_GAME/dxgi.dll" ]] ; then
|
||||||
yad_error 'dxgi.dll is already present in the game folder!\nThis script uses dxgi.dll to load required files.\nRemove the mod using dxgi.dll.'
|
yad_error 'dxgi.dll is already present in the game folder!\nThis script uses dxgi.dll to load required files.\nRemove the mod using dxgi.dll.'
|
||||||
fatal "Force exit..."
|
fatal "Force exit..."
|
||||||
@ -4132,7 +4145,7 @@ fi
|
|||||||
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
|
try_force_link_file "${PATH_TO_DXVK_FILES}/x32/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/syswow64/${wine_dxvk_dll}.dll"
|
||||||
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
|
try_force_link_file "${PATH_TO_DXVK_FILES}/x64/${wine_dxvk_dll}.dll" "${WINEPREFIX}/drive_c/windows/system32/${wine_dxvk_dll}.dll" ;;
|
||||||
esac
|
esac
|
||||||
if [[ $PW_USE_FAKE_DLSS_3 == "1" ]] && [[ $wine_dxvk_dll == "dxgi" ]]
|
if [[ $PW_USE_OPTISCALER == "1" ]] && [[ $wine_dxvk_dll == "dxgi" ]]
|
||||||
then var_winedlloverride_update "dxgi=n,b"
|
then var_winedlloverride_update "dxgi=n,b"
|
||||||
else var_winedlloverride_update "${wine_dxvk_dll}=n"
|
else var_winedlloverride_update "${wine_dxvk_dll}=n"
|
||||||
fi
|
fi
|
||||||
@ -5376,7 +5389,7 @@ export -f gui_proton_downloader
|
|||||||
gui_edit_db () {
|
gui_edit_db () {
|
||||||
KEY_EDIT_DB_GUI=$RANDOM
|
KEY_EDIT_DB_GUI=$RANDOM
|
||||||
PW_EDIT_DB_LIST=(PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2 PW_GAMESCOPE
|
PW_EDIT_DB_LIST=(PW_MANGOHUD PW_MANGOHUD_USER_CONF PW_VKBASALT PW_VKBASALT_USER_CONF PW_DGVOODOO2 PW_GAMESCOPE
|
||||||
PW_NO_ESYNC PW_NO_FSYNC PW_NO_NTSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_FAKE_DLSS_3
|
PW_NO_ESYNC PW_NO_FSYNC PW_NO_NTSYNC PW_USE_RAY_TRACING PW_USE_NVAPI_AND_DLSS PW_USE_FAKE_DLSS PW_USE_OPTISCALER
|
||||||
PW_USE_LS_FRAME_GEN PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS
|
PW_USE_LS_FRAME_GEN PW_WINE_FULLSCREEN_FSR PW_HIDE_NVIDIA_GPU PW_VIRTUAL_DESKTOP PW_USE_TERMINAL PW_GUI_DISABLED_CS
|
||||||
PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
|
PW_USE_GAMEMODE PW_USE_D3D_EXTRAS PW_FIX_VIDEO_IN_GAME PW_REDUCE_PULSE_LATENCY PW_USE_US_LAYOUT PW_USE_GSTREAMER
|
||||||
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
|
PW_USE_SHADER_CACHE PW_USE_WINE_DXGI PW_USE_EAC_AND_BE PW_USE_SYSTEM_VK_LAYERS PW_USE_OBS_VKCAPTURE
|
||||||
@ -5409,7 +5422,7 @@ gui_edit_db () {
|
|||||||
PW_USE_RAY_TRACING_INFO=${translations[Enable vkd3d support - Ray Tracing]}
|
PW_USE_RAY_TRACING_INFO=${translations[Enable vkd3d support - Ray Tracing]}
|
||||||
PW_USE_NVAPI_AND_DLSS_INFO=${translations[Enable DLSS on supported NVIDIA graphics cards]}
|
PW_USE_NVAPI_AND_DLSS_INFO=${translations[Enable DLSS on supported NVIDIA graphics cards]}
|
||||||
PW_USE_FAKE_DLSS_INFO=${translations[Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)]}
|
PW_USE_FAKE_DLSS_INFO=${translations[Enable DLSS translator in FSR 2 in DirectX 12 games (CyberFSR2)]}
|
||||||
PW_USE_FAKE_DLSS_3_INFO=${translations[Enable DLSS 3 with FG translator in FSR 3 in DirectX 12 games (based on Decky-Framegen) Do not use in multiplayer games]}
|
PW_USE_OPTISCALER_INFO=${translations[Enable OptiScaler. It is a tool that lets you replace upscalers in games that already support DLSS2+ / FSR2+ / XeSS, now also supports enabling frame generation in those same games (through Nukem dlssg-to-fsr3 or OptiFG)]}
|
||||||
PW_USE_LS_FRAME_GEN_INFO=${translations[Enable Lossless Scaling frame generation (experemental)]}
|
PW_USE_LS_FRAME_GEN_INFO=${translations[Enable Lossless Scaling frame generation (experemental)]}
|
||||||
PW_WINE_FULLSCREEN_FSR_INFO=${translations[Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen]}
|
PW_WINE_FULLSCREEN_FSR_INFO=${translations[Works while using any version of ProtonGE in full screen mode at a resolution below the standard screen]}
|
||||||
PW_HIDE_NVIDIA_GPU_INFO=${translations[Disguise all features used for NVIDIA graphics cards]}
|
PW_HIDE_NVIDIA_GPU_INFO=${translations[Disguise all features used for NVIDIA graphics cards]}
|
||||||
|
@ -48,7 +48,7 @@ export WINEUSERNAME="steamuser"
|
|||||||
export PW_WINE_USE="PROTON_LG"
|
export PW_WINE_USE="PROTON_LG"
|
||||||
export PW_PLUGINS_VER="_v20"
|
export PW_PLUGINS_VER="_v20"
|
||||||
export PW_FAKE_DLSS_VER="230506"
|
export PW_FAKE_DLSS_VER="230506"
|
||||||
export PW_FAKE_DLSS_3_VER="0.9.1-plus"
|
export PW_FAKE_DLSS_3_VER="v1"
|
||||||
export PW_GALLIUM_NINE_VER="0.10"
|
export PW_GALLIUM_NINE_VER="0.10"
|
||||||
export PW_LSFG_VK_VER="3.1-cebe5e2"
|
export PW_LSFG_VK_VER="3.1-cebe5e2"
|
||||||
###WINE_AND_PROTON_LG###
|
###WINE_AND_PROTON_LG###
|
||||||
|
Reference in New Issue
Block a user