Here's the complete final post ready to copy and paste:
Title: BSOD/Kernel Corruption Fix — Legacy Razer Drivers Being Staged Alongside Modern Drivers by Razer Elevation Service
System Configuration
- Machine: MSI Titan 18 HX AI A2XWJG
- Processor: Intel Core Ultra 9 285HX
- RAM: 96GB
- GPU: NVIDIA GeForce RTX 5090 Laptop GPU
- NVIDIA Driver: 591.86 Game Ready (installed via Custom + Clean Install, graphics driver only)
- OS: Windows 11 Business, Version 25H2, Build 26200.8246
- Installed: Fresh install from Microsoft media on 3/21/2026
- Razer Synapse: Version 4.0.86.2604140749
- Peripherals: Razer Naga Trinity, Razer Tartarus V2
Background
I was experiencing frequent BSODs on Windows 11 after a fresh install from Microsoft media. The crash signatures varied but were consistently kernel corruption-class errors:
- KERNEL_MODE_HEAP_CORRUPTION (0x13A)
- SYSTEM_SERVICE_EXCEPTION (0x3B)
- KERNEL_SECURITY_CHECK_FAILURE (0x139)
- KMODE_EXCEPTION_NOT_HANDLED (0x1E)
Dump analysis consistently showed kernel heap corruption detected in different locations each time — the classic signature of a bad driver corrupting kernel memory earlier, with Windows detecting the damage later in whatever path happened to touch the corrupted state.
The Discovery
Using pnputil /enum-drivers to audit the Driver Store, I found two generations of Razer drivers coexisting simultaneously:
Legacy packages (2017-era, should not be present):
Original Name: rz008fdev.inf
Original Name: rz022bdev.inf
Driver Version: 01/02/2017 6.2.9200.16547
Attributes: Legacy
Modern packages (current, correct):
rzdevu_008f_*.inf (Naga family)
rzdevu_022b_*.inf (Tartarus family)
rzcommonu.inf
Having a 2017 kernel driver coexisting with a modern 2024-era driver stack for the same device family is a plausible kernel corruption source — the old driver was never designed to coexist with the new stack and appears to be scribbling into kernel memory.
The correlation was clear:
- Legacy packages removed → stability returned
- Legacy packages reappeared → BSODs resumed
Root Cause
The legacy packages were being re-staged on every boot by the Razer Elevation Service, even after being manually deleted. The service runs with LocalSystem privileges and stages driver packages for known Razer hardware IDs regardless of whether the devices are physically connected.
The Razer Game Manager Service 3 (AUTO_START) is part of the same startup chain and contributes to triggering the Elevation Service.
Stopping both services before reboot confirmed the packages no longer returned. This was also consistent with community reports that disabling these two services resolved other Synapse-related stability issues including game minimizing.
Additionally, when Synapse is started it prompts for elevation from Razer Power Tool and Razer Security Tool — decline both. These are unnecessary for core device functionality including key bindings and profile switching.
The Fix
Step 1: Check for legacy packages
pnputil /enum-drivers | findstr /i "rz008f rz022b"
If this returns anything, you have the problem.
Step 2: Find the Published Names
pnputil /enum-drivers > "%USERPROFILE%\Desktop\drivers.txt"
Open drivers.txt and search for rz008fdev and rz022bdev. Note the Published Name for each (e.g. oem113.inf). The Published Name changes each time Windows re-stages the package so always get the current value from this file rather than reusing a previous one.
Step 3: Delete the legacy packages
pnputil /delete-driver oem[X].inf /uninstall
pnputil /delete-driver oem[Y].inf /uninstall
Replace oem[X] and oem[Y] with the actual Published Names from Step 2.
Step 4: Confirm deletion
pnputil /enum-drivers | findstr /i "rz008f rz022b"
Should return nothing.
Step 5: Disable the staging services
sc stop "Razer Elevation Service"
sc stop "Razer Game Manager Service 3"
sc config "Razer Elevation Service" start= disabled
sc config "Razer Game Manager Service 3" start= disabled
Step 6: Reboot and verify
pnputil /enum-drivers | findstr /i "rz008f rz022b"
Should return nothing after reboot.
Step 7: Decline elevation prompts
When Synapse prompts for elevation from Razer Power Tool or Razer Security Tool, decline both. These are unnecessary for core device functionality.
Optional: As an additional precaution you can also prevent Windows Update from staging driver packages automatically with this registry policy, though this was not the confirmed staging mechanism in our case:
reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate" /v ExcludeWUDriversInQualityUpdate /t REG_DWORD /d 1 /f
Sentinel Script — Early Warning System
Because the legacy packages can return through multiple mechanisms, this PowerShell script runs at login, detects them, and alerts you with the exact commands needed to remove them. It does not auto-delete anything — it only detects and informs.
Run this in an elevated PowerShell session to install it:
$script = @'
$output = pnputil /enum-drivers
$lines = $output -split "`n"
$foundPackages = @()
for ($i = 0; $i -lt $lines.Count; $i++) {
if ($lines[$i] -match "rz008fdev|rz022bdev") {
for ($j = $i-5; $j -lt $i; $j++) {
if ($j -ge 0 -and $lines[$j] -match "Published Name:\s+(oem\d+\.inf)") {
$foundPackages += $matches[1]
}
}
}
}
if ($foundPackages.Count -gt 0) {
$timestamp = Get-Date
$logLines = @()
$logLines += "[$timestamp] WARNING: Legacy Razer packages detected."
$logLines += ""
$logLines += "Run these commands in an elevated Command Prompt to remove them:"
$logLines += ""
foreach ($pkg in $foundPackages) {
$logLines += "pnputil /delete-driver $pkg /uninstall"
}
$logLines += ""
$logLines += "Then confirm deletion with:"
$logLines += 'pnputil /enum-drivers | findstr /i "rz008f rz022b"'
$logLines += "(Should return nothing if clean)"
$logLines += ""
$logLines += "----------------------------------------"
$logLines | ForEach-Object { Add-Content "C:\logs\razer_sentinel.log" $_ }
$wshell = New-Object -ComObject Wscript.Shell
$wshell.Popup("Legacy Razer drivers detected.`n`nOpen C:\logs\razer_sentinel.log for the exact commands to remove them.",0,"Razer Driver Alert",48)
}
'@
New-Item -ItemType Directory -Force -Path C:\logs | Out-Null
New-Item -ItemType Directory -Force -Path C:\tools | Out-Null
$script | Out-File -FilePath "C:\tools\razer_sentinel.ps1" -Force
$action = New-ScheduledTaskAction -Execute "powershell.exe" -Argument "-NonInteractive -File C:\tools\razer_sentinel.ps1"
$trigger = New-ScheduledTaskTrigger -AtLogOn
$settings = New-ScheduledTaskSettingsSet -ExecutionTimeLimit (New-TimeSpan -Minutes 2)
Register-ScheduledTask -TaskName "RazerLegacyDriverSentinel" -Action $action -Trigger $trigger -RunLevel Highest -Force
The sentinel logs detections to C:\logs\razer_sentinel.log with ready-to-run removal commands each time it fires.
Current Status
System is stable with both services disabled. Key bindings, profile switching, and all core device functionality continue to work normally through Synapse without either service running.
Devices confirmed working without these services:
- Razer Naga Trinity
- Razer Tartarus V2
Chroma RGB: Not tested — if you rely on Chroma lighting effects, test whether disabling these services affects your lighting configuration before committing to the permanent fix.
Note on Reverting
If Synapse ever requires these services for a firmware update or stops working correctly, restore the original state with:
sc config "Razer Elevation Service" start= demand
sc config "Razer Game Manager Service 3" start= auto
Then after completing the update, disable them again and run the pnputil check to confirm legacy packages haven't returned.
Final Note for the Community
We found no existing community posts describing this specific legacy driver coexistence issue. If you are experiencing unexplained BSODs with Razer peripherals on Windows 11, checking for coexisting legacy and modern driver packages in the Driver Store with pnputil /enum-drivers is a worthwhile first diagnostic step.
The Razer community was an invaluable resource during this investigation. Existing posts about disabling the Razer Elevation Service and Game Manager Service 3 to resolve game minimizing issues pointed us in the right direction and helped confirm our findings. Hopefully this post contributes back and pays it forward.
