HDMI 5.1 PCM with Radeon card
#1
Hi,

I wanted to enable 5.1 surround sound over HDMI using uncompressed PCM (so no pass-through is used and sound can be mixed with other applications, started with AdvancedLauncher etc.). Does anyone know if this is possible?

I'm using Debian/jessie, ALSA and PulseAudio and the fglrx-legacy-driver installed.

Some info about my system (if you need any more, just ask):

"lspci | grep -i vga" Wrote:01:05.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] RS880 [Radeon HD 4250]
As far as I understand, this card should be capable of passing 5.1 PCM sound, right?

"aplay -l" Wrote:**** List of PLAYBACK Hardware Devices ****
card 0: SB [HDA ATI SB], device 0: ALC892 Analog [ALC892 Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: SB [HDA ATI SB], device 1: ALC892 Digital [ALC892 Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 1: HDMI [HDA ATI HDMI], device 3: HDMI 0 [HDMI 0]
Subdevices: 1/1
Subdevice #0: subdevice #0

"aplay -L" Wrote:null
Discard all samples (playback) or generate zero samples (capture)
pulse
PulseAudio Sound Server
default:CARD=SB
HDA ATI SB, ALC892 Analog
Default Audio Device
sysdefault:CARD=SB
HDA ATI SB, ALC892 Analog
Default Audio Device
front:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
Front speakers
surround40:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
4.0 Surround output to Front and Rear speakers
surround41:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
4.1 Surround output to Front, Rear and Subwoofer speakers
surround50:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
5.0 Surround output to Front, Center and Rear speakers
surround51:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
5.1 Surround output to Front, Center, Rear and Subwoofer speakers
surround71:CARD=SB,DEV=0
HDA ATI SB, ALC892 Analog
7.1 Surround output to Front, Center, Side, Rear and Woofer speakers
iec958:CARD=SB,DEV=0
HDA ATI SB, ALC892 Digital
IEC958 (S/PDIF) Digital Audio Output
hdmi:CARD=HDMI,DEV=0
HDA ATI HDMI, HDMI 0
HDMI Audio Output

I disabled "Built-in Audio" in "pavucontrol", only left "HDMI Audio" enabled.

"speaker-test -c 6 -r 48000 -D plughw:1,3" runs without error message, but I only hear sound for speaker FrontLeft and FrontRight.
"speaker-test -c 6 -r 48000" also runs without error message, and I hear sound for speaker FrontLeft, FrontRight and Center, while RearLeft sound can only be heard on FrontLeft and RearRight on FrontRight (but too quiet I think?).
In both cases there is no sound on the subwoofer.

Any help would be highly appreciated.

Thanks in advance!
Reply
#2
No.

Two speakers is max AMD wants to give you via hdmi on linux. No LPCM at all. AC3 or DTS can done coded 5.1 (virtual formats only need two real pcm channels).

Complain at: [email protected]
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#3
(2013-07-26, 19:05)fritsch Wrote: Two speakers is max AMD wants to give you via hdmi on linux.
Thanks for your reply. I already read somewhere that more than two channels are not possible, but I also read that the proprietary driver does support more than two channels; but I didn't find a reliable source, so I just wanted to test it myself.

Do you know how it is possible that "speaker-test -c 6 -r 48000" gives me the noise correctly for FrontLeft, FrontRight and Center (not for RearLeft, RearRight and LFE though), if more than two channels are not possible?
Reply
#4
Why do you want to track down? Put you radeon card into trash and get something reasonable.
Sorry, we have spent too much time with this crap that we can't believe it's getting better. For 30€ you get something better, AMD is not worth the pain.
Reply
#5
@FernetMenta: Maybe you're right. But actually I was hoping for a technical solution – if there is any.
Reply
#6
Besides what fritsch said, there is not much to say than try SPDIF or the OSS drivers..
Reply
#7
@jlpII: Encode your data AC3 or DTS - without it is not possible to get more than 2 speakers going.

The same limit btw. is for the OSS radeon drivers.

The "technical discussion" is here: http://comments.gmane.org/gmane.linux.alsa.devel/87862

The famous quote for you:
Quote:Then some information is missing. ATI seems to have implemented LPCM
in a vendor-specific way.

Takashi
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#8
(2013-07-26, 20:28)jlpII Wrote: @FernetMenta: Maybe you're right. But actually I was hoping for a technical solution – if there is any.

There has been no solution for more than 2 years. How much longer do you intend to hope. I have given up. As long as users give their money to this company they won't change anything.
Reply
#9
AMD is currently doing a lot to support their hardware via OSS. But they are too late for all the users that bought AMD Fusion E350, E450 and so on. They took our money and now two years later, there is not even support to decode 1080i50 mpeg-2 via the GPU.

The new OSS support is at the beginning, we can wait 6 months more until it gets usable for interlaced LiveTV. Audio documentation is not released yet - it is even not integrated in the closed source drivers

It is such a pain that in 2K13 a simple raspberry PI has more codecs supported via the GPU than AMD hardware ...
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#10
(2013-07-26, 20:29)Robotica Wrote: Besides what fritsch said, there is not much to say than try SPDIF or the OSS drivers..
(2013-07-26, 21:10)fritsch Wrote: AMD is currently doing a lot to support their hardware via OSS.
Okay, thank you. I will look into that.

(2013-07-26, 20:45)fritsch Wrote: @jlpII: Encode your data AC3 or DTS - without it is not possible to get more than 2 speakers going.
As I said, I seem to have already three channels working; or is it possible to have all three front speakers (left, center and right) working with two channels only (AVR says input is PCM). That is the reason why I was wondering if the two-channel-limit is still there for the proprietary fglrx driver.
Reply
#11
Two channel PCM limit is still there. AMD drivers cannot even parse ELD info.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#12
(2013-07-26, 21:33)fritsch Wrote: Two channel PCM limit is still there. AMD drivers cannot even parse ELD info.
Okay, I also think now, that I doesn't make much sense trying to get this to work.

Just one thing that I didn't get yet. Could you help me to understand why the execution of "speaker-test -c 6 -r 48000" gives me noise on the correct three distinct speakers front/left, front/right and center (not the others); with AVR indicating it is PCM. How is this possible?
Reply
#13
This has been the single most frustrating issue I have with my HTPC. I bought a nice little zotac E-350 system a while back and at least once per week, I check in to see if any progress has been made on this issue. I regret that I bought a small form factor zotac because there's no way to integrate a cheap nVidia card. I would not in any way recommend AMD hardware to anyone wanting a linux based HTPC and at this point, I have given up hope that it will ever be fixed.
Reply
#14
I joined the AMD Beta Mailinglist tracker some time ago, I even signed a contract, that I don't talk or give out stuff that was delivered on the ML. I took great care, that outstanding xbmc issues were fixed. But for now, with every fix - new regressions were introduced.

Last working driver Catalyst 12.10 for old xorg. And a semi official driver, that slipped in Ubuntu 12.10 and was never officially released.
Public drivers appeared since then:
12.11 to 13.4: 100% load on one core, when vsync enabled
13.6 beta: GL Fences broken, Vertical Blank Sync disabled: damn slow menus. CABAC=NO files are broken (looks like mud). Fixed: 100% Load when vsync turned on.
OpenGL 4.3beta: Double CPU load when watching videos, Monitor does not turn back on, when turned off. Fixed: VBlank disabled: fixed, CABAC=NO fixed.

Catalyst 12.10 is now nearly one year old. It does not support anything >= A4/A6 something. It even does not support the xserver Ubuntu is shipping since 12.10(!). You will see a nice non supported watermark, when you run it on too new hardware (can be patched away). Running a non supported driver on some hardware ... is not what we want to do.

Hint: Install Microsoft Windows and all the issues will be solved and working. The hw is capable, but Linux is not worth it (from the proprietary driver view). Same for xvba-sdk. We await it since 2 years now ... now we don't get even a response, that it is still supported.
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply
#15
I wrote this letter to AMD exactly 6 months ago:
Quote:I want to give you some feedback of approx 100.000 Users, that use OpenELEC _on_AMD_hardware (xbmc distribution) or xbmc in general on e.g. Ubuntu, Gentoo, Arch Linux, Debian and others ...

Currently users compare. They are not interested in technical details, they just compare and say: "It works on A or it works on B but not here", let A be nvidia / intel or B be windows or whatever.

So here is a comparison on what works for htpc users and what not:
VDPAU on nvidia:
H264
VC1
MPEG2
MPEG4
BOB deinterlacing
WEAVE
Temp/Spatial deinterlacing
Color Processing
constantly improving
implemented in: mythv, mplayer, xbmc, vlc, many more

XVBA on AMD:
H264
VC1
BOB deinterlacing
SDK pending since at least September 2K11
implemented in: xbmc(PR pending), xvba-vaapi-wrapper (development stopped 1 year ago)


VAAPI on Intel Hardware:
H264
VC1
MPEG2
MPEG4
BOB deinterlacing
constantly improving
implemented in: vlc, mplayer-vaapi, totem, gstreamer, xbmc, many more

VAAPI on AMD Hardware:
H264 (limited to Level 4.1@High)
VC1 (limited)
No deinterlacing at all

Audio side:
Intel: DTS-HD,TrueHD, LPCM (might require kernel patch, SandyBridge++), 192 khz via hdmi
Nvidia: DTS-HD,TrueHD, LPCM (>= ION-2), 192 khz via hdmi
AMD: No Bitstream at all, LPCM only 2 Channels, more channels only possible via pseudo formats like AC3, DTS that are coded on two real channels max 48 khz via hdmi (spdif is a bit better)

Color side:
Some TVs are limited concerning their Color Range. There should be an easy method - via xorg.conf or aticonfig to enable RGB Full, RGB Limited (in a non clamping way(!)) and Ycbr color formats.

Problems have been reported by users on your internal Mailinglist concerning overall stability and different issues with the fglrx driver.

Short term problems:
Currently all your version starting from 12.11 betaX don't do Vertical Blank Sync with xbmc in a nice way. You get 100% cpu load on one core. 12.10 and version before are all fine. Htpc users need 60,59.94,50,24,23.976 hz output for perfect playback.

I don't want to miss the point to thank you for improving stuff during the last time. You implemented proper Level51 support within the drivers (no amdpcsdb hack needed anymore) - though those drivers currently cannot be used.

Changes since then:
Intel has improved Color support, Intel has introduced VPP (BOB and Temporal / Spatial for haswell).
Nvidia got support for 4K content.
AMD has done: Level51 support for H264, after i read out the secret setting via gdb

To summarize (on the feature level):
After two years doing XVBA. Absolutely nothing has changed (let alone Level5.1 h264, that had to be done via amdpscdb before).

I really like the OSS news with DPM, UVD and so on. But it does not improve the situation to a working situation. If you want working LiveTV (1080i50) you still need to use XVBA with proprietary AMD Catalyst on Ubuntu 12.04 :-)
First decide what functions / features you expect from a system. Then decide for the hardware. Don't waste your money on crap.
Reply

Logout Mark Read Team Forum Stats Members Help
HDMI 5.1 PCM with Radeon card0