Wagnard/display-drivers-uninstaller
41.3
Weak · 28 September 2026
27.9k
lines of production code
VB.NET
primary language
4
measurements over time
What this system is
This system is the Display Driver Uninstaller (DDU), a Windows utility designed to thoroughly remove GPU, audio, and related peripheral drivers along with their associated software artifacts. It provides a comprehensive cleanup engine that targets specific vendors like NVIDIA, AMD, and Realtek, ensuring the removal of drivers, services, registry keys, and leftover files. The application operates with elevated administrative privileges and utilizes a modernized .NET Framework backend to handle low-level system management and driver stack removal reliably.
Features
Introduction of dedicated audio cleanup engine
The application now includes a dedicated AUDIOCleanup module that handles the removal of Realtek and Sound Blaster audio drivers. This new component identifies and uninstalls audio controllers, endpoints, and associated software components using the SetupAPI, and performs targeted cleanup of Realtek-specific services, processes, registry keys, and AppX packages, ensuring a more thorough removal of audio-related artifacts alongside GPU drivers.
display-driver-uninstaller/Display Driver Uninstaller · high confidence
Behavioural changes
DDU v18.1.6.1: NSIS installer overhaul with migration, language selection, and cleanup options
The display-driver-uninstaller package has been updated to version 18.1.6.1, introducing a comprehensive rewrite of the NSIS installer script. This update adds a language selection dialog at startup and supports nine languages (English, Italian, French, Simplified/Traditional Chinese, German, Spanish, Japanese, and Polish). On 64-bit systems, the installer now automatically detects and migrates previous installations from Program Files (x86) to the native Program Files directory. The uninstaller process has been enhanced with a custom options page, allowing users to explicitly choose to remove log files and settings files. Additionally, the distribution now includes a new 'Issues and solutions.txt' file to guide users through common problems, and the solution file has been upgraded to Visual Studio 2022.
display-driver-uninstaller · high confidence
DDU version updated to 18.1.6.1 with updated branding and manifest elevation
The application version has been bumped to 18.1.6.1, and the assembly metadata now correctly identifies the company as Wagnardsoft with a 2026 copyright. The resource files have been refreshed to include new logos for AMD, Creative, Realtek, and Discord, while removing legacy resources like the Paexec executable. Additionally, the application manifest has been changed from 'asInvoker' to 'requireAdministrator', ensuring the application always requests elevation to run with administrative privileges.
display-driver-uninstaller/Display Driver Uninstaller/My Project · high confidence
Expanded AMD driver removal configuration
The AMD driver removal settings have been significantly expanded to include new configuration files for class roots, CLSIDs, driver files, services, and packages. This update adds support for removing a broader range of AMD components, including the amdfendrmgr service, Vulkan runtime libraries, and various audio-related files and services, while also refining the removal of legacy Catalyst and Adrenalin components.
display-driver-uninstaller/Display Driver Uninstaller/bin/Release/settings/AMD · high confidence
Expanded NVIDIA driver and GeForce Experience cleanup definitions
The NVIDIA cleanup configuration files have been significantly expanded to improve the removal of driver leftovers, GeForce Experience components, and NVIDIA Broadcast artifacts. New and updated configuration files (such as classroot.cfg, clsidleftover.cfg, driverfiles.cfg, and services.cfg) now target a broader range of NVIDIA-specific files, registry classes, COM interfaces, and system services. This ensures that when users choose to remove NVIDIA drivers or GeForce Experience, the tool can more thoroughly clean up associated components like the Vulkan runtime, OpenCL libraries, and specific NVIDIA Broadcast services, reducing the risk of leftover files or broken registry entries.
display-driver-uninstaller/Display Driver Uninstaller/bin/Release/settings/NVIDIA · high confidence
Rewritten Win32 system management layer for driver and service cleanup
The Win32 component of Display Driver Uninstaller has been replaced with a new, comprehensive set of modules (ACL, ImpersonateLoggedOnUser, ServiceInstaller, SetupAPI, SystemRestore, TaskScheduler, Win32) that handle low-level Windows operations. This change introduces a robust impersonation mechanism to run cleanup tasks as the SYSTEM account, a modern ServiceInstaller using .NET's ServiceController for reliable service stopping and removal, and a complete SetupAPI wrapper for precise driver and INF file uninstallation. Users benefit from more reliable driver removal, fewer lingering services or registry keys, and improved handling of complex driver stacks (such as NVIDIA DCH and AMD Adrenalin) without the instability of previous P/Invoke implementations.
display-driver-uninstaller/Display Driver Uninstaller/Win32 · high confidence
Dependencies
Upgrade to .NET Framework 4.8 and modernize project configuration
The application now requires .NET Framework 4.8, dropping support for older versions like 3.0 and 4.5. This upgrade enables the use of modern Windows APIs (such as Windows Kits 10) and improves stability by enforcing stricter code standards (Option Strict On) and treating specific compiler warnings as errors. The project file has also been updated to include new references for system services, HTTP client functionality, and UI components, alongside a reorganized structure for source files and XAML pages.
(dependencies) · high confidence
Housekeeping
Initial repository documentation and licensing
The repository now includes the MIT License, a .gitignore file for build artifacts, and README documentation in English, Japanese, and Spanish describing the Display Driver Uninstaller (DDU) tool, its usage recommendations, and system requirements.
(repo-wide) · high confidence
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
How this codebase got here
Score
- CAI 39 → 41 (+1.9)
- Rubric changed (rubric-2026.08.15 → rubric-2026.09.16) — scores are not directly comparable.
Lenses
- Code Health 73 → 61 (-11.7)
- Architecture 56 → 69 (+13.2)
- Maturity 51 → 45 (-6.3)
- Readiness 17 → 23 (+6.4)
- Security 100 → 100 (+0.0)
Resolved (32)
- Build did not complete in the analyzer
- Change coupling: AppLaunchOptions.vb ↔ GPUCleanup.vb (display-driver-uninstaller/Display Driver Uninstaller/AppLaunchOptions.vb)
- Change coupling: AppPaths.vb ↔ Application.xaml.vb (display-driver-uninstaller/Display Driver Uninstaller/AppPaths.vb)
- Change coupling: AppSettings.vb ↔ ThreadSettings.vb (display-driver-uninstaller/Display Driver Uninstaller/AppSettings.vb)
- Change coupling: CheckUpdate.vb ↔ AssemblyInfo.vb (display-driver-uninstaller/Display Driver Uninstaller/CheckUpdate.vb)
- Change coupling: DebugWindow.xaml.vb ↔ GPUCleanup.vb (display-driver-uninstaller/Display Driver Uninstaller/DebugWindow.xaml.vb)
- Change coupling: GPUCleanup.vb ↔ ImpersonateLoggedOnUser.vb (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- Change coupling: LogEntry.vb ↔ SetupAPI.vb (display-driver-uninstaller/Display Driver Uninstaller/LogEntry.vb)
- Change coupling: LogEntry.vb ↔ WinAPI.vb (display-driver-uninstaller/Display Driver Uninstaller/LogEntry.vb)
- Duplicated block (10 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/Application.xaml.vb)
- Duplicated block (10 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/CleanupEngine.vb)
- Duplicated block (11 lines × 6) (display-driver-uninstaller/Display Driver Uninstaller/CleanupEngine.vb)
- Duplicated block (12 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/DebugWindow.xaml.vb)
- Duplicated block (13 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- Duplicated block (14 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/AUDIOCleanup.vb)
- Duplicated block (15 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/DebugWindow.xaml.vb)
- Duplicated block (15 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/FrmMain.xaml.vb)
- Duplicated block (226 lines × 3) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- Duplicated block (6 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/AppSettings.vb)
- Duplicated block (6 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/FrmLog.xaml.vb)
- …and 12 more
New (57)
- CleanupEngine.RemoveUninstallEntries (cognitive 46) (display-driver-uninstaller/Display Driver Uninstaller/CleanupEngine.vb)
- CleanupEngine.RemoveUninstallEntries (cyclomatic 21) (display-driver-uninstaller/Display Driver Uninstaller/CleanupEngine.vb)
- Duplicated block (10 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/Win32/SetupAPI.vb)
- Duplicated block (11 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/CleanupEngine.vb)
- Duplicated block (12 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/DebugWindow.xaml.vb)
- Duplicated block (13–14 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/FrmMain.xaml.vb)
- Duplicated block (18 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/Win32/SetupAPI.vb)
- Duplicated block (18–19 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/DebugWindow.xaml.vb)
- Duplicated block (18–19 lines × 2) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- Duplicated block (27–28 lines × 4) (display-driver-uninstaller/Display Driver Uninstaller/Win32/SetupAPI.vb)
- FrmMain.FrmMain_Loaded (cyclomatic 16) (display-driver-uninstaller/Display Driver Uninstaller/FrmMain.xaml.vb)
- Further orphaned files (smaller)
- GPUCleanup.CleanQualcommCache (cognitive 44) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- GPUCleanup.CleanQualcommCache (cyclomatic 16) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- GPUCleanup.RemoveChiendrensFromDevices (cognitive 20) (display-driver-uninstaller/Display Driver Uninstaller/GPUCleanup.vb)
- Hotspot: display-driver-uninstaller/Display Driver Uninstaller/AUDIOCleanup.vb (display-driver-uninstaller/Display Driver Uninstaller/AUDIOCleanup.vb)
- Hotspot: display-driver-uninstaller/Display Driver Uninstaller/AppLaunchOptions.vb (display-driver-uninstaller/Display Driver Uninstaller/AppLaunchOptions.vb)
- Hotspot: display-driver-uninstaller/Display Driver Uninstaller/AppSettings.vb (display-driver-uninstaller/Display Driver Uninstaller/AppSettings.vb)
- Hotspot: display-driver-uninstaller/Display Driver Uninstaller/Application.xaml.vb (display-driver-uninstaller/Display Driver Uninstaller/Application.xaml.vb)
- Hotspot: display-driver-uninstaller/Display Driver Uninstaller/FrmMain.xaml.vb (display-driver-uninstaller/Display Driver Uninstaller/FrmMain.xaml.vb)
- …and 37 more
Changes since last survey
- 57 commits — 47 feature/other, 10 fixes
By area
- display-driver-uninstaller/Display Driver Uninstaller — 52 commits
- display-driver-uninstaller/Issues and solutions.txt — 3 commits
- display-driver-uninstaller/NSIS+Uninstall.nsi — 2 commits
Notable commits
- fix: - Fixed : Going to Safe Mode failed on the first attempt when a leftover handler service from a previous DDU version was still present ("'sc create' failed (exit code 1073)"). The leftovers are now removed before the Safe Mode choice, and an existing service is replaced instead of aborting the reboot.
- fix: - Fixed : Two Intel services were left behind after a cleanup: IGSDSserviceDiscrete (used by Arc / discrete graphics) and PmtChildDriver.
- fix: Fixed : a screen's extension was still attempted when removed as a child of the GPU The monitor pass kept it, but screens are also children of the GPU and that pass followed the expert option. Windows refused only because the basic display adapter's instance of the screen still held it.
- fix: Fixed : kept OEM extensions were still removed by the driver store cleanup (Intel, Qualcomm)
- fix: Fixed : kept OEM extensions were still removed by the driver store cleanup (Intel, Qualcomm)
- fix: Fixed : the Qualcomm NPU now honours the extension option
- fix: Fixed : the camera driver package is kept when the camera is a child of the GPU (Intel LNL)
- fix: Fixed : the laptop panel's OEM extension now follows the extension option when monitors are removed
- fix: Fixed : the launch window's "Set Windows Device Installation settings to Default" button stayed visible after use
- fix: Fixed a case where DDU could delete too many folders in your user profile, depending on your Windows account name (Grace, Ignacio, Link...).
- change: - Added : NVIDIA ARM64 driver files to the NVIDIA cleanup list
- change: - Added : NVIDIA Graphics Device ACPI node on Windows on Arm
- change: - Added : NVIDIA High Definition Audio Controller on Windows on Arm (untested)
- change: - Added : Qualcomm Adreno support (Windows on Arm)
- change: - Added : Qualcomm shader cache and driver registry cleanup (untested)
- change: - Added : Snapdragon Control Panel removal (Qualcomm), with its own option
- change: - Added : nvpcf.sys to the NVIDIA file cleanup list
- change: - Added : two WSL library files to the NVIDIA cleanup list
- change: - Log : the real Windows driver-search state is now recorded
- change: - The Intel HD-Audio bus is now re-enabled in a Finally
- …and 37 more
Written by watchdog.canine.dev from the codebase's own history, inside the signed delivery this page is composed from.
Survey your own repository
Wagnard/display-drivers-uninstaller was measured the same way every project in this corpus was: the same rubric, at a pinned commit, with the result published in full. Point a surveyor at a repository you know and see whether you agree with it.
About this page
- The score is its most recent published measurement, taken on 28 September 2026 at a pinned commit. It is not a live figure and does not change until the project is measured again.
- Measured at commit 1a0408cae9352477d5467ce77ee8b1fe4a467289 — the exact code this score is about.
- Scored under rubric-2026.09.16 — the same rubric and the same method as every other entry in this index.
- Measured by watchdog.canine.dev using codehealth-analyzer preprod-24a00d372a4b.