From 6a0a0675ebf3fb4550b56d8982969d023d8c21ad Mon Sep 17 00:00:00 2001 From: xXJSONDeruloXx Date: Fri, 20 Mar 2026 14:29:23 -0400 Subject: feat: set template upscaler defaults for Steam Deck --- README.md | 1 + defaults/assets/fgmod.sh | 2 +- main.py | 8 +++++--- 3 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 1b08742..90f937b 100644 --- a/README.md +++ b/README.md @@ -74,6 +74,7 @@ Dx12Upscaler=fsr31 ~/fgmod/fgmod %command% - Environment variables override the OptiScaler.ini file on each game launch - Hyphenated section names like `[V-Sync]` can be accessed like `VSync_Option=value` - If an option name appears in multiple sections of the OptiScaler.ini file, use the `Section_Option` or `OptiScaler_Section_Option` format +- During Decky Framegen setup, the shared `~/fgmod/OptiScaler.ini` template is initialized with `Dx11Upscaler=fsr31_12` and `Dx12Upscaler=fsr31` for Steam Deck-friendly defaults; per-game launch does not keep forcing those values afterward ## Technical Details diff --git a/defaults/assets/fgmod.sh b/defaults/assets/fgmod.sh index fa36558..8888b36 100755 --- a/defaults/assets/fgmod.sh +++ b/defaults/assets/fgmod.sh @@ -134,7 +134,7 @@ if [[ -f "$fgmod_path/update-optiscaler-config.py" ]]; then fi # OptiScaler 0.9.0-pre11 can assert on Proton when HQ font auto mode tries to load -# an external TTF that is not present. Only normalize the default auto value. +# an external TTF that is not present. Only normalize the font default here. sed -i 's/^UseHQFont[[:space:]]*=[[:space:]]*auto$/UseHQFont=false/' "$exe_folder_path/OptiScaler.ini" || true # === ASI Plugins Directory === diff --git a/main.py b/main.py index ddee8ba..b64f233 100644 --- a/main.py +++ b/main.py @@ -150,7 +150,7 @@ class Plugin: return False def _modify_optiscaler_ini(self, ini_file): - """Modify OptiScaler.ini to set FG defaults, ASI plugin settings, and safe font defaults.""" + """Modify OptiScaler.ini to set FG defaults, ASI plugin settings, and Steam Deck template defaults.""" try: if ini_file.exists(): with open(ini_file, 'r') as f: @@ -168,13 +168,15 @@ class Plugin: # Replace Path=auto with Path=plugins updated_content = re.sub(r'Path\s*=\s*auto', 'Path=plugins', updated_content) - # Disable new HQ font auto mode to avoid missing font assertions on Proton + # Steam Deck template defaults for fresh fgmod installs only. + updated_content = re.sub(r'Dx11Upscaler\s*=\s*auto', 'Dx11Upscaler=fsr31_12', updated_content) + updated_content = re.sub(r'Dx12Upscaler\s*=\s*auto', 'Dx12Upscaler=fsr31', updated_content) updated_content = re.sub(r'UseHQFont\s*=\s*auto', 'UseHQFont=false', updated_content) with open(ini_file, 'w') as f: f.write(updated_content) - decky.logger.info("Modified OptiScaler.ini to set FGType=nukems, Fsr4Update=true, LoadAsiPlugins=true, Path=plugins, UseHQFont=false") + decky.logger.info("Modified OptiScaler.ini to set FGType=nukems, Fsr4Update=true, LoadAsiPlugins=true, Path=plugins, Dx11Upscaler=fsr31_12, Dx12Upscaler=fsr31, UseHQFont=false") return True else: decky.logger.warning(f"OptiScaler.ini not found at {ini_file}") -- cgit v1.2.3