Windows not remembering default audio device?

I prefer the audio output on my computer to use the standard audio jack output due to volume issues. But I am using a monitor with HDMI. I have chosen to set the default audio device to be "Speakers"

Screenshot of Sound Panel

But every time I reboot the default audio device is the HDMI Output again.

Screenshot of Sound Panel

I am running Windows 7 64bit. Why does it not remember the default device? (I do shutdown and boot up properly without errors.)


Solution 1:

The Quick and Easy Way Out

One way to go about this is to disable the HDMI audio device in the Device Manager. This won't let you use your HDMI audio unless you enable it again, so you'll have to remember how to do that; but the upside is that you won't even see the HDMI audio device in the playback/recording properties in the control panel.

But I Want It To Work Right!

The reason this is happening is likely because the VIA sound driver has a bug that causes it not to perform "jack detection" correctly.

Jack detection is a mechanism which detects whether you have a sound device plugged into your sound jack. It is a fairly new technology based on sensing whether an electrical current is being drawn from the audio port (a very small amount of energy is needed to transmit the audio over a standard 3.5" cable).

When jack detection is working correctly on Windows 7, Windows will automatically keep using a device marked as default as long as an audio output (speakers, headphones, etc) is plugged into the device. But if some other device has a connected jack and the default device doesn't, it will switch to the device that is connected. It does this to prevent people from having to manually dig around in the control panel to listen to audio: it helps new users because the audio "just plays" out of whichever device the jack is plugged into.

Jack detection is actually a software mechanism that is easily broken and very hardware-specific. On the Linux operating system, the Advanced Linux Sound Architecture (ALSA) driver developers have struggled with jack detection for years, having the labor-intensive task of making it work on tons of different sound cards. Unfortunately, most motherboards ship a unique or nearly-unique audio chipset, making the problem worse. This also means that Windows drivers are equally error-prone.

Bad Driver Developers Vs. The Public

Suggestions that may enable proper jack detection without having to disable the device in the device manager:

  • Update your audio drivers from your motherboard manufacturer's website.
  • Update your AMD Catalyst drivers to the latest.

The reason that the system always thinks your HDMI audio is "plugged in" is likely that you use HDMI or DisplayPort to plug in your monitor. Windows says "oh, you have a monitor plugged in", and the electrical signaling with the monitor indicates that an audio path is available, so of course it tries to use that as the default device -- especially if your VIA audio driver doesn't have proper jack detection and Windows thinks nothing is plugged in.

Here's a real quick jack detection test:

  • Start up the Windows control panel to the page where you took the screenshot in your question.
  • Plug in your 3.5mm speakers/headphones plug into the motherboard's sound chipset (the VIA).
  • Unplug it.

If nothing in the UI changes to say "Device unplugged" or "Not plugged in", then jack detection is not functioning properly.

If you can definitively determine that jack detection is working properly, and you still can't get this to work as you desire, you may have to resort to disabling the device in the device manager. :/

Compliment Thy Querant

BTW, hi! :) You have an awesome avatar, hehe :)

Solution 2:

In windows 10, I use headphones that are connected via optical, and recently the computer has decided at random to just switch to the monitor built ins for no apparent reason in the middle of youtube videos and games. Looking at the responses here, I tried looking into the device manager. The audio inputs and outputs area looked to just mirror the available things on the playback devices, but under "sound, video and game controllers" was an "Nvidia high definition audio" which I disabled and bam! no more monitor speakers showing up in the playback devices. Now to see how long this one works.