• Welcome to TechPowerUp Forums, Guest! Please check out our forum guidelines for info related to our community.

Modify the HD Audio driver's timeout values

Computermaster

New Member
Joined
Oct 22, 2019
Messages
1 (0.00/day)
Hey I'd like to make a feature request. Quoting my most recent benchmark thread:

If you have a VR headset and are having issues with the non-USB audio being unavailable, run this script: https://pastebin.com/q290MdtQ

If you have other weird issues and are having audio output by your video card, I would also recommend giving that script a shot.

Here is more background on this issue

The TL;DR is that nvidia in all their ungodly wisdom have the HD Audio driver set to go to the deepest sleep state possible after ***four seconds***, and many devices are incapable of waking it back up. My script changes it to never go to sleep after it's installed, but I think it would be a helpful addition to have NVCleanInstall fix it too.

The file to change is (default location)

C:\NVIDIA\DisplayDriver\436.48\Win10_64\International\HDAudio\hda.inf

The section that needs to be altered is

[NVHDA_D3cold.AddReg]

The default values are

HKR,PowerSettings,ConservationIdleTime,1,04,00,00,0 ; 4 seconds for idle power management when on battery - enabled
HKR,PowerSettings,PerformanceIdleTime,1,04,00,00,00 ; 4 seconds for idle power management when on AC power - enabled
HKR,PowerSettings,IdlePowerState,1,03,00,00,00 ; go to D3 for idle power management

Proper values would be

HKR,PowerSettings,ConservationIdleTime,1,00,00,00,0 ; 4 seconds for idle power management when on battery - enabled
HKR,PowerSettings,PerformanceIdleTime,1,00,00,00,00 ; 4 seconds for idle power management when on AC power - enabled
HKR,PowerSettings,IdlePowerState,1,03,00,00,00 ; go to D3 for idle power management

I honestly can't see putting the driver to sleep saving any significant amount of power.
 
Last edited by a moderator:
NVCleanstall 1.1.0 has just been released, which adds this feature
 
Is this a fix for delayed audio (that would, for example, keep short Windows sounds from happening at all) that needs fixes like AVR Audioguard (no longer available) or SPDIF KeepAlive (which stopped working for me for unknown reasons)? I went back to analog audio at some point because of that.

P.S. Is this possible to do with Realtek and AMD's HDMI audio?
 
Is this a fix for delayed audio (that would, for example, keep short Windows sounds from happening at all) that needs fixes like AVR Audioguard (no longer available) or SPDIF KeepAlive (which stopped working for me for unknown reasons)? I went back to analog audio at some point because of that.

P.S. Is this possible to do with Realtek and AMD's HDMI audio?
I'm wondering this same thing. Did you ever find a conclusive answer to this?
 
I tried it and it did no good.
 
This tweak doesn't seem to be working and should be adjusted.

I'm using Windows 8.1 and NVIDIA High Definition Audio would have sounds corrupted if the machine when to sleep while audio was playing in the backround. This is a similar related issue. The solution I found was to add a Dword (32 bit) named "PnPCapabilities" with the value 0x018 (24) to HKR (root, not the PowerSettings key).

This completely and properly disables all power management for the device, as intented by the current fix implemented in NVCleanstall (great program!)

See here:
Allow the computer to turn off this device to save power grayed out (thewindowsclub.com)
Power management setting on a network adapter - Windows Client | Microsoft Docs
 
This tweak recently hasn't been working after I trim with Nvcleanstall, but I figured out how to fix it manually by reading the script.
Maybe somebody else will find this tip useful.

If you find that your HDMI Audio Delay is still a problem, try visiting the following registry key:
HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\

Under this key will be a list of subkeys looking like "0000", "0001", "0002".... you need to expand each one of those while looking in the right window pane for a REG_SZ value named DriverDesc, it's data will say "NVIDIA High Definition Audio". Once you locate this, you've found the correct registry key.

Expand the above key's subkeys and you will find one named "PowerSettings".
Inside the PowerSettings key, you will find 3x REG_BINARY values (ConservationIdleTime, IdlePowerState, PerformanceIdleTime)
If any of these values show anything besides "00 00 00 00" then you need to change them so they say "00 00 00 00".... Reboot... Done.

I know the above is confusing. Why can't I just give you the registry address? Because those "000x" keys are system dependent but here is what the full registry address looks like on my machine:
{For Example Only} HKLM\SYSTEM\CurrentControlSet\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}\0003\PowerSettings\


EDIT:
Can confirm, I've run DDU and re-installed my GPU driver twice today and the registry key that gets set incorrectly is REG_BINARY value "IdlePowerState" and it's getting set to "03 00 00 00" instead of all zeros.
 
Last edited:
hmm i'm not setting IdlePowerState.

What it does:
SYSTEM\CurrentControlset\Control\Class\{4d36e96c-e325-11ce-bfc1-08002be10318}
> find "ProviderName" = "NVIDIA Corporation"
> PowerSettings
> set ConservationIdleTime and PerformanceIdleTime to 0 0 0 0

I don't think IdlePowerState should be set to 0: https://learn.microsoft.com/en-us/w...-device-class-inactivity-timer-implementation

"The default value for this parameter is 3, corresponding to device power state D3, which is the lowest-powered device low-power state."
 
Last edited:
Back
Top