Style Cleanup Required
Check These First
System > Preferences > Sound
Under the Hardware tab you can configure the channel set up of your surround sound capable device. This is done by clicking on the device and expanding the drop down in the bottom section of the form.
Install KMix (I'm sure other programs allow the same functionality, but this one allowed me to make the needed adjustments)
Run this and make sure you don't have muted channels.
Enabling Surround Sound in libraries
By default, Ubuntu uses PulseAudio for its sound. Also by default, PulseAudio is set to 2 channels only. Enabling surround sound involves changing one line in the configuration file /etc/pulse/daemon.conf.
In the terminal, type the following:
gksu gedit /etc/pulse/daemon.conf
This should open up the configuration file in gedit. Once open, scroll down to find the line ; default-sample-channels = 2. Remove the semicolon at the start of the line and change the line according to your surround sound configuration:
For 2.0 channel sound: default-sample-channels = 2
For 4.0 channel sound: default-sample-channels = 4
For 5.0 channel sound: default-sample-channels = 5
For 5.1 channel sound: default-sample-channels = 6
For 7.1 channel sound: default-sample-channels = 8
Save the file the restart your computer.
For more detailed information, check the following links:
Surround may already be working, make sure alsamixer has the right volume settings (Wave Surround in particular). These commands should be useful for testing:
For 4.0 surround (two speakers in front, two in the back):
speaker-test -Dplug:surround40 -c4 -l1 -twav
speaker-test -Dplug:surround51 -c6 -l1 -twav
speaker-test -Dplug:surround71 -c8 -l1 -twav
If it's not working, you might try following alsa's own guide:
And also this:
Note however that many codecs require custom routing (ttables), the folk at #alsa on irc.freenode.org may be able to help in that case.
Edit ~/.openalrc (or /etc/openalrc if you want the setting to apply system-wide) and add these two lines:
(define speaker-num 4)
(define alsa-device "surround40")
Currently OpenAL does not seem to work with 5.1 or higher, but this should work fine.
Enabling Surround Sound in Specific Applications
Right-Click -> Options -> Preferences -> Audio I/O Plugins > Alsa > Configure
Under "Audio Device" enter "plug:surround51"