This release adds XMX, a new experimental mode that runs Intel's multi-frame model inside DLSS-G's own presentation. It also adds a selector for the three modes, a panel status that names what is generating, and a panel control for every INI setting.
Our recommendation: always prefer XMX in games with native DLSS frame generation. It is more stable and more compatible than the XeMFG backend, because the game keeps DLSS-G's presentation and there is no proxy swap chain. Keep the XeMFG backend for games with no native frame generation.
Use XMX
Select XeMFG via DLSS-G (XMX) under General → Frame generation method and restart the game. If Intel's files are missing or a different version, the panel offers Install / update files. The steps and full measurements are in the XMX section of the README.
What works, tested in Crimson Desert and Cyberpunk 2077 on an RTX 4070 SUPER:
- The game's own multiplier menu, during play. Cyberpunk 2077 went through 2x, 4x and 6x. If the selector does nothing, is missing or gets stuck in your game, please open an issue.
- Frame Multiplier in the panel, above what the menu offers, up to 6x.
- Output FPS Cap (Reflex).
- Alt+Tab, and changing resolution during play.
- 1440p, and 4K with DLDSR.
- Install / update files from the XMX notice. It replaced a wrong
libxess_fg.dllin Cyberpunk 2077.
XMX is still experimental, so please report the games you try, whether they work or not.
Crimson Desert at 1440p, RTX 4070 SUPER, one capture of about 30 seconds per mode:
| Mode | Displayed FPS | Base FPS | Average latency |
|---|---|---|---|
| Generation off | 44 | 44 | 45 ms |
| DLSS-G 4x | 136 | 34 | 43 ms |
| XeMFG 4x | 141 | 35 | 64 ms |
| XMX 4x | 139 | 35 | 42 ms |
| XeMFG 6x | 175 | 29 | 75 ms |
| XMX 6x | 189 | 32 | 42 ms |
At 6x the image looked similar to XeMFG with CUDA, and the input felt much better. This is one game and one capture per mode, and PresentMon may not measure latency the same way on routes with different presentation. XeMFG was slightly ahead in FPS and pacing at 2x and 4x, and XMX had more large frame intervals at 6x.
New
- New, experimental: XMX mode. Intel's multi-frame model replaces NVIDIA's generator, and DLSS-G keeps presenting, so the game keeps its own menu, Reflex and display handling. It generates 2x to 6x. It needs a Direct3D 12 game with DLSS frame generation, and
libxess_fg.dll1.3.1.78 withlibxell.dll. - Mode selector. Frame generation method now offers NVIDIA DLSS-G, Intel XeMFG (CUDA) and XeMFG via DLSS-G (XMX). The default stays DLSS-G, and existing choices are kept.
- The panel says what is generating. The Backend card shows
DLSS-G,XMX,XeMFG (CUDA),XeMFG (shaders)orXeFG 2x (stock). With XMX, Generating frames appears only when XMX actually generated in the last 2 seconds. - Every setting has a control. All settings (advanced), under Diagnostics, covers what could only be changed in
MFGAdaUnlock.ini, with experimental options marked as such. A new automated test fails if a setting is added without a control.[DLSSG] ForceBorderlessis back in the panel here. - Compare Intel's own 2x model.
XeFGStock2xModelruns Intel's model 18 in place of the ported model at 2x. In Crimson Desert it looked better on the HUD and slightly better on artifacts. Above 2x it cannot run, because that model only generates the middle frame.
With XMX selected
- Failure handling. If Intel's files are missing or a different version, XMX does not start, NVIDIA's generator keeps running, and the panel says why and offers Install / update files. If XMX fails during play, the real frame is shown again, no frames are generated until the game restarts, and the panel says why.
- NVIDIA Dynamic MFG is locked, because it was not validated on this route. A saved Dynamic MFG setting applies again when you select DLSS-G. If a game asks for Dynamic MFG, a fixed multiplier is used and the panel says so.
- Settings for NVIDIA's generator are locked, such as Adaptive Quality, the temporal fix and the Blackwell kernels. DLSS presets, Reflex and pacing remain.
DLSS-G backend
- Fixed: flickering in Advanced pacing. The status table under Advanced pacing (testing) no longer moves the controls while it updates.
Compatibility
Existing configuration is kept and no default changed. The compatibility table now has separate XeMFG CUDA and XMX columns: XMX is Working in Crimson Desert and Cyberpunk 2077, and Maybe means that game has not been tested with XMX yet.
Known limitations
- XMX was tested in Crimson Desert, Cyberpunk 2077 and the Streamline Sample, on an RTX 4070 SUPER. Other games and cards are unknown, and only Crimson Desert was measured.
- XMX does not run in Vulkan games, where NVIDIA's generator keeps running, or in games that use XeMFG through FSR or the DLSS-SR input.
- A similar motion blur was noticed with XMX, DLSS-G and XeMFG in Crimson Desert. The cause is unknown.
- Dying Light 2 with XeMFG still closes on startup, and the cause is not known yet.
Validation
The automated suite ran 205 tests with no failures, plus the replay corpus. Three optional tests were skipped, as in earlier releases.
In the Streamline Sample 2.14.16 and 2.9.0, XMX ran at the expected cadence: Engine 112, 56 and 37 FPS against 225 FPS output at 2x, 4x and 6x, under the sample's 225 FPS limit. 3x ran without errors in the log. In 2.14.16, the sample's own menu changed 2x to 4x during play (Engine 61, True 246), and its Dynamic option became a fixed 2x (Engine 120, True 240). A missing libxess_fg.dll left NVIDIA's generator running normally, and a truncated one, which passes the check before the hook but cannot load, showed the real frame instead of a black image.
In Crimson Desert on NVIDIA driver 621.01 (RTX 4070 SUPER), 13 captures covered generation off, XeMFG, DLSS-G and XMX at 1440p and at 4K with DLDSR. Cyberpunk 2077 was tested by playing it, without captures: selecting XMX in the panel, installing Intel's file from the XMX notice, changing the multiplier from the game's menu and the panel, and the Reflex FPS cap.
Credits
The idea of calling XeFG directly comes from realdody/dlssg-to-xefg-xmx. It is GPLv3 and was read as a reference only: no code is included, and this implementation was written and verified independently. The multi-frame model is the port from dashdogy's MFG-Unlocker (MIT).
Installation and rollback
Close the game, replace the previous addon with renodx-mfgunlock.addon64, keep only one MFG Unlock addon installed, and restart.
For rollback, close the process, restore your previous addon or the 1.7.2 release, and restart.
Building this version
As in 1.7.0: the addon is the mfgunlock_native_xemfg target of tests/CMakeLists.txt, published as renodx-mfgunlock.addon64; see Building the XeMFG backend.