MPO-GPU-FIX: registry toggles for MPO stutter on AMD and NVIDIA GPUs
MPO Fix for 5000/6000/7000/9000 AMD GPUs & RTX 2000/3000/4000/5000/GTX 1600
At a glance
- What is it?
- MPO-GPU-FIX is a small C# Windows utility that switches Microsoft Multiplane Overlay off through the registry and adds toggles for ULPS, TDR, HAGS, shader cache and overlays. It targets a specific set of stutter and hang symptoms on recent AMD and NVIDIA cards, at the cost of registry writes and one reboot per change.
- Who is it for?
- MPO-GPU-FIX fits a user who has just installed a new AMD or NVIDIA card, sees fullscreen stutter or driver hangs, and wants the same fix NVIDIA publishes as registry files with fewer manual steps. It does not fit someone who wants a driver update, a supported vendor fix, or a tool whose license and audit trail are documented, since the repository names no license and performs wide registry edits.
- Can I use it commercially?
- Not without permission. GitHub finds no licence file in the repository, and without a licence all rights are reserved by default: you may read the code but not reuse it. Check the README, or ask the authors, before using it.
- Is it still maintained?
- Yes. The repository last received commits 40 days ago.
- What is it written in?
- Mainly C#, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 22, 2026, and from our analysis. They are not legal advice.
Editorial analysis
The stutter and hang symptoms that MPO-GPU-FIX targets
MPO-GPU-FIX works on exactly one Windows setting: Multiplane Overlay, a Microsoft feature that the project identifies as the cause of a fixed set of symptoms. The list is concrete rather than vague. Stuttering when tabbing out of games while multitasking. Driver crashes and system hangs when a hardware accelerated browser runs. The same crashes and hangs when trying to stream. Heavy stutter in anything fullscreen, which the notes say can lead to crashes and hangs. Screen flickering nonstop. That scope matters because these are failures where a user can lose a session outright rather than lose a few frames.
The hardware list runs from NVIDIA RTX 50, 40, 30 and 20 series down to the GTX 1600 series, and from AMD RX 5000, 6000, 7000 and 9000 series, ending with the project's own hedge, And maybe more!. The stated audience is people who have just installed a new GPU in a system and found that the machine now misbehaves. The tool is therefore a targeted post-install remedy, not a general driver utility, and every feature in it hangs off that single premise.
The mechanism is registry writes, not a driver patch
The project is written in C# and ships as a Windows application that sits in front of the registry rather than touching driver files. The author's own list of what the tool does is the clearest description of the mechanism available:
- Checks your GPU Name in use
- Checks your GPU Driver version
- Toggles ULPS/MPO/TDR/HAGS/SHADER CACHE/OVERLAYMINFPS/DISABLE OVERLAYS via the RegistryTwo further lines describe the more unusual parts of the design, and they are the reason a plain registry script would not cover the same ground:
- DX MOD switches inbetween your pre-installed DX files for your graphic drivers
- HDAUDBUS.SYS MSI Mode Toggler via the Registry
- Gracefully Reboots your pcSo the tool reads hardware identity and driver version first, writes a set of named registry values, and can also swap which DirectX files the graphics driver uses by moving between files that are already installed. The download action is unusual as well: it redirects to the brand's support page for latest drivers, so the tool points drivers at the vendor rather than hosting them. Nothing in the mechanism suggests a kernel driver, a service, or a background process that keeps running after the window closes.
No install command exists, so the wiki is the setup path
There is no package manager entry, no installer command, no environment variable and no configuration file in this project. The setup instructions are a pointer:
Check out the WIKI for more info: https://github.com/RedDot-3ND7355/MPO-GPU-FIX/wikiA second wiki page exists for users who already turned MPO off and still see problems, linked from the main page as Still-getting-issues. The runtime requirement comes from the changelog rather than from a documented setup step, where the v7.5 entry states:
- Upgraded Project to .NET 10That line names .NET 10 as the only runtime version the project has recorded, and the same release entry lists a Complete UI redesign, so the current build is a .NET 10 desktop application rather than the older framework. The rest of the first run is deliberately short. The tool checks whether it has the permissions it needs, then the operator performs three steps:
1. Run the tool.
2. Toggle ON the fix.
3. Hit the reboot button.A reboot prompt was added in v7.7, so a second confirmation now sits between the toggle and the restart.
Each toggle is aimed at one symptom and needs its own restart
Once the base MPO fix is on, the tool exposes a set of optional switches, each with a narrow trigger condition and each requiring a restart for changes to apply. The ULPS toggle appears for AMD GPU users. The TDR Fix toggle and a TDRLevel dropdown appear for users hitting TDR related errors while gaming. The HAGS Fix toggle appears for users seeing HAGS related performance drops. A SHADER CACHE dropdown appears for users with frame time related performance drops. An OverlayMinFPS Fix toggle appears for users fighting a 60 FPS cap or bad performance with overlays present. A Disable Overlays toggle is presented as a last ditch attempt.
The shader cache work is the most developed part of the codebase. The v7.6 release added String Support for Shader Cache Handling, Added Multi Control Sets for Shader Cache Handling, and refactored the AMD shader cache handling, which suggests the tool now supports more than one prebuilt cache configuration rather than a single clear-cache action. The same release added a Force Direct Flip Switch for Windows Gaming Tweaks, and RadeonSoftware and RadeonSettings Conflict Detection, meaning the app tries to notice the Radeon software panel interfering with the changes it makes. The DX Switcher and the HDAUDBUS.SYS MSI Switcher interface were both added in v7.0 and were labelled there as being for experienced users.
Disable Overlays cancels the MPO and OverlayMinFPS fixes
The README carries a section titled MISINFORMATION, which is unusual and worth reading carefully. It addresses the claim that the OverlayTestMode = 5 registry edit does nothing on 25h2 and on the latest GPUs. The project says user feedback has proven otherwise, and that Disable Overlays is used as a last ditch effort when overlays still cause problems in some way.
The warning that follows is a real constraint on how the toggles interact:
Note 2: Disable Overlays renders MPO Fix and OverlayMinFPS Fix sseless and is recommended to disable them to avoid causing issues.In other words, enabling one toggle makes two other toggles pointless, and the project recommends turning them off to avoid causing issues. The same paragraph also notes that disabling overlays entirely might cause issues on some games running on DX12, based on feedback from some users, and asks users to run a few tests with overlays disabled to check for instabilities. One more lever is mentioned in the same area: disabling FreeSync on the monitor and at driver level is known to fix some overlay caused performance issues and stutters. The practical reading is that this tool has an internal precedence order, and a user who turns everything on at once ends up with a configuration nobody described.
Hard edges: Radeon RX 9000 ULPS, missing DX files, unknown licence
Three constraints deserve to be checked before the tool is run. The first is explicit:
Note 3: Never Disable ULPS on Radeon RX 9000 Series, it will cause system instabilities and crashes.The changelog shows the project tightened this warning over time. A v7.1 hotfix fixed a case where toggling ULPS on for the 9000 AMD GPU series still showed the warning, and v7.5 changed it so the 9000 series warning appears only when disabling ULPS for a 9070. The restriction is therefore conditional on the exact card, and the error message is the thing to read closely on RX 9000 machines.
The second constraint is the DX MOD switcher. It switches between DX files that are already pre-installed for the graphics drivers, so it depends on the vendor driver having put those files on disk. A v7.2 hotfix records that opening the DXMOD window with no compatible drivers would throw an error, which tells you what to expect on a machine with a clean or partial driver install.
The third is the licence. No licence is named for the project, and the top-level repository entries are AMDGPUFIX/, AWWWWW, README.md and THANKYOU, with no licence file among them. That is a legal grey area for redistribution, not a technical one, but it is worth knowing before you redistribute the binary.
Release history and maintenance signals
The repository is not archived, and the last push was on 2026-09-13. The three most recent releases are dated 2026-09-13 for Update7.7, 2026-08-08 for Update7.6 and 2026-08-02 for Update7.5, so all three landed within a period of roughly six weeks before that push. The v7.7 entry is small, adding a Reboot Confirmation Dialog and Tooltips, which reads as a polish release rather than a feature release. v7.6 is the one with real behaviour changes, listed as:
- Refactored AMD Shader Cache Handling
- Added String Support for Shader Cache Handling
- Added Multi Control Sets for Shader Cache HandlingEarlier entries show how the tool hardened against crashes: v7.1 fixed an app that would sometimes not be killed after an admin prompt and proceeded to error out, fixed DXMOD loading on startup when it was not needed and throwing a permission denied prompt, and added checks to prevent AMD features being reached on non-AMD GPUs. v6.6 removed the required elevation to start the app and added a permission check instead, along with ClickOnce Security as a counter measure to being flagged as a false positive. The pattern across releases is defensive: the author is fixing detection and edge cases as the user base grows.
How it differs from the NVIDIA registry files
The project names its own alternative. The README says NVIDIA released Reg files to disable or restore MPO, but the author wanted a user friendly experience. That difference is real and it cuts both ways.
A registry file is transparent. You open it, you see the exact values it sets, you can read the restore file next to it, and you can apply or undo it with tools that ship with Windows. The trade-off is that it does one thing, it has no knowledge of your hardware, and it tells you nothing about whether your stutter was caused by MPO in the first place. MPO-GPU-FIX starts from the opposite position. It checks your GPU name and driver version before offering anything, hides the raw values behind labelled toggles matched to symptoms, adds switches that have nothing to do with MPO such as ULPS, TDR level, HAGS, shader cache control sets, a DirectX file switcher and an HDAUDBUS.SYS MSI mode toggle, and hands off to the vendor page when you need a driver. The cost of that convenience is a much larger registry footprint, an application that has to be trusted and run, and a restore path that is only as good as its toggle state, since the notes describe restoring MPO as opening the tool, toggling the fix off and rebooting again.
Editorial conclusion
MPO-GPU-FIX fits a user who has just installed a new AMD or NVIDIA card, sees fullscreen stutter or driver hangs, and wants the same fix NVIDIA publishes as registry files with fewer manual steps. It does not fit someone who wants a driver update, a supported vendor fix, or a tool whose license and audit trail are documented, since the repository names no license and performs wide registry edits. Before running it, check whether the stutter appears only with overlays or FreeSync enabled, since the project itself says disabling overlays can cancel the MPO and OverlayMinFPS fixes, and never disable ULPS on Radeon RX 9000 series hardware.
Frequently asked questions
Does MPO-GPU-FIX install or update graphics drivers?
No. The tool checks your GPU name and driver version, and its download action redirects to your brand's support page for the latest drivers, so driver acquisition stays with the vendor.
Can I restore MPO after running MPO-GPU-FIX?
Yes. The project states that to restore MPO you open the tool, toggle the fix off and reboot once again. The README does not document any separate backup of the registry values it changes.
Is it safe to disable ULPS on an AMD Radeon RX 9000 series card?
No. The project states that ULPS should never be disabled on Radeon RX 9000 series, because it causes system instabilities and crashes. The 9000 series warning is shown only when disabling ULPS for a 9070.
Does MPO-GPU-FIX need administrator rights to start?
The v6.6 release removed the required elevation to start the app and added a permission check instead, with a prompt asking to run as admin when registry writes need it. A v7.1 fix addressed cases where the app would sometimes not be killed after that prompt and proceeded to error out.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/reddot-3nd7355-mpo-gpu-fix)Was this useful?