What is AUDIODG.EXE?

One of the new audio components in Vista is a new process named audiodg.exe.

If you look at it in taskmgr, the description shows "Windows Audio Device Graph Isolation", but that's not really particularly helpful when it comes to figuring out what it does.

The short answer is that audiodg.exe hosts the audio engine for Vista.  All the DSP and other audio processing is done in audiodg.exe.  There are two reason it runs outside of the windows audio service.

The first is that there's 3rd party code that gets loaded into audiodg.exe.  Audio hardware vendors have the ability to install custom DSPs (called Audio Processing Objects or APOs) into the audio pipeline.  For a number of reasons (reliability, serviceability, others) we're not allowed to load 3rd party code into svchost processes (svchost.exe is a generic host process for services that's used inside Windows). So we need to move all the code that interacts with these 3rd party APOs outside the audio service (that way if an APO crashes, it won't take out some other critical part of the system with it).

The second reason for using a separate process for the audio engine is DRM.  The DRM system in Vista requires that the audio samples be processed in a protected process, and (for a number of technical reasons that are too obscure to go into) it's not possible for a svchost hosted service to run in a protected process.

 

So why audiodg?

As I mentioned in my post "Audio in Vista, The Big Picture", the route that audio samples take through the audio engine can be considered a directed graph.  Internally, we refer to this graph as the "Audio Device Graph" (ok, strictly speaking we call the part to the left of the mixer as the local graph, and the part to the right of the mixer the device graph, but when we consider the big picture, we just call it the audio device graph).

So why AudioDG?

Originally we called the process DeviceGraph.Exe.  For a number of reasons that are no longer relevant (they're related to the INF based installer technology that was used before Vista), we thought that we needed to limit our binary names to 8.3 (it's a long story - in reality we didn't, but we thought we did).  So the nice long names we had chosen (AudioEngine.Dll, AudioKSEndpoint.Dll, and DeviceGraph.Exe) had to be truncated to 8.3.

I felt it was critically important that all the audio components had to have the word "Audio" in the beginning to make it clear that they had to do with audio functionality.  Since we thought we were limited to 8.3 names, that meant we had 3 letters to play with in the name.  For AudioEngine.Dll, it was relatively simple - it shortened to AUDIOENG.DLL.  Similarly for AudioKSEndpoint.Dll, it shortened to AUDIOKSE.DLL.

But DeviceGraph was somewhat more complicated.  I originally went with AudioADG.EXE (audio+ADG for Audio Device Graph), but people thought it was redundant (It expanded to audio audio device graph). 

Eventually we settled on "AUDIODG.EXE".

So why the funky description?  Well because it accurately reflects what audiodg is - it's a part of Windows, so you get "Windows", it hosts the "Audio Device Graph", and isolates it from the Windows Audio Service.

Comments

  • Anonymous
    January 31, 2007
    OK, so protected processes were created to implement DRM, at least according to a white paper I see on the Microsoft website.   Reading it, it looks like they basically prevent the normal stuff people would do to processes, like injecting code into them, reading the process memory, debugging them, from other user-mode processes.   One question - is there something in Vista that prevents you from creating a kernel-mode process to do this?  The white paper basically said "don't do that - it would be bad". I'm wondering if the DRM is really that toothless?

  • Anonymous
    January 31, 2007
    I don't want to go into DRM implementation, but how would you go about creating the kernel mode process? As I understand it, there are mitigations against that sort of thing.

  • Anonymous
    January 31, 2007
    Now, of course, someone will have to ask why their foreign-language version of Vista has the English audio.dll version. Why not audioesp.dll, audiochn.dll, or audiotlh.dll? [grin]

  • Anonymous
    January 31, 2007
    My assumption was that you'd be able to create an unsigned kernel-mode driver and load it, at least on 32-bit versions.    That's what this webpage seems to imply, anyways. http://www.microsoft.com/whdc/winlogo/drvsign/drvsign_perOS.mspx Don't get me wrong - I'm not one of those raving fanatics who froth at the mouth on DRM.   Since I have no plans on stealing stuff, as long as it doesn't cause problems when I play the media, and doesn't cause me to have to re-buy it multiple times it simply won't bother me.   But it just seemed to me that someone spent a ton of work to do this for zero benefit, unless you disable playing protected content in the presence of a single unsigned driver on the system (which will be about everyone for awhile). I haven't installed Vista yet anywhere, so I haven't had a chance to explore this.

  • Anonymous
    January 31, 2007
    Well, at some point someone needed to debug these so-called protected processes... i wonder how that was done?

  • Anonymous
    February 01, 2007
    Any software which relies on the kernel preventing code injections is fundementally broken if you have administrator/physical access. Kernel protection just makes things harder, not imposible.

  • Anonymous
    February 01, 2007
    Gil-Ad, you can disable protecting audiodg.exe with a registry key (it's documented in the "how to write a sysfx" document).  Of course protected content won't play, but...

  • Anonymous
    February 01, 2007
    "...they're related to the INF based installer technology that was used before Vista..." Larry, is inf based installing not anymore blessed by MS for Vista? -- Stefan

  • Anonymous
    February 01, 2007
    The comment has been removed

  • Anonymous
    February 03, 2007
    I have a question. Do you know of any issues with resource issues and this process? Whenever I hear my fan working I look and, lately, audiodg.exe is using between 14 and 20% of my dual core processor. There is no sound playing or any apps open that would use it like media players. Is it a sound driver issue? Using a Creative Audigy ZX2 OEM. I've been hearing rumblings on the net about other issues like game features, but I've seen reference to resource issues as well. Any help is appreciated. - Eric

  • Anonymous
    February 05, 2007
    Eric, it's possible some application is capturing from the microphone.  Audiodg.exe CPU usage of 14% is very unexpected though - even when rendering a reasonable number of streams (1-5) it doesn't use that much CPU. Do you have any special audio effects enabled?  It's possible those are chewing your CPU time up.

  • Anonymous
    February 05, 2007
    Any reason why audiodg.exe would be using over 300 megs of RAM? http://www.chrismartin.info/blah/audio.jpg

  • Anonymous
    February 06, 2007
    The comment has been removed

  • Anonymous
    February 07, 2007
    The comment has been removed

  • Anonymous
    February 07, 2007
    Or you could ue Windows Defender to manage your startup programs :) I'm still trying to figure out what's up with the excessive CPU consumption in audiodg, my current guess is it's a driver problem but I'm not sure yet. As for the memory consumption in audiodg, try disabling system effects (it's in the properties tab for your audio devices (both capture and render)) and see if it changes things.  You'll probably have to restart the audio service (to free up the wasted memory).

  • Anonymous
    February 10, 2007
    Im getting the excessive memory problem too, audiodg.exe uses between 220 and 340mb of ram :( my motherboard is a Gigabyte GA-965P-DS3 with realtek HD audio - I downloaded the vista audio drivers from the gigabyte website realtek driver information: Audio driver version: 6.0.1.5302 DirectX version: 10.0 Audio controller: HD Audio Audio codec: ALC 883

  • Anonymous
    February 11, 2007
    The comment has been removed

  • Anonymous
    February 12, 2007
    The comment has been removed

  • Anonymous
    February 13, 2007
    The comment has been removed

  • Anonymous
    February 14, 2007
    I think I am runing the standard Vista Ultimate edition. The sampling rate is set to 16 bit, 48000 Hz.

  • Anonymous
    February 18, 2007
    Just wanted to add that I'm also running a Gigabyte DS3 motherboard with Realtek onboard sound. Audiodg.exe leaks memory about 1/2 meg per song in windows media player. If I start WMP and watche the memory usage, every time I click "next track" the memory usage goes up circa 5-600kb. I hope this is of some help to you in solving the problem.

  • Anonymous
    February 21, 2007
    Either we can owe this coincidence to the popularity of the Gigabyte GA-965P-DS3 (not likely) or we have a problem with audiodg.exe that we Gigabyte owners just happen to be in here reporting (I stumbled on this thread while 'googling' for some answers to 'audiodg.exe +memory').  I'm also a DS3 owner, running Vista Premium, using the onboard Realtek audio and I'm sitting here wondering why my clean build is chewing on 380MB of my 2GB of RAM.  I paid good money for my RAM, I'd rather not have it leaking all over the system board.  Anyone find a good answer to this agressive memory consumption and audiodg.exe? -mark

  • Anonymous
    February 21, 2007
    Most excellent.  Here's some additional data for anyone at Microsoft that might be listening.  I have my Realtek configured with nothing by stock/default options.  No special DSP settings, etc.  16 bit, 48Khz.  Vanilla all the way.  Ok... with that said.  I can sit here with TaskMgr running and open "System Sound Events" in Vista and EAT memory just by playing system sounds with the "Test" button in system sound events panel.  Good stuff.  Memory is cheap, and all.. but please don't eat my memory.  Put it back where you found it when you're finished using it.  Hopefully someone at MS gets a whiff of what stinks in audiodg.exe and renders a quick, reliably fix.  I'd hate to run back to XP, but I might have to if this kind of misbehavior lingers for very long.  I can't afford to reboot just because I superceded my daily quote for audio playback.  Maybe that's part of DRM?!?!  ;-) -Mark

  • Anonymous
    February 25, 2007
    The comment has been removed

  • Anonymous
    February 25, 2007
    It could be Realtek's fault... I didnt particularly like their XP drivers (my front audio port wouldnt work unless I unplugged the speakers from the rear port and plugged them back in!), so it wouldnt surprise me if they hadnt come up with a proper driver for vista yet (although I dont have the front audio problem now)

  • Anonymous
    February 26, 2007
    Ashley, we're continuing to investigate the issue, it's possible that the problem is in Realtek's system effects. Don't forget that after changing the system effects setting, you need to either reboot your machine or restart the Windows Audio service - memory that's leaked won't be reclaimed.

  • Anonymous
    March 01, 2007
    ... same with me. But again more MB. I have 1 GB RAM, Asus K8NE board, and the very basic first Realtek-Vista driver (no HD stuff). After reboot it takes around 7MB, after using Media Player or Media Center this audiodg.exe takes all the left memory. all prosses are blocked or very, very slow, because the cpu has constantly 100%. I only can stop it by rebooting. I hope it can be solved soon! I'm at this stage not able to use Vista. Myriam    

  • Anonymous
    March 09, 2007
    Hello! I'm using a Gigabyte 965P-DS3, too. Furthermore I have an X-Fi Sooundcard installed. My problem with the audiodg.exe does not concern the memory but the cpu usage. At the moment, in idle mode, not playing any sounds, it takes up to 9 percent cpu usage (Core 2 Duo @ 3 Ghz). There must be something wrong about it. This afternoon, in combination with the spoolsv acting up, it even took up to 48 percent cpu usage. I'm looking forward to a fix for this problem. P.S.: Soory for language mistakes, I'm german.

  • Anonymous
    March 10, 2007
    The comment has been removed

  • Anonymous
    March 11, 2007
    Hi Guys! Ive got a Asus a8n sli premium and im using a "Creative X-FI Xtreme Gamer" . 2 GB Dualchannel Ram X2 3800+ @ 2 x 2.6ghz ( 100% stable ) So now my problem is that my sound breaks down while im playing Counterstrike 1.6. Its like a soundlag every 5 seconds ... and sometimes the soundquality in counterstrike sounds like a live amateur record of a concert ... and when im listing to music with windowsmediaplayer the audiodg.exe needs about 10% cpu power and wmp about 15% ...

  • Anonymous
    March 11, 2007
    Just wanted to add my unfortunate CPU usage of audiodg.exe...  Playing World of Warcraft with TeamSpeak on Vista RTM...  AudioDG.exe uses between 14-22% just like everyone else here commented.  I'm using SoundBlaster Audigy drivers from Creative that they say are Vista-compatible (although I had to install them in Safe Mode to get around some cryptic messages).

  • Anonymous
    March 12, 2007
    I have a 965P-DQ6 v.2 and am using Realtek onboard sound. My problem with audiodg.exe concerns CPU usage. Usage runs over 40% at times.

  • Anonymous
    March 12, 2007
    Same issue 10%-15% utilization when playing music through windows media player (only thing I've tested). If I hit pause during playback down to 0% Creative Labs X-FI card driver version 6.0.1.1261 (downloaded last week) Vista Ultimate Intel e6600, 2GB pc8500, evga 680i MB

  • Anonymous
    March 12, 2007
    Having memory issue... My default format is 16 bit, 44100 hz (CD Quality). Thanks

  • Anonymous
    March 17, 2007
    Just goggled for audiodg.exe and I too have come across this site as I am having issue with audio on my motherboard. I have a DFI Infinity Ultra II with nForce 2 ultra 400 chipset and a Realtek ALC650 on-broad audio chip. Vista business installed some Nvidia drivers (MCP Audio Processing and Audio Codec) and although the sound worked, after a while of use it would either degrade or drop out completely. If watching a video, the video system would slow to a crawl. Restarting the Windows Audio and Windows Audio Endpoint Builder service restored the sound for a short while, but really a reboot was needed. After checking out the spec of the MB, I realised that a Realtek chip was used so went over the Realtek and downloaded their AC97 Vista drivers. I installed and everything appeared to be fine, but then I notice a couple of issues. Firstly, the system is taking an age to boot and almost appear to hang between the green startup bar and the Vista logo being displayed. Secondly, I have no recording devices and if I go onto the "Sound Control Panel" applet and look at the Recording devices, Audiodg.exe immediately starts consuming large amounts of CPU time and the applet hangs. I have to end the Audiodg.exe process and restart the Windows audio drivers to get anything back. I still have the Nvidia MCP driver listed in Device manager and cannot uninstall (or at least it doesn't go away) but I am wondering what the issue might be. Is this an issue with the Realtek drivers or with Audiodg.exe? If I get windows to look for an updated Realtek AC97 Codec diver, it reverts back to the NVIDIA(R) nForce(TM) Audio Codec Interface. Chris

  • Anonymous
    March 17, 2007
    Chris, you're going to want to get the AC97 driver that goes with your motherboard, you should either use the XP driver that came with it or go to the DFI web site and see if they have an updated driver. Otherwise you're likely to find all sorts of strange problems.

  • Anonymous
    March 18, 2007
    I get processor usage from audiodg.exe only when CMSS-3D is on on my X-fi. Hope that helps. Other built-in effects don't use software processing and seem to only use the card's built-in hardware.

  • Anonymous
    March 19, 2007
    The comment has been removed

  • Anonymous
    April 08, 2007
    OK, so I just read through all the comments posted here and am having a similar problem, I just installed Vista Home Premium and have been running around fixing driver problems over the past two days. One I can't seem to come to terms with is the audiodg.exe one... it just eats my cpu and memory, hovering between 0 and 20% when IDLE... and jumping to 99% when in itunes playing music. I'm running a Creative X-fi Music with brand new Vista drivers... 16 bit sound and 48 KHz quality... I'm also using audio tools to enhance sound, but it's nothing different than what I used on XP with no problems. I don't have mobo sound so the sound card is really my only option. Please help!

  • Anonymous
    April 11, 2007
    My 13 year old partition survives yet another upgrade!  I just resovled my problem where there was no sound after upgrading to Vista.  More details can be found here: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1387492&SiteID=1 Hopefully, this might help some of you out.

  • Anonymous
    April 17, 2007
    hello - i have looked tried all sorts of forums but nobody has an answer - thought i'd post here because you understand AUDIODG.EXE  - and i'm desperate :( Vista 'beeps' at odd times - when i navigate aol email, highlight (click on) some functions of some other programs - it plays the default beep - "windows ding.wav" - --> ! there are NO sound themes for these actions! / they never beeped in xp. If i delete the windows ding.wav file then my pc speaker beeps instead. i ran the program process explorer and noticed there was a little cpu usage for audiog.exe whenever this problem occurred. How can i figure out why vista sends a signal to play a sound under these particular circumstances?