[pulseaudio-discuss] AMD chipset HDMI and SPDIF outputs lack surround sound modes

Yfrwlf yfrwlf at gmail.com
Sun Jul 22 06:37:30 PDT 2012


On 07/22/2012 02:33 AM, Tanu Kaskinen wrote:
> On Sat, 2012-07-21 at 13:43 -0500, Yfrwlf wrote:
>> Hello,
>>
>>       I'm running Ubuntu 12.04 with two computers both with AMD video
>> chipsets.  Both of the sinks I need to output sound on have no mode
>> setting in Gnome sound config.  The analog outputs show surround options
>> available, but S/PDIF and HDMI options only offer stereo output.  Is
>> there some way in which I can contribute to enhance Pulseaudio so that
>> future versions will have this corrected?
> S/PDIF is limited to two channels, unless you use some compressed format
> (AC3 or DTS). You can use those compressed formats if you set up the
> encoder plugins in the alsa configuration. PulseAudio uses the "a52" and
> "dca" alsa devices if they exist.

Interesting, thanks for the info, however it doesn't make sense since 
neither AC3 or DTS is showing as being enabled in pavucontrol, yet 
speaker-test -c6 gives me 5.1 surround sound.  Why would that be?  
Pavucontrol only shows one option which is "built-in audio digital 
stereo (IEC958)".  The port is "digital output s/pdif". Perhaps one of 
the problems here is simply that the output sink is named poorly.  Since 
the device can do 7.1 out or whatnot, it shouldn't be labeled a stereo 
device.  In the Gnome audio panel, more modes should be available than 
just stereo.  The "test sound" confirms that it thinks it is stereo.  To 
correct it short-term, I assume that I need to tell PA to somehow use 
one of the "[Mapping iec958-ac3-surround-51]" or "[Mapping 
iec958-dts-surround-51]" instead of "[Mapping iec958-stereo]" since the 
default sink is reported in pacmd to be the following, but does anyone 
know what the actual fix is?  Does PA or ALSA need to be populated with 
the information about the capabilities of my audio chipset so it will be 
recognized properly in the future?

 >>> list-sinks
1 sink(s) available.
   * index: 4
     name: <alsa_output.pci-0000_00_14.2.iec958-stereo>

>
> It's not entirely clear to me what's missing from surround HDMI support.
> IIRC, there are some problems to be solved (I think help here would be
> much appreciated) before it can be supported, but on the other hand, the
> extra-hdmi.conf profile set configuration file
> (in /usr/share/pulseaudio/alsa-mixer/profile-sets) seems to already have
> definitions for 5.1 surround. default.conf doesn't have those
> definitions. extra-hdmi.conf is only used with NVidia and Intel
> chipsets. I think the purpose of extra-hdmi.conf is to expose all the 4
> hdmi devices that those chipsets have, but I don't know why there's a
> difference in the surround handling. Maybe this is a bug, and
> default.conf should have the surround definition too?
>
> I hope someone more knowledgeable will clarify this.


Yeah I did see the extra-hdmi.conf file, though I don't yet understand 
why it is defaulting to the stereo profile and not offering any of the 
other profiles as options/modes, but I assume that it is due to 
default.conf not redirecting it to the extra-hdmi.conf profile, or 
directing it to only the stereo profile in that conf (will play around 
more with configs later).  Again with the HDMI case though, the surround 
sound capabilities of the chipset aren't being exposed as a PA profile 
it seems, so does anyone know what needs to be updated to make this 
chipset's capabilities realized?  Again in this case too, programs can 
output in surround sound once they are told they should.  Totem was 
playing 5.1 fine in movies once I turned on DTS etc, but PA still thinks 
it is only stereo and speaker-test and all other programs were only 
outputting 2 channels.  I don't understand why in the S/PDIF example 
above, PA says it is stereo but everything can output surround sound 
including speaker-test, yet on the other computer with HDMI, Totem is 
the only thing that works (separate computers with AMD chipsets both 
running Ubuntu 12.04 at the moment).
>
>>       On a separate topic, is there a way to force it to output with more
>> channels until a patch is applied?  I've tried messing around with pacmd
>> and can't figure out how to set the channels.  Does this need to be done
>> through editing one of the config files?
> The channel configurations are determined by the profile set
> configuration files, so familiarize yourself with the files
> in /usr/share/pulseaudio/alsa-mixer/profile-sets (or
> src/modules/alsa/mixer/profile-sets in the source tree). Some
> documentation is in default.conf and this wiki page:
> http://www.freedesktop.org/wiki/Software/PulseAudio/Backends/ALSA/Profiles

I will read over everything more carefully to attempt a short-term fix 
and update the list once I find it, thanks! ^^


More information about the pulseaudio-discuss mailing list