<feed xmlns='http://www.w3.org/2005/Atom'>
<title>Decky-Framegen/defaults, branch v0.16.3-pre</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>fix: complete RDNA2 pre10 4.1.1 variant</title>
<updated>2026-06-26T15:54:58+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-06-26T15:54:58+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=fd5d2de4144ee165e4985bd65dd9037361c730d3'/>
<id>fd5d2de4144ee165e4985bd65dd9037361c730d3</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix: force Fsr4ForceModel=2 for all non-RDNA4 variants</title>
<updated>2026-06-26T15:23:19+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-06-26T15:23:19+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=fd29203c37b7febe2a2713e62c141bf38ea3ae27'/>
<id>fd29203c37b7febe2a2713e62c141bf38ea3ae27</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add RDNA2 pre10 FSR4 variant</title>
<updated>2026-06-23T01:14:25+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-06-23T01:14:25+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=d6bddf23bdd3874da4d255732a5132d20fda5ede'/>
<id>d6bddf23bdd3874da4d255732a5132d20fda5ede</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: add OptiScaler 0.9.3 FSR4 variants</title>
<updated>2026-06-23T00:50:12+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-06-23T00:50:12+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=22c9e8e194bfd127a7da9e96be5ccb47e997aa63'/>
<id>22c9e8e194bfd127a7da9e96be5ccb47e997aa63</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</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>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>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>
<entry>
<title>fix: remove D3D12_Optiscaler dir in fgmod-uninstaller.sh</title>
<updated>2026-04-03T14:20:47+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T14:20:47+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=b8eed9a4f3d98d887a9cc8f18b821d6a2af4598d'/>
<id>b8eed9a4f3d98d887a9cc8f18b821d6a2af4598d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>chore: remove all emojis from source files</title>
<updated>2026-04-03T14:10:36+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T14:10:36+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=d845c74d039fd08449ce723d25958cd96a72ee06'/>
<id>d845c74d039fd08449ce723d25958cd96a72ee06</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>feat: proxy DLL name picker</title>
<updated>2026-04-03T13:52:39+00:00</updated>
<author>
<name>xXJSONDeruloXx</name>
<email>danielhimebauch@gmail.com</email>
</author>
<published>2026-04-03T13:52:39+00:00</published>
<link rel='alternate' type='text/html' href='http://decky.mirror.aerocore.com.cn/xXJSONDeruloXx/Decky-Framegen/commit/?id=a6955e828b1dee7b14f8021a8a470dd51d77e33e'/>
<id>a6955e828b1dee7b14f8021a8a470dd51d77e33e</id>
<content type='text'>
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=&lt;name&gt; 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=&lt;name&gt; ~/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="&lt;stem&gt;=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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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=&lt;name&gt; 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=&lt;name&gt; ~/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="&lt;stem&gt;=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.
</pre>
</div>
</content>
</entry>
</feed>
