0

My NVIDIA High Definition Audio device connected to my LG D2342P monitor via HDMI, produces a pop on my Logitech 2.1 speakers when it switches from power state D0 (on) to D3 (low power) after 6 seconds in Windows 11 Home 23H2. My Target TRG-S 120 did not pop, but unfortunately that hardware fell to its demise, so a software solution should work as well.

Lowering speaker Hz, disabling audio enhancements, disabling other speaker devices, and disabling PCI idling didn't help. I don't even see the speaker in PowerSettingsExplorer.

I think a script like this would help to stop the state transitions, but how to modify it for my device?

# Enable Realtek driver power management, this is the default value
REG ADD "HKCU\Software\Realtek\RAVCpl64\PowerMgnt" /v "Enabled" /t REG_DWORD /d 1 /f

# Disable Realtek driver power management, sometimes fixes realtek popping sound
REG ADD "HKCU\Software\Realtek\RAVCpl64\PowerMgnt" /v "Enabled" /t REG_DWORD /d 0 /f

# Replace XXXX with the corresponding key that has "Realtek" in the "DriverDesc", find using regedit
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\XXXX\PowerSettings" /v "IdlePowerState" /t REG_BINARY /d "ffffffff" /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\XXXX\PowerSettings" /v "PerformanceIdleTime" /t REG_BINARY /d "ffffffff" /f
# Example if class is in 0000
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0000\PowerSettings" /v "IdlePowerState" /t REG_BINARY /d "ffffffff" /f
REG ADD "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0000\PowerSettings" /v "PerformanceIdleTime" /t REG_BINARY /d "ffffffff" /f

While not playing audio, my Device Manager says:

Not playing audio. Audio driver sleeps.

But when I start playing audio, I don't hear the first second or two and the state changes to this:

Playing audio. Audio driver awake.

Use the arrow keys to update the selected data.

1 Answer 1

0
  1. In Device Manager device properties, select Class Guid and copy the value.
  2. Use Registry Editor to find that value folder in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\
  3. Find the numbered folder with the DriverDesc matching your driver (in my case 0005).
  4. Open that folder and select PowerSettings
  5. Optionally use File, Export to save a back up .reg file.
  6. Change the PerformanceIdleTime to 00 00 00 00 to have the idle pop occur after 11 instead of 6 seconds and maybe tweak IdlePowerState as well:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0005\PowerSettings]
"ConservationIdleTime"=hex:04,00,00,00
"IdlePowerState"=hex:00,00,00,00
"PerformanceIdleTime"=hex:00,00,00,00

In PowerShell, running REG QUERY "HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0005\PowerSettings" /v "IdlePowerState" now results in

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0005\PowerSettings
    IdlePowerState    REG_BINARY    00000000

But the Power data still says D3. Maybe a reboot helps. Never mind, disabling and enabling the driver worked; Power data now stays on D0 without playing audio!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .