Preventing Windows 7 from reverting to stereo?

3

I have an Intel Sandy Bridge-based Windows 7 x64 machine primarily used as an HTPC connected to a Pioneer SC-1223-K receiver via HDMI audio. When the receiver goes into standby (i.e.: off), Windows forgets that it is connected to a 5.1 sound system and changes the speaker configuration to stereo. I can of course go to the Sound control panel and change it back to 5.1, but this is a time consuming task, and requires the use of a mouse, which is not desirable on a WMC-driven HTPC interface.

I have tried modifying the EDID of the "Generic PnP Display" as suggested over at AVSForums and gone through this thread that also discusses stereo reversion, but on a game rather than Windows overall, without luck. If it makes a difference, HDMI passthrough is disabled on the receiver, though it did not appear to make any difference when I tried flipping the settings.

I'd like to "lock" Windows' speaker setup on 5.1, delete/disable all the potential speaker configs other the preferred 5.1 setup, or completely bypass the Windows audio subsystem and use an alternate one that always outputs 5.1 sound. Any suggestions how to?

vnangia

Posted 2014-01-01T18:44:15.897

Reputation: 31

Can you provide more info on the sound card you are using? Does it have its own application in which you can configure the settings (e.g., Creative Entertainment Console)? Often times, such applications can override Windows' settings. – P Fitz – 2014-01-01T20:11:23.113

Onboard sound that ships with the motherboard - a Gigabyte H67N-USB3-B3 mini-ITX motherboard, paired with the i3-2100. I deliberately did not install any additional applications. – vnangia – 2014-01-02T00:46:05.530

Which Windows setting is it that you have to go in and change each time? Is it the speaker configuration?

If so, shouldn't you be sending a digital PCM signal to the receiver so that the receiver (not Windows) does the multi-channel decoding? If Windows is outputting a digital signal (via HDMI, coax, or optical cable), then the speaker configuration option isn't even available. – P Fitz – 2014-01-02T16:29:21.603

Sorry, I'm confused. That's EXACTLY what I want it to do: stay in PCM mode and let the receiver do the decoding. However, when using the HDMI out titled "Intel Display Audio", the speaker configuration option exists and keeps reverting to stereo. I want to prevent that from happening. How do I prevent that from happening? – vnangia – 2014-01-02T20:06:57.610

Try this: bring up the list of playback devices, right click on Intel Display Audio" and go into the properties of that device.

Go to the "Advanced" tab, click the format drop down menu, and see if there is a selection for digital output. If there is, the item will say something like "Digital output" or "Dolby Digital" instead of a bit/sample rate.

If there isn't such an item in that menu search the other tabs in the properties menu for that device for a digital output or PCM option. You may end up having to install the audio drivers to access all of the features of that device. – P Fitz – 2014-01-02T21:07:51.117

No, no such options. There doesn't appear to be a newer/later driver than the existing one. The motherboard manufacturer doesn't ship anything else, and Intel doesn't seem to have anything either.

Is there really no way to just remove the speaker configurations other than my preferred 5.1 setup? Is there no way, short of buying a HDMI detective to have Windows retain the audio setup with the receiver off? – vnangia – 2014-01-04T03:11:36.580

It looks like you aren't the only one to experience this problem. It is discussed here on the Intel Support Community: https://communities.intel.com/message/161865

Sounds like you're going to have to get a separate sound card to avoid the problem.

– P Fitz – 2014-01-04T15:04:59.113

Perhaps you could try a hardware-direct output method. I don't think Intel Display Audio supports ASIO output but you could try WASAPI or some other Kernel Streaming method to circumvent Windows' output methods. AC3 Filter offers these (and a ton of other) output methods. Here's a link: http://www.ac3filter.net/. Do let me know if and how you end up fixing this.

PS - I hadn't heard of HDMI Detective before but I looked it up and that does look like a handy gadget.

– P Fitz – 2014-01-04T18:03:25.743

So it doesn't work. It appears very simply to be an issue with Windows refusing to retain the speaker configuration, regardless of what is generating the sound. Is there any way to manually edit a file or the registry that lists the options to eliminate the other options? – vnangia – 2014-01-05T03:06:45.743

Answers

1

I've been searching for a solution to this for a LONG time. I'll share what I've gathered thus far, but please forgive the less-than-complete answer (I'll update as I find more).

What I've gathered --

HDMI and DisplayPort connections are "Hot Plug Detectable" -- whenever a device is connected with one of these, it communicates two-ways between itself and the main device. This is why Windows will juggle your display/desktops around when you connect or disconnect a monitor with one of these connection types. This does not happen with DVI connections, because Windows doesn't know when the device is turned on or turned off.

The problem with this -- each time your device turns off, Windows uninstalls it from the system. When you turn the device back on, Windows sets it up as a completely new device. I speculate this is what's causing the HDMI sound configuration to keep resetting to Stereo -- the sound device/configuration for my AMD HDMI sound output is getting "uninstalled" whenever I turn my monitor off (or reboot, sleep, etc.), and then gets reinstalled as a new device when I turn it back on again, ...resetting the speaker configuration to Windows' default of Stereo.


The issue is hardware polling. Switching desktop cloning/extending modes in windows is not the solution.

I use a single 27" with Displayport, when I power off my screen, windows uninstalls my screen and resets the running screen resolution to 800x600. This means when I power on my screen, all windows/programs left open are resized to 800x600 and pushed into the top-left corner. Thankfully win7 remembers my icon positions when the desktop returns to 2560x1440 else I would have put my foot through the screen by now.

Displayport is hotswappable thus hardaware polling monitors the connected screens state, if you disconnect, windows simply removes that display, in single monitor mode, this equates to having no screen at all and windows defaults to the generic 800x600 for compatibility reasons.

While is is working "as intened" for hotplug screens, the side effect is that it completely messes with multi monitor set-ups as the OP explained. It also messes with single display solutions, and to date I can't find any damm way to disable this other than hard wiring out a pin on my DP cable to disable the hardware polling.

I can't switch from DP. I need the DP colour bandwidth capabilities for my panel. AMD and Microsoft pretend this is not an issue and have nothing to say for themselves, even though either of them could release a fix/option to disable this behavoiur.

(Source: http://www.overclock.net/t/1235582/dealing-with-displayport-hdmi-autodetect#post_18114801 )


Possible solution? Block pin 19 ("Hot Plug Detect" pin) on your HDMI cable. This will block the on/off detection done by Windows, so the device will appear to stay connected and thus not get uninstalled (taking your settings with it).

This is a double-edged sword, however, because Windows will not be able to detect when the device is connected -- not a problem if you keep your computer on and running, but when you reboot your computer, Windows won't "see" the HDMI/DisplayPort device and thus won't use it.

Here's the source for the pin 19 solution:

SOLUTION: I had the same issue and solved it by cutting the "Hot Plug Detect" pin in my HDMI cable.

Setup: HTPC (and other devices) to receiver to TV all with HDMI cabling.

What I did: Splice the wire and cut the wire associated with the "Hot Plug Detect" pin which is pin 19 of the HDMI connector. It was too hard to remove this pin from such a small connector so I just spiced the wire about an inch and used a continuity tester to determine the correct wire and cut it. For the cable I modified the wire associated with Pin 19, "Hot Plug Detect" was dark purple. (This is the cable between my computer and the receiver.)

Result: Everything works great, the computer detects the tv/monitor through the EDID from the DDC, but the computer DOES NOT detect when my tv/monitor has been turned on/off. The computer acts as though the tv/monitor is always turned on. No resolution re-sizing, no moving windows, no icons changing location, music plays without the tv turned on, etc. The computer simply does not detect the power-on/off of the monitor.

Commentary: While I agree cable/adapter mutilation should not be required, unfortunately it is. Alternatively you can buy a $40-$80 connector box that essentially does the same thing and manages the EDID as well. In my case I figured having a cable with this wire cut was worth it because I will always have a use for it, and my HDMI cables only cost $4 as opposed to $40. If you really want I'm sure you could put an inline switch rather than just cutting the wire.

Summary: MS clearly has no intention of fixing this "feature". Modifying cables or connectors to remove the "Hot Plug Detect" connection is a very good and easy solution. This works for VGA, DVI, and HDMI connections and once done your computer will always assume your tv/monitor is turned on. This is the way to disable display auto-detection.

(Source: http://social.technet.microsoft.com/Forums/windows/en-US/8a9b5aa7-fe33-4e6d-b39b-8ac80a21fdc2/disable-monitor-off-detection-how#71b98215-6f2a-4603-8c97-68bfdbc8fc3b )


Another possible solution I've tried is locking the specific registry key that holds Windows' speaker configuration. This stops even Windows from changing/overwriting it, preventing Windows from resetting to a default "Stereo" configuration.

The problem with this, however, is the same problem as above -- because Windows is uninstalling and reinstalling the monitor (and sound device) each time its turned off/on, it doesn't matter that I lock the registry key for it, because the key is "outdated"/void/unused the next time the monitor is off/on'ed. Each time it's turned back on, Windows creates a completely new device ID for it, along with a new sound configuration key/settings in the registry.


Another solution I've contemplated is automating the setting of the correct speaker setup in Windows sound configuration with a custom program I'm writing myself. I've started writing an AutoHotKey script that, when run, will essentially do the work of going into Windows sound config, setting a 7.1 speaker setup, and then applying and saving the config. Ideally, this script will run GUI-less without needing to visually open the Sound control panel and config windows. It'll basically pull the behind-the-scenes "puppet strings" to accomplish this non-visually so it wouldn't interfere with your work and you wouldn't have to see it happening.

This program would either monitor the current sound device/config in Windows and detect when its been set to "Stereo", or it could just initiate a 7.1-speaker-setting whenever the computer restarts, resumes from sleep, or has a monitor turned on.


And that's the gist of what I've got so far.

Coldblackice

Posted 2014-01-01T18:44:15.897

Reputation: 4 774

0

The root cause of this issue is not the hot plug capability of HDMI nor Windows assigning a new EDID to the device each time it is re-connected or switched on, but the lack of an exactly matching (screen) driver which would allow Windows to properly re-load its settings (like speaker configuration) as Windows does with any other HDMI device which has a specific driver. Unfortunately, Denon does not provide any Windows driver at all.

Since turning off "HDMI control" is no option for me as I want to control the AVR via my TV's remote control, the solution was still quite easy in my case (Windows 7 Pro, 64 Bit; Denon AVR-X2500H): Start up the devices in the correct order:

  1. AVR (with TV)
  2. Ensure PC is selected input source
  3. PC

And shut them down in the reverse order:

  1. PC
  2. After PC is shut down, AVR (with TV).

fuggi

Posted 2014-01-01T18:44:15.897

Reputation: 1

0

Not sure if I am correct. but I think you should also set the number of speakers to 5.1 in WMC, not only Windows. This way WMC will be permanently (hopefully) configured to 5.1 speakers, not stereo. Go to Settings, Audio and check there. I cannot confirm that right now since I'm running Windows 8.1 64-bit and haven't yet added WMC.

spapakons

Posted 2014-01-01T18:44:15.897

Reputation: 406

Thank you, but that's not the issue. WMC is permanently configured to use 5.1, but as it relies on Windows to do the actual sound output, the channels get downsampled to stereo. This is without a doubt a Windows issue. – vnangia – 2014-01-02T00:47:10.313

0

I solved this and other screen resolution related problem with an external EDID emulator (called Doctor HDMI from 3Dfury). This is a small box plugged between HTPC and AVR. It is always on and simulates full-HD 5.1 EDID for the PC (it can copy the EDID of your TV also if you want). The HTPC thinks that my Pana Plasma is always connected and on.

MePoFan

Posted 2014-01-01T18:44:15.897

Reputation: 1

0

For anyone with a Denon receiver (AVR3310CI is what I have), this may work on others too. Try going to the Receiver's Menu then Manual Setup then HDMI Setup then to HDMI Control and set HDMI Control to off. This should prevent Windows from re-detecting the receiver through HDMI and should leave your Windows HDMI Audio driver settings intact.Turning HDMI Control to off on any receiver should resolve the problem of Windows reverting to 2 channel stereo because of the way Windows polls HDMI connections. You should also reboot the computer after making this change and after setting your HDMI audio driver to 7.1 channel audio. I don't know why the reboot is necessary but it doesn't seem to stick without the reboot. It may also be helpful to turn devices on in the following order Computer, TV-monitor and Receiver.

David S

Posted 2014-01-01T18:44:15.897

Reputation: 1

Just reporting in, I have an AVR-790, tried this, and it did not work, even after a reboot. – Jonah H. – 2016-12-14T02:50:02.340

-1

Turning off HDMI Control on my Marantz NR1606 with Windows 10 seemed to solve the issue. 5.1 is retained after restart and when the AVR is switched to a different input and then back to the computer's HDMI where as before Windows would forget and revert to stereo.

flyingmachine

Posted 2014-01-01T18:44:15.897

Reputation: 1