<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Decky-Framegen, branch v0.15.5</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/'/>
<entry>
<title>Merge pull request #195 from xXJSONDeruloXx/feat/asset-manifest-fsr4-variants</title>
<updated>2026-05-19T18:34:55+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2026-05-19T18:34:55+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=92737d9dbae61e25fb0b2f816475d10285f0ff67'/>
<id>92737d9dbae61e25fb0b2f816475d10285f0ff67</id>
<content type='text'>
feat: update OptiScaler bundle and add FSR4 runtime manifests</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
feat: update OptiScaler bundle and add FSR4 runtime manifests</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add fsr4 runtime manifests</title>
<updated>2026-05-19T18:26:39+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-05-19T18:26:39+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=19e5aefa2f41ebd4389bf27136adacf3e75d3502'/>
<id>19e5aefa2f41ebd4389bf27136adacf3e75d3502</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #194 from xXJSONDeruloXx/fix/proxy-backup-idempotency</title>
<updated>2026-05-19T15:56:49+00:00</updated>
<author>
<name>Kurt Himebauch</name>
<email>136133082+xXJSONDeruloXx@users.noreply.github.com</email>
</author>
<published>2026-05-19T15:56:49+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=9e12c11b6189972ea04de454dad5c8554efe657a'/>
<id>9e12c11b6189972ea04de454dad5c8554efe657a</id>
<content type='text'>
fix: preserve proxy dll backups on repatch</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
fix: preserve proxy dll backups on repatch</pre>
</div>
</content>
</entry>
<entry>
<title>fix: preserve proxy dll backups on repatch</title>
<updated>2026-05-19T15:43:14+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-05-19T15:43:14+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=ef0b58b8836e6e53b0a32d569159f769853413e5'/>
<id>ef0b58b8836e6e53b0a32d569159f769853413e5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge fix/optipatcher-rolling: upgrade OptiPatcher to rolling (base v0.39)</title>
<updated>2026-04-19T16:41:49+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:41:49+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=94d1f366e5d7c7f8860000cce73643b2b8cfb0dd'/>
<id>94d1f366e5d7c7f8860000cce73643b2b8cfb0dd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: upgrade OptiPatcher to rolling release (base v0.39, 2026-04-17)</title>
<updated>2026-04-19T16:41:49+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:41:49+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=6d0346cb2e2b97ac08771eb10af96e5c43a3c98f'/>
<id>6d0346cb2e2b97ac08771eb10af96e5c43a3c98f</id>
<content type='text'>
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
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge fix/drop-nvngx-dll: drop stale nvngx.dll, fix 0.9.0 archive URL</title>
<updated>2026-04-19T16:28:49+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:28:49+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=4a2df0143542b968473ce43a233940e8d9d304e6'/>
<id>4a2df0143542b968473ce43a233940e8d9d304e6</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: correct OptiScaler 0.9.0-final download URL and sha256</title>
<updated>2026-04-19T16:25:10+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:25:10+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=fdcfd1035aeee76da7efca00fd1aca1898d48ef1'/>
<id>fdcfd1035aeee76da7efca00fd1aca1898d48ef1</id>
<content type='text'>
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/... -&gt; .../v0.9.0/...
- hash: 0019dfc4... (sha256 of 404 body) -&gt; a988ce2c... (sha256 of real archive)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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/... -&gt; .../v0.9.0/...
- hash: 0019dfc4... (sha256 of 404 body) -&gt; a988ce2c... (sha256 of real archive)
</pre>
</div>
</content>
</entry>
<entry>
<title>bump version</title>
<updated>2026-04-19T16:20:09+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:20:09+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=2371546f12cdac39a484e4d9c53a4b9165b0de0a'/>
<id>2371546f12cdac39a484e4d9c53a4b9165b0de0a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: drop nvngx.dll remote binary and all shipping/staging references</title>
<updated>2026-04-19T16:15:34+00:00</updated>
<author>
<name>XxJSONDeruloxX</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-19T16:15:34+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=b342b80267829e10aa415dd17a5b9a72928da45d'/>
<id>b342b80267829e10aa415dd17a5b9a72928da45d</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
