summaryrefslogtreecommitdiff
path: root/defaults/assets
diff options
context:
space:
mode:
authorKurt Himebauch <136133082+xXJSONDeruloXx@users.noreply.github.com>2026-06-22 21:00:27 -0400
committerGitHub <noreply@github.com>2026-06-22 21:00:27 -0400
commitdc4610dabb0a70783d4b9e9832578ddde757a850 (patch)
tree93184230279f02c3cb2165a6d6f27520de2ef25b /defaults/assets
parentca74bc1dcf2a782d6937810858b5d64e3e3d2917 (diff)
parent22c9e8e194bfd127a7da9e96be5ccb47e997aa63 (diff)
downloadDecky-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-xdefaults/assets/fgmod-uninstaller.sh5
-rwxr-xr-xdefaults/assets/fgmod.sh32
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