summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
12 hoursMerge fix/optipatcher-rolling: upgrade OptiPatcher to rolling (base v0.39)HEADv0.15.3mainXxJSONDeruloxX
12 hoursfeat: upgrade OptiPatcher to rolling release (base v0.39, 2026-04-17)XxJSONDeruloxX
Switches from the pinned v0.30 build to the rolling release snapshot (base v0.39, commit 3c4a858, built 2026-04-17). Notable additions over v0.30: - Clair Obscur: Expedition 33, Oblivion Remastered, Mafia The Old Country - South of Midnight, ROMEO, Windrose, Super Meat Boy 3D - Soulstice, Star Trek Voyager, Samson, VOID/BREAKER fixes - I Am Jesus Christ, Half Sword, Bellwright, Deadzone Rogue - ~80 additional game entries total vs v0.30 Rolling build is pinned at a verified sha256 on the bleeding-edge repo so the Decky CLI remote_binary download has a stable URL. sha256: 88b9e1be3559737cd205fdf5f2c8550cf1923fb1def4c603e5bf03c3e84131b1 source: https://github.com/optiscaler/OptiPatcher/releases/tag/rolling
12 hoursMerge fix/drop-nvngx-dll: drop stale nvngx.dll, fix 0.9.0 archive URLv0.15.2XxJSONDeruloxX
12 hoursfix: correct OptiScaler 0.9.0-final download URL and sha256XxJSONDeruloxX
The release tag is v0.9.0, not v0.9. The previous commit (7fb070e) updated the sha256 to match the 9-byte 404 response body returned by the /v0.9/ URL rather than the actual archive, so the Decky CLI was validating a 'Not Found' stub and bundling it. This caused a completely non-functional plugin that silently failed to extract OptiScaler at install time. Fix: - URL: .../v0.9/... -> .../v0.9.0/... - hash: 0019dfc4... (sha256 of 404 body) -> a988ce2c... (sha256 of real archive)
12 hoursbump versionfix/drop-nvngx-dllXxJSONDeruloxX
12 hoursfix: drop nvngx.dll remote binary and all shipping/staging referencesXxJSONDeruloxX
The nvngx.dll bundled from the OptiScaler v0.7.8-pre0 nightly was the real NVIDIA DLSS 3.10.3 production runtime (47 MB). Inspection of its PE export table showed it is missing 18 NVSDK_NGX_* symbols introduced in DLSS SDK 3.1+ that every modern DLSS-enabled title calls at init: NVSDK_NGX_D3D12_AllocateParameters / DestroyParameters NVSDK_NGX_D3D12_GetCapabilityParameters / GetParameters NVSDK_NGX_D3D12_Init_with_ProjectID / Init_ProjectID NVSDK_NGX_UpdateFeature (plus D3D11 and Vulkan equivalents) OptiScaler 0.9.0-final's own NGX proxy layer exports all of these and handles all NGX interception internally. Shipping the bare NVIDIA DLL alongside it caused export-not-found failures on Proton when any code path bypassed OptiScaler's hooks and resolved directly against the file. The OptiScaler 0.9.0-final release notes also explicitly advise Linux users to delete nvngx.dll when upgrading. Changes: - package.json: remove nvngx.dll from remote_binary download list - main.py SUPPORT_FILES: remove nvngx.dll (no longer staged to fgmod/) - main.py extract_static_optiscaler: remove nvngx.dll from additional_files; add explanatory comment for future reference - main.py check_fgmod_path: remove nvngx.dll from required-file check - fgmod.sh: remove the cp line that deployed nvngx.dll into game dirs nvngx.dll is intentionally kept in INJECTOR_FILENAMES (main.py) and in the fgmod.sh pre-patch rm and fgmod-uninstaller.sh cleanup so that any copy placed by a previous plugin version is swept from game directories on the next patch or uninstall.
13 hoursMerge pull request #191 from xXJSONDeruloXx/feat/appid-patch-flowKurt Himebauch
feat: AppID-based patch/unpatch with multi-library Steam discovery and marker tracking
6 daysfix: update OptiScaler 0.9.0-final sha256 to match current release artifactfeat/appid-patch-flowxXJSONDeruloXx
6 daysfeat: appid-based patch/unpatch with multi-library discovery and marker trackingxXJSONDeruloXx
2026-04-05Merge pull request #186 from xXJSONDeruloXx/opti-090-finalKurt Himebauch
Opti 090 final
2026-04-03fix: remove D3D12_Optiscaler dir in fgmod-uninstaller.shopti-090-finalxXJSONDeruloXx
2026-04-03chore: remove all emojis from source filesxXJSONDeruloXx
2026-04-03feat: add Steam game picker with one-click launch option setterxXJSONDeruloXx
2026-04-03fix: label dxgi.dll as default in proxy DLL dropdownv0.15.1-opti-090-finalxXJSONDeruloXx
2026-04-03fix: always emit DLL=<name> in patch command, even for default dxgi.dllxXJSONDeruloXx
2026-04-03chore: bump amd_fidelityfx_upscaler_dx12.dll to bins-for-4.0.2.cxXJSONDeruloXx
2026-04-03feat: proxy DLL name pickerxXJSONDeruloXx
Expose the proxy DLL rename as a user-selectable option across all injection paths. Previously hardcoded to dxgi.dll with no way to change it short of manually prepending DLL=<name> to the Steam launch option. src/utils/constants.ts - Add PROXY_DLL_OPTIONS (7 entries matching _create_renamed_copies) each with a label and one-line hint - Add DEFAULT_PROXY_DLL constant (dxgi.dll) and ProxyDllValue type src/api/index.ts - runManualPatch now takes [directory, dll_name] so the chosen name reaches the backend src/components/OptiScalerControls.tsx - Own dllName state (default: dxgi.dll) - Render a DropdownItem (visible when installed) showing the 7 options with the selected option's hint as the description - Pass dllName down to both ClipboardCommands and ManualPatchControls src/components/ClipboardCommands.tsx - Accept dllName prop - Patch command is plain ~/fgmod/fgmod %command% for the default; prefixed DLL=<name> ~/fgmod/fgmod %command% for any other choice src/components/CustomPathOverride.tsx - Accept dllName prop - Pass it to runManualPatch - Manual launch cmd clipboard button builds WINEDLLOVERRIDES="<stem>=n,b" dynamically; emits bare SteamDeck=0 %command% for OptiScaler.asi (ASI loader path needs no Wine DLL override) main.py - Add VALID_DLL_NAMES set (whitelist matching the renames dir) - manual_patch_directory validates dll_name against the whitelist and returns an error for unknown values - _manual_patch_directory_impl accepts dll_name param; removes the hardcoded "dxgi.dll" line defaults/assets/fgmod.sh - Fix longstanding bug: WINEDLLOVERRIDES was hardcoded to dxgi=n,b regardless of the DLL= env var selection. Now derives the stem from $dll_name and skips the override entirely for .asi files.
2026-04-03fix: migrate per-game FGType → FGInput/FGOutput on patch and launchxXJSONDeruloXx
Already-patched games have OptiScaler.ini entries using the old FGType key (e.g. FGType=nukems). The v0.9-final DLL no longer recognises FGType and silently falls back to nofg, breaking frame gen without any error. Add _migrate_optiscaler_ini() in main.py which: - detects FGType=<value> in a per-game INI - if FGInput is absent: replaces the single FGType line with both FGInput=<value> and FGOutput=<value> - if FGInput is already present (INI already migrated): just drops the stale FGType line - is a no-op when FGType is not present (fresh installs, already migrated) Call the migration from _manual_patch_directory_impl immediately before _disable_hq_font_auto so any re-patch via the GUI heals the INI. Mirror the same logic in fgmod.sh so that games using the launch wrapper are migrated automatically on the very next launch, with no manual re-patch required.
2026-04-03chore: update OptiScaler to v0.9.0-finalxXJSONDeruloXx
- package.json: point remote_binary at official optiscaler/OptiScaler v0.9 release (Optiscaler_0.9.0-final.20260401._AF.7z) with updated sha256 hash; drop staging-repo pre11 URL - main.py (_modify_optiscaler_ini): FGType was split into FGInput + FGOutput in the final release INI; replace the old FGType=nukems substitution with FGInput=nukems and FGOutput=nukems so defaults are actually applied - main.py (_manual_patch_directory_impl): copy D3D12_Optiscaler/ directory to the game folder (OptiScaler.ini explicitly requires it next to the exe for FSR4/FidelityFX DX12 path) - main.py (_manual_unpatch_directory_impl): remove D3D12_Optiscaler/ directory when cleaning a game folder - fgmod.sh: cp -r D3D12_Optiscaler/ to game folder during launch-time install, matching the per-game patch behaviour above - Scrub stale pre3/pre4/pre11 references from comments throughout
2026-03-20chore: bump version to 0.15.1v0.15.1fix/v0.15.0-font-assertxXJSONDeruloXx
2026-03-20fix: bump to 0.15.0 and avoid OptiScaler font assertxXJSONDeruloXx
2026-02-27Merge pull request #171 from Wurielle/fix/fix-game-process-hangingKurt Himebauch
2026-02-27Merge remote-tracking branch 'origin/main' into fix/fix-game-process-hangingwuriko
# Conflicts: # defaults/assets/fgmod.sh
2026-02-26chore: bump verv0.14.0xXJSONDeruloXx
2026-02-22Merge pull request #173 from xXJSONDeruloXx/fix-steam-process-tracking-cleanKurt Himebauch
Fix Steam process tracking - remove exec and filter -- separators
2026-02-16Merge pull request #175 from Wurielle/feat/support-optiscaler-env-variablesKurt Himebauch
2026-02-16Merge pull request #177 from ↵Kurt Himebauch
Wurielle/fix/uninstaller-causing-game-file-corruption
2026-02-15fix: fix uninstaller causing game file corruption on second launchwuriko
2026-02-12docs: update README with env var supportwuriko
2026-02-11refactor: remove unnecessary python checkwuriko
2026-02-11feat: add hyphenated section name support (V-Sync)wuriko
2026-02-10fix: use case sensitive values only to prevent PATH to accidentally matchwuriko
2026-02-10feat: handle unprefixed env variableswuriko
2026-02-10refactor: remove unnecessary add key stepwuriko
2026-02-08fix: fix check_fgmod_pathwuriko
2026-02-08feat: add support for optiscaler config variableswuriko
2026-02-02Fix Steam process tracking - remove exec and filter -- separatorsxXJsonDeruloXx
Steam process tracking requires: 1. Remove 'exec' from command execution (use direct call) 2. Filter out leading -- separators from launch options 3. Add trailing space to sed command (Lutris fix) Applied to defaults/assets/fgmod.sh Credit: https://github.com/benjamimgois/goverlay/commit/72d38b10a7710e628fef731eb4f9f335a4d80bd2
2026-02-01fix: disconnect from logging pipe to prevent game process hangingwuriko
2025-12-10Merge pull request #157 from xXJSONDeruloXx/opti-9-pre-6v0.13.3Kurt Himebauch
bump version and opti 9 pre 6
2025-12-10fix: point to discord bundled opti with the files missing in prevv0.13.2opti-9-pre-6xXJSONDeruloXx
2025-12-06bump version and opti 9 pre 6v0.13.1xXJSONDeruloXx
2025-12-06Merge pull request #148 from xXJSONDeruloXx/path-overridesrevert-13-0pre-7Kurt Himebauch
initial path override ui and be
2025-09-26bump plugin versionv0.13.0path-overridesxXJSONDeruloXx
2025-09-26desc tweakxXJSONDeruloXx
2025-09-26rm submodulexXJSONDeruloXx
2025-09-26ui cleanup and hide on mode change to manualxXJSONDeruloXx
2025-09-26ui cleanupxXJSONDeruloXx
2025-09-26fix patching, logging additionsxXJSONDeruloXx
2025-09-26revised approach, pick dir then patch in plugin ui itselfxXJSONDeruloXx
2025-09-26feat: first arg steam path start, second mirror firstxXJSONDeruloXx