diff options
| author | Kurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com> | 2026-06-22 21:00:27 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-22 21:00:27 -0400 |
| commit | dc4610dabb0a70783d4b9e9832578ddde757a850 (patch) | |
| tree | 93184230279f02c3cb2165a6d6f27520de2ef25b /defaults/assets | |
| parent | ca74bc1dcf2a782d6937810858b5d64e3e3d2917 (diff) | |
| parent | 22c9e8e194bfd127a7da9e96be5ccb47e997aa63 (diff) | |
| download | Decky-Framegen-0.15.8-pre.tar.gz Decky-Framegen-0.15.8-pre.zip | |
Merge pull request #199 from xXJSONDeruloXx/chore/opti-0.9.3-upgradeHEADv0.15.8-prev0.15.7main
feat: add OptiScaler 0.9.3 FSR4 variants
Diffstat (limited to 'defaults/assets')
| -rwxr-xr-x | defaults/assets/fgmod-uninstaller.sh | 5 | ||||
| -rwxr-xr-x | defaults/assets/fgmod.sh | 32 |
2 files changed, 31 insertions, 6 deletions
diff --git a/defaults/assets/fgmod-uninstaller.sh b/defaults/assets/fgmod-uninstaller.sh index 3d59eda..0609473 100755 --- a/defaults/assets/fgmod-uninstaller.sh +++ b/defaults/assets/fgmod-uninstaller.sh @@ -115,7 +115,7 @@ rm -f "nvapi64.dll" "fakenvapi.ini" "fakenvapi.log" # === Remove Supporting Libraries === echo " Removing supporting libraries..." -rm -f "nvngx.dll" "nvngx.ini" +rm -f "nvngx.dll" "nvngx.ini" "amdxcffx64.dll" # Only remove files if backups exist (to avoid removing restored originals) [[ -f "libxess.dll.b" ]] && rm -f "libxess.dll" [[ -f "libxess_dx11.dll.b" ]] && rm -f "libxess_dx11.dll" @@ -124,6 +124,7 @@ rm -f "nvngx.dll" "nvngx.ini" [[ -f "amd_fidelityfx_dx12.dll.b" ]] && rm -f "amd_fidelityfx_dx12.dll" [[ -f "amd_fidelityfx_framegeneration_dx12.dll.b" ]] && rm -f "amd_fidelityfx_framegeneration_dx12.dll" [[ -f "amd_fidelityfx_upscaler_dx12.dll.b" ]] && rm -f "amd_fidelityfx_upscaler_dx12.dll" +[[ -f "amdxcffx64.dll.b" ]] && rm -f "amdxcffx64.dll" [[ -f "amd_fidelityfx_vk.dll.b" ]] && rm -f "amd_fidelityfx_vk.dll" # === Remove FG Mod Files === @@ -150,7 +151,7 @@ rm -f "dlssg_to_fsr3_amd_is_better-3.0.dll" # === Restore Original DLLs === echo " Restoring original DLLs..." -restorable_dlls=("dxgi.dll" "winmm.dll" "dbghelp.dll" "version.dll" "wininet.dll" "winhttp.dll" "OptiScaler.asi" "d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll" "libxess.dll" "libxess_dx11.dll" "libxess_fg.dll" "libxell.dll") +restorable_dlls=("dxgi.dll" "winmm.dll" "dbghelp.dll" "version.dll" "wininet.dll" "winhttp.dll" "OptiScaler.asi" "d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amdxcffx64.dll" "amd_fidelityfx_vk.dll" "libxess.dll" "libxess_dx11.dll" "libxess_fg.dll" "libxell.dll") for dll in "${restorable_dlls[@]}"; do if [[ -f "${dll}.b" ]]; then mv "${dll}.b" "$dll" diff --git a/defaults/assets/fgmod.sh b/defaults/assets/fgmod.sh index c7bc4f7..ba6d8ed 100755 --- a/defaults/assets/fgmod.sh +++ b/defaults/assets/fgmod.sh @@ -111,6 +111,7 @@ proxy_backup_files=( cleanup_files=( "${proxy_backup_files[@]}" "OptiScaler.dll" + "amdxcffx64.dll" "nvngx.dll" "_nvngx.dll" "nvngx-wrapper.dll" @@ -168,13 +169,22 @@ PY } selected_fsr4_variant="$(resolve_fsr4_variant)" +variant_dir="" +variant_extra_files=() case "$selected_fsr4_variant" in rdna4-native) - fsr4_upscaler_src="$fgmod_path/fsr4-rdna4/amd_fidelityfx_upscaler_dx12.dll" + variant_dir="$fgmod_path/fsr4-rdna4" + fsr4_upscaler_src="$variant_dir/amd_fidelityfx_upscaler_dx12.dll" + ;; + rdna34-official-411) + variant_dir="$fgmod_path/fsr4-rdna3-4-official-411" + fsr4_upscaler_src="$variant_dir/amd_fidelityfx_upscaler_dx12.dll" + variant_extra_files+=("amdxcffx64.dll") ;; *) selected_fsr4_variant="rdna23-int8" - fsr4_upscaler_src="$fgmod_path/fsr4-rdna2-3/amd_fidelityfx_upscaler_dx12.dll" + variant_dir="$fgmod_path/fsr4-rdna2-3" + fsr4_upscaler_src="$variant_dir/amd_fidelityfx_upscaler_dx12.dll" ;; esac [[ -f "$fsr4_upscaler_src" ]] || fsr4_upscaler_src="$fgmod_path/amd_fidelityfx_upscaler_dx12.dll" @@ -189,7 +199,16 @@ is_managed_support_file() { for candidate in \ "$fgmod_path/amd_fidelityfx_upscaler_dx12.dll" \ "$fgmod_path/fsr4-rdna2-3/amd_fidelityfx_upscaler_dx12.dll" \ - "$fgmod_path/fsr4-rdna4/amd_fidelityfx_upscaler_dx12.dll"; do + "$fgmod_path/fsr4-rdna4/amd_fidelityfx_upscaler_dx12.dll" \ + "$fgmod_path/fsr4-rdna3-4-official-411/amd_fidelityfx_upscaler_dx12.dll"; do + [[ -f "$candidate" && -f "$existing_file" ]] && cmp -s "$existing_file" "$candidate" && return 0 + done + return 1 + fi + if [[ "$filename" == "amdxcffx64.dll" ]]; then + for candidate in \ + "$fgmod_path/amdxcffx64.dll" \ + "$fgmod_path/fsr4-rdna3-4-official-411/amdxcffx64.dll"; do [[ -f "$candidate" && -f "$existing_file" ]] && cmp -s "$existing_file" "$candidate" && return 0 done return 1 @@ -221,7 +240,7 @@ done unset cleanup_file # === Optional: Backup Original DLLs === -original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amd_fidelityfx_vk.dll") +original_dlls=("d3dcompiler_47.dll" "amd_fidelityfx_dx12.dll" "amd_fidelityfx_framegeneration_dx12.dll" "amd_fidelityfx_upscaler_dx12.dll" "amdxcffx64.dll" "amd_fidelityfx_vk.dll") for dll in "${original_dlls[@]}"; do existing_path="$exe_folder_path/$dll" backup_path="$exe_folder_path/$dll.b" @@ -315,6 +334,11 @@ cp -f "$fgmod_path/amd_fidelityfx_dx12.dll" "$exe_folder_path/" || true cp -f "$fgmod_path/amd_fidelityfx_framegeneration_dx12.dll" "$exe_folder_path/" || true cp -f "$fsr4_upscaler_src" "$exe_folder_path/amd_fidelityfx_upscaler_dx12.dll" || true cp -f "$fgmod_path/amd_fidelityfx_vk.dll" "$exe_folder_path/" || true +for extra_file in "${variant_extra_files[@]}"; do + if [[ -f "$variant_dir/$extra_file" ]]; then + cp -f "$variant_dir/$extra_file" "$exe_folder_path/" || true + fi +done # === Nukem FG Mod Files (now in fgmod directory) === cp -f "$fgmod_path/dlssg_to_fsr3_amd_is_better.dll" "$exe_folder_path/" || true |
