Razer Blackshark v2 Pro 2023 Synapse 4 THX crackling and broken volume (FINALLY A FIX) | Razer Insider
Skip to main content
Question

Razer Blackshark v2 Pro 2023 Synapse 4 THX crackling and broken volume (FINALLY A FIX)

  • August 31, 2026
  • 0 replies
  • 20 views

With the help of the OG ChatGPT pro, I was able to fix the long running annoying as hell audio issue with Razer Blackshark v2 Pro 2023. I have spent nearly a year for this issue to be fixed.

Update: I finally found a reproducible root cause and a working workaround for this issue.

This is not simply a USB problem, an incorrect sample rate, defective headset hardware, or THX being “too demanding.” On my system, Synapse 4 was creating a broken Windows Audio Processing Object chain in which the THX APOs and Realtek APOs were attached simultaneously to the BlackShark V2 Pro render endpoint.

Removing only the Realtek APO registrations from the Razer endpoint fixed the issue while keeping Windows Audio Enhancements, Synapse EQ, and THX enabled.

My setup

  • Razer BlackShark V2 Pro (2023)

  • USB 2.4 GHz dongle connected directly to the motherboard

  • Windows 11 24H2

  • Razer Synapse 4

  • Windows Audio Enhancements enabled

  • THX Spatial Audio enabled

  • 16-bit, 48 kHz

Symptoms

  • Intermittent crackling/popping during music and other playback

  • Unstable or excessively loud audio

  • Application volume attenuation stopped working correctly

  • In YouTube, for example, volume levels from 1% to 100% could sound almost identical; only 0% muted the audio

  • Closing or preventing Synapse from initializing could avoid the problem

  • Disabling Windows Audio Enhancements fixed it, but also disabled the Synapse/THX processing I wanted to use

What did not fix it

I tested or ruled out the following:

  • Different USB ports

  • Exclusive mode

  • Windows communication-volume settings

  • Different application-volume settings

  • Disabling other spatial-audio systems

  • Disabling Synapse bass boost, normalization, voice clarity, and similar effects

  • Clean Synapse reinstall

  • Audio service restarts

  • Updating the THX core components from 3.2.3 to 3.2.6

  • Disabling THX dynamic-range processing

  • Reinstalling or refreshing the endpoint

These changed some behavior but did not correct the underlying problem.

What I found

Windows registers audio effects for each render endpoint under:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render\{ENDPOINT-GUID}\FxProperties

The endpoint GUID is generated per system, so do not copy an endpoint GUID from another computer.

On the broken BlackShark endpoint, these effect-chain properties contained both THX and Realtek APOs:

{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},13 SFX / stream effect
{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},14 MFX / mode effect
{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},19 offload SFX
{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},20 offload MFX

The relevant APO CLSIDs were:

THX SFX:
{C792E395-BD30-472D-9A2F-2783D7FAF812}

THX MFX:
{68650828-CA0F-4196-9096-5F50931AF10A}

Realtek SFX:
{905399BE-697F-47A1-B8DA-169719603BCF}

Realtek MFX:
{9063CBD4-3561-449D-8011-E21BBB69B9DB}

Realtek offload SFX:
{90B31DF6-F3AB-4867-8E [removed by moderator] 12}

Realtek offload MFX:
{90C35236-DBBD-420C-B63C-FDBFE465201A}

The broken chain was effectively:

SFX = THX SFX + Realtek SFX
MFX = THX MFX + Realtek MFX
Offload = Realtek APOs

The working chain is:

SFX = THX SFX only
MFX = THX MFX only
Offload SFX/MFX = not present

There was also a Realtek CAPX default property store below the endpoint:

FxProperties\
{12325c6d-6d93-4ab3-bff6-d04968d361dd}\
Default

It contained another set of Realtek SFX/MFX and offload registrations:

{64BAB867-08A8-4429-AC4C-1291BA92EAC7},13
{64BAB867-08A8-4429-AC4C-1291BA92EAC7},14
{64BAB867-08A8-4429-AC4C-1291BA92EAC7},19
{64BAB867-08A8-4429-AC4C-1291BA92EAC7},20

On my machine, this composite THX + Realtek chain was the trigger. Realtek itself did not need to be uninstalled. It remains installed and available for the onboard audio/Dolby devices; it is only removed from the Razer USB render endpoint.

Result after isolating the THX chain

Immediately after restarting the Windows Audio service:

  • Crackling disappeared

  • YouTube’s volume control worked normally across its full range

  • Volume attenuation was restored

  • Synapse EQ continued working

  • THX continued working

  • Windows Audio Enhancements remained enabled

  • Realtek remained installed for the computer’s onboard audio

This means “disable Audio Enhancements” is not the only possible workaround. Enhancements can stay enabled as long as the Razer endpoint has a valid THX-only effect chain.

One-time workaround

Warning: This edits the Windows audio endpoint registry. Lower the headset’s physical volume, stop all playback, run PowerShell as Administrator, and create a backup first. Do not use it if the diagnostic does not find the exact THX and Realtek CLSIDs shown above.

The script dynamically locates the affected endpoint, so it does not use my machine-specific endpoint GUID.

$ErrorActionPreference = 'Stop'

$renderRoot = 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\MMDevices\Audio\Render'

$streamName = '{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},13'
$modeName = '{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},14'
$offloadStream = '{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},19'
$offloadMode = '{d04e05a6-594b-4fb6-a80d-01af5eed7d1d},20'

$thxSfx = '{C792E395-BD30-472D-9A2F-2783D7FAF812}'
$thxMfx = '{68650828-CA0F-4196-9096-5F50931AF10A}'

$realtekSfx = '{905399BE-697F-47A1-B8DA-169719603BCF}'
$realtekMfx = '{9063CBD4-3561-449D-8011-E21BBB69B9DB}'
$realtekOffloadSfx = '{90B31DF6-F3AB-4867-8E [removed by moderator] 12}'
$realtekOffloadMfx = '{90C35236-DBBD-420C-B63C-FDBFE465201A}'

$realtekContext = '{12325c6d-6d93-4ab3-bff6-d04968d361dd}'
$storeNames = @(
'{64BAB867-08A8-4429-AC4C-1291BA92EAC7},13',
'{64BAB867-08A8-4429-AC4C-1291BA92EAC7},14',
'{64BAB867-08A8-4429-AC4C-1291BA92EAC7},19',
'{64BAB867-08A8-4429-AC4C-1291BA92EAC7},20'
)

$targets = @(
Get-ChildItem -LiteralPath $renderRoot | ForEach-Object {
$fxPath = Join-Path $_.PSPath 'FxProperties'

if (-not (Test-Path -LiteralPath $fxPath)) {
return
}

$fx = Get-ItemProperty -LiteralPath $fxPath

$sfx = [string[]]$fx.$streamName
$mfx = [string[]]$fx.$modeName
$osfx = [string[]]$fx.$offloadStream
$omfx = [string[]]$fx.$offloadMode

$hasThx =
$sfx -contains $thxSfx -or
$mfx -contains $thxMfx

$hasRealtek =
$sfx -contains $realtekSfx -or
$mfx -contains $realtekMfx -or
$osfx -contains $realtekOffloadSfx -or
$omfx -contains $realtekOffloadMfx

if ($hasThx -and $hasRealtek) {
[pscustomobject]@{
Endpoint = $_.PSChildName
FxPath = $fxPath
}
}
}
)

if ($targets.Count -eq 0) {
Write-Host 'No THX + Realtek conflict was found. No changes made.'
return
}

$backupFolder = Join-Path `
([Environment]::GetFolderPath('Desktop')) `
('Razer-THX-Backup-' + (Get-Date -Format 'yyyyMMdd-HHmmss'))

New-Item -ItemType Directory -Path $backupFolder | Out-Null

foreach ($target in $targets) {
$registryPath =
"HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\" +
"MMDevices\Audio\Render\$($target.Endpoint)\FxProperties"

$backupFile = Join-Path $backupFolder "$($target.Endpoint).reg"

& reg.exe export $registryPath $backupFile /y | Out-Null

if ($LASTEXITCODE -ne 0) {
throw "Registry backup failed for $($target.Endpoint)"
}
}

$audioWasRunning =
(Get-Service -Name Audiosrv).Status -eq 'Running'

try {
if ($audioWasRunning) {
Stop-Service -Name Audiosrv -Force
(Get-Service -Name Audiosrv).WaitForStatus(
'Stopped',
[TimeSpan]::FromSeconds(20)
)
}

foreach ($target in $targets) {
New-ItemProperty `
-LiteralPath $target.FxPath `
-Name $streamName `
-PropertyType MultiString `
-Value ([string[]]@($thxSfx)) `
-Force | Out-Null

New-ItemProperty `
-LiteralPath $target.FxPath `
-Name $modeName `
-PropertyType MultiString `
-Value ([string[]]@($thxMfx)) `
-Force | Out-Null

Remove-ItemProperty `
-LiteralPath $target.FxPath `
-Name $offloadStream, $offloadMode `
-ErrorAction SilentlyContinue

$defaultStore = Join-Path `
$target.FxPath `
"$realtekContext\Default"

if (Test-Path -LiteralPath $defaultStore) {
Remove-ItemProperty `
-LiteralPath $defaultStore `
-Name $storeNames `
-ErrorAction SilentlyContinue
}
}
}
finally {
if ($audioWasRunning) {
Start-Service -Name Audiosrv
(Get-Service -Name Audiosrv).WaitForStatus(
'Running',
[TimeSpan]::FromSeconds(20)
)
}
}

foreach ($target in $targets) {
$fx = Get-ItemProperty -LiteralPath $target.FxPath

Write-Host "Endpoint: $($target.Endpoint)"
Write-Host "SFX: $([string[]]$fx.$streamName -join ', ')"
Write-Host "MFX: $([string[]]$fx.$modeName -join ', ')"
}

Write-Host "Backup saved to: $backupFolder"
Write-Host 'THX-only chain applied.'

The final output should show only the THX SFX and THX MFX CLSIDs.

To undo it, stop the Windows Audio service, import the generated .reg backup, and restart the service.

Why the fix may not remain permanent by itself

Synapse or a device/driver initialization can add the Realtek registrations back later. On my system, Synapse sometimes initialized several minutes after login, after an ordinary startup task had already completed.

Microsoft’s documentation also explains that an APO’s Default property store is populated from its INF package and may be repopulated by Windows or a driver operation:

https://learn.microsoft.com/en-us/windows-hardware/drivers/audio/windows-11-apis-for-audio-processing-objects

Because of this, my permanent workaround uses a small guard running as SYSTEM:

  • At Windows startup

  • Five seconds after user login

  • Once per minute afterward

  • It checks all render endpoints for the exact THX + Realtek combination

  • If the chain is already THX-only, it exits immediately without restarting audio

  • If Realtek has been added back to a THX endpoint, it applies the correction and restarts the Windows Audio service

  • It does not remove or disable the Realtek driver globally

The guard has already detected and repaired subsequent reinsertions on later days, confirming that the bad chain can return after the initial repair.

A custom kernel driver is not required. This is an endpoint APO-association problem in the existing Windows user-mode audio pipeline.

What I believe Razer/Realtek need to investigate

Based on the reproducible behavior, I believe engineering should investigate:

  1. Why the Realtek SFX/MFX and offload APOs are being associated with the Razer USB render endpoint after Synapse 4 initializes.

  2. Whether a Realtek extension INF or CAPX default store is incorrectly matching this endpoint.

  3. Why application/session-volume attenuation becomes ineffective when the composite THX + Realtek chain is active.

  4. Why the conflict causes intermittent crackling and unstable gain rather than failing cleanly.

  5. Why Synapse can recreate the bad endpoint configuration after login, reboot, or device re-enumeration.

I am describing what was confirmed on my own system, not claiming that every crackling issue has the same cause. However, users with the same symptoms can safely perform the read-only inspection first and check whether their endpoint contains the same THX and Realtek CLSIDs.

The important distinction is this:

Disabling Windows Audio Enhancements only bypasses the broken chain. Removing the unrelated Realtek APOs from the Razer endpoint repairs the chain while preserving Synapse EQ and THX.