github mavismmg/MFGAdaUnlock-RenoDx 1.7.0
MFG Unlock 1.7.0 — XeMFG on Vulkan

4 hours ago

This release brings the XeMFG backend to Vulkan games, tested in Indiana Jones and the Great Circle and Red Dead Redemption 2. It also updates the XeMFG engine to dashdogy's MFG Unlocker 1.7.0, adds an experimental option against HUD flicker in XeMFG games without a HUD-less image, makes the DLSS-G panel clearer about Reflex, and stops patching RTX 50 cards with fixes they cannot run.

XeMFG backend

  • New, experimental: Vulkan games. XeMFG now generates frames in Vulkan games. Intel's own XeFG and XeLL run on the game's Vulkan device through the D3D12-on-Vulkan layer and Vulkan host from dashdogy's MFG Unlocker 1.7.0. The inputs come from the game's DLSS Super Resolution or Ray Reconstruction, so turn DLSS on in the game:
    • Indiana Jones and the Great Circle: the game's Frame Generation switch turns XeMFG on and off, and the panel multiplier applies during play. At 4x the test scene went from about 39 to about 155 FPS. Launch with +r_allowBlackListedLayers 1 so ReShade can load.
    • Red Dead Redemption 2: the game has no frame generation of its own, so XeMFG generates frames whenever DLSS runs. Works in fullscreen, borderless and windowed.
    • The panel shows XeMFG · Vulkan, the base and output frame rates, and what the host is waiting for.
    • Vulkan is on by default. It replaces the game's swap chain, so a Vulkan game it has not been tested with can still fail. If a Vulkan game crashes, freezes or shows a black screen with XeMFG selected, set [XeFG] Vulkan=0 in MFGAdaUnlock.ini and report it.
  • NVIDIA present metering on Vulkan. Where the driver offers it, XeMFG's Vulkan output uses VK_NV_present_metering, the Vulkan form of the flip metering the D3D12 path uses, so the driver spaces each real frame and its generated frames. On by default, not used with VSync on; [XeFG] VulkanPresentMetering=0 turns it off.
  • Engine updated to dashdogy's MFG Unlocker 1.7.0. The pacing component, CUDA route, model unlock and shader port were merged with this project's own changes. Measured in Cyberpunk 2077 at 6x, in the same scene: no regression, with slightly steadier pacing (1% low 155 against 145 FPS). The new flip queue is off by default, as in dashdogy's own D3D12 host: it removed the long intervals but cost 3–5 ms of latency and about 5 FPS here. [XeFG] XeFGFlipQueue=1 turns it on.
  • Experimental: HUD stabilization. In Image quality, HUD stabilization (experimental) is for games that do not provide a HUD-less image, where XeMFG interpolates the HUD together with the scene and HUD text flickers. Pixels that stay unchanged for a few real frames, such as static HUD text, icons and frames, are taken from the newest real frame on every generated frame instead of being interpolated. The HUD stops flickering, but updates at the real frame rate. Moving or semi-transparent HUD elements are still interpolated. It costs one copy and one small compute pass per real frame. Games that provide a HUD-less image keep using UI Composition instead. Off by default; saved as [XeFG] UIStabilization.

DLSS-G backend

  • Reflex Off and On + Boost, explained. Measured in Cyberpunk 2077 at 6x, Game controlled, Off, On and On + Boost all landed within 2 ms of each other (display latency p50 34–36 ms). With Frame Generation on, DLSS-G paces its own queue, so these overrides usually do not change latency, and Boost only helps when the CPU is the bottleneck. The panel now says this. Off does not turn Reflex off: DLSS-G needs it, so the NVIDIA overlay keeps showing Reflex On and only the Reflex wait is skipped.
  • New readout: Driver Reflex. Under Advanced pacing, the panel shows what the driver reports: whether low latency mode is on and whether the game calls the Reflex sleep.
  • Reflex changes from the panel apply during play. A change used to wait until the game sent its Reflex options again, which some games do only at startup. It now applies on the game's next frame.
  • RTX 50: the provider is left alone. On a PC whose NVIDIA cards are all RTX 50, the addon no longer rewrites DLSS-G's architecture checks, and no longer installs the quality fixes built for RTX 40 kernels, which an RTX 50 never runs. Earlier versions logged those fixes as applied on RTX 50 although they had no effect. The log now says why the provider is left alone.
  • Experimental: the main quality fix on RTX 50. With Rtx50QualityFixes=1 in the game's ReShade.ini (section [RenoDX.MFGUnlock]), the validated warp blend, the fix for thin geometry and HUD edges, is applied to the RTX 50 version of DLSS-G's kernel. Off by default until RTX 50 field tests confirm it. The other quality fixes remain RTX 40 only.
  • Dynamic MFG shows live / maximum again. With Dynamic MFG on, the panel shows the live multiplier and the ceiling (for example 3x / 6x), as it did before the panel redesign.
  • Force Borderless left the panel. [DLSSG] ForceBorderless=1 in MFGAdaUnlock.ini still works for those who use it.

Compatibility

Existing configuration is kept. RTX 40 behaviour of the DLSS-G backend is unchanged. In the XeMFG backend, D3D12 games behave as in 1.6.0 apart from the engine update; Vulkan games are new.

RenoDX mods in Vulkan games: the RenoDX addon for Indiana Jones crashed while the game compiled its pipelines with the XeMFG backend selected. The cause is in RenoDX: its pipeline cloning reads the shader data of every stage without checking for an absent one. A RenoDX build with that check runs together with XeMFG.

Known limitations

  • The Vulkan path is experimental and has been tested in two games. Each new engine may use the swap chain in a way it does not handle yet; [XeFG] Vulkan=0 leaves Vulkan games untouched.
  • On Vulkan, XeMFG's latency output is XeLL; the game's Reflex is answered by the addon and does not reach the driver.
  • Rtx50QualityFixes has not been confirmed on an RTX 50 card yet.

Validation

The automated suite ran 197 tests with no failures, including new tests for:

  • the GPU family read from the PCI IDs (RTX 40, RTX 50, mixed and unknown cards);
  • the RTX 50 warp blend rebuilt into the real DLSS-G provider's fatbin for both sm_89 and sm_120 (its sm_120 code also passes NVIDIA's ptxas 13.0);
  • a Reflex change from the panel reaching the game's next Reflex sleep;
  • the HUD stabilization mask on WARP (static HUD composed after four real frames, the scene left transparent, an exact HUD-less copy, history reset on resize) and UI composition without the UI Composition preference.

3 artifact-provenance tests skipped because they need the experimental addon and installed PE inputs, which are not part of this build. The Vulkan path has no automated tests; it was validated in the field.

Field sessions on NVIDIA driver 621.01 (RTX 4070 SUPER, 240 Hz display):

  • Reflex overrides, DLSS-G 6x, Cyberpunk 2077: PresentMon in the same scene for each mode (results above).
  • Dynamic MFG readout: live / maximum shown again.
  • HUD stabilization: Cyberpunk 2077 and Dragon's Dogma 2; static HUD stable, at the real frame rate.
  • Engine update, XeMFG 6x, Cyberpunk 2077: two PresentMon takes with the flip queue off and two with it on, against the previous engine.
  • Vulkan, Indiana Jones and the Great Circle: Streamline with DLSS Ray Reconstruction, ReShade as a Vulkan layer, with the game's RenoDX mod (with the fix above). 4x generating, the game's switch and the panel multiplier during play, present metering on.
  • Vulkan, Red Dead Redemption 2: DLSS Super Resolution, 4x generating in fullscreen.

Credits

The Vulkan layer and host, the updated XeMFG engine and its flip queue come from dashdogy's MFG Unlocker 1.7.0 (MIT). The Vulkan connection to the addon, its fixes for these games and the present metering are this project's; see PROVENANCE.md.

Installation and rollback

Close the game, replace the previous addon with renodx-mfgunlock.addon64, keep only one MFG Unlock addon installed, and restart. For a Vulkan game, install ReShade with addon support for Vulkan, put libxess_fg.dll and libxell.dll beside the game executable as for D3D12 games, select XeMFG in the panel and restart.

For rollback, close the process, restore your previous addon or the 1.6.0 release, and restart.

Building this version

The addon is the mfgunlock_native_xemfg target of tests/CMakeLists.txt, published as renodx-mfgunlock.addon64; see Building the XeMFG backend. The Vulkan path is built in only when the Khronos Vulkan headers and the Vulkan program set exist locally: tools/extract_xvk_programs.py reads the program set from your own copy of the MFG Unlocker 1.7.0 release DLL (its SHA-256 is checked); the Intel-derived SPIR-V is never committed.

Don't miss a new MFGAdaUnlock-RenoDx release

NewReleases is sending notifications on new releases.