As a disclaimer, this bug is reproducible 100% of the time, but it's a little complicated to explain and extremely specific. Please bear with me.
About a half year ago, I got a SPDIF compatible 5.1 receiver. At the time, I was using I think VLC 2.0.8, and surround worked pretty flawlessly through SPDIF. I don't watch movies often, but there was a time when I went to watch one, with version 2.1.0, and the sound wasn't working, at all. The receiver acknowledged there was a surround sound signal and even set up the channels accordingly, but there was no sound coming out. I spent several hours trying to figure it out and google searching the problem, as well as workarounds, but none of them worked. I tried deleting my VLC configuration folder and re-apply my settings, but the problem persisted. The best I could do was play the movie in stereo.
Today, though, I had enough and wanted to get this problem out of the way for good. This time, I decided to take things 1 step at a time. Here's how I discovered the bug:
First, I deleted the ~/.config/vlc folder. Then, I ran VLC and opened a .ac3 speaker test. It was in stereo, but it was playing - I expected this. So, I went to the advanced audio settings and the first and only thing I did was enable "Use S/PDIF when available". I re-played the audio file, and surround worked! To be sure everything was cool, I closed VLC and opened the file again - surround still worked. Great!
BUT
Here's where the bug occurs:
Any time I open the "Simple" preferences and navigate between more than 1 section (meaning, Audio, Video, Subtitles / OSD, etc.) and save, 5.1 channel sound stops working. It does NOT matter whether or not I changed anything - it will always permanently fail SPDIF surround; SPDIF stereo still works. When I mean permanently, I mean I can undo all changes and it still doesn't work.
So to walk you through a way to reproduce the error:
1. Delete the ~/.config/vlc folder
2. Open VLC and enable the "Use SPDIF when available" checkbox
3. Go back to "Simple" settings
4. Click on the "Video" tab
5. Click on the "Input / Codecs" tab
6. Click save, then close VLC
7. Open VLC, play a surround sound file, and it won't work. Skip steps 3, 4, and 5, and it will work fine. It doesn't matter which tab you go to in steps 4 and 5, you just need to click on 2 or more tabs.
Just to clarify, if I only move to ONE section under "Simple" settings, make any changes I want, and save, I get no issues at all. The problem also doesn't seem to occur if I move between sections under the Advanced settings.
I also found another cause for the problem - any time I change the "Output Module" (under the Audio secion), surround permanently fails. I'm not sure if this applies to Windows users.
For some system info:
Arch Linux 64 bit
ALSA (I tried Pulseaudio, but that had its own set of issues)
Realtek ALC889
VLC 2.1.2
No ~/.asoundrc, no /etc/asound.conf