Kodi Community Forum
Linux AudioEngine testers - Linux only - Printable Version

+- Kodi Community Forum (https://forum.kodi.tv)
+-- Forum: Development (https://forum.kodi.tv/forumdisplay.php?fid=32)
+--- Forum: Kodi Application (https://forum.kodi.tv/forumdisplay.php?fid=93)
+--- Thread: Linux AudioEngine testers - Linux only (/showthread.php?tid=128298)



RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-15

(2012-05-15, 18:58)wingrunr21 Wrote:
(2012-05-15, 18:55)drivesoslow Wrote: Because either fglrx or ALSA is not handling my ELD correctly I cannot choose any audio device. Will there be an option to manually set the device to be used like there was before the merge?

http://forum.xbmc.org/member.php?action=profile&uid=35001

Can you post a log? I think you accidentally posted the wrote link.

Oops. Fixed it but here it is again. It is just a link back to my post on page 17 with all my logs and info:

http://forum.xbmc.org/showthread.php?tid=128298&pid=1101695#pid1101695

I have never had any real issue with sound until the AE merge. I use HDMI out and I can passthrough DTS and AC3 to my TV no problem (I realize these don't count as real digital or whatever), play audio files, and get menu sounds.


RE: AudioEngine testers - Linux only - wingrunr21 - 2012-05-15

(2012-05-12, 17:22)drivesoslow Wrote: cat /proc/asound/card0/eld#0.0:
Code:
monitor_present        1
eld_valid        0

I only have my Sharp TV plugged into the HDMI

There's your issue right there. fglrx does not appear to be forwarding eld information (eld_valid is false).

There is one thing you could try. I believe the 6550 is actually a renumbered Evergreen part instead of a Northern Islands GPU. This means the radeon OSS driver may be able to support HDMI audio on this card. The OSS driver is probably more reliable.



RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-15

(2012-05-15, 19:35)wingrunr21 Wrote:
(2012-05-12, 17:22)drivesoslow Wrote: cat /proc/asound/card0/eld#0.0:
Code:
monitor_present        1
eld_valid        0

I only have my Sharp TV plugged into the HDMI

There's your issue right there. fglrx does not appear to be forwarding eld information (eld_valid is false).

There is one thing you could try. I believe the 6550 is actually a renumbered Evergreen part instead of a Northern Islands GPU. This means the radeon OSS driver may be able to support HDMI audio on this card. The OSS driver is probably more reliable.

I have been kicking around trying this. Do you know if the OSS drivers support VAAPI?

I tried real quick last weekend but after switching the xorg.conf to "radeon" for the device XBMC said it needed a graphics card with acceleration and the eld file said:
Code:
monitor_present        0
eld_valid        0

For some reason


RE: AudioEngine testers - Linux only - wingrunr21 - 2012-05-15

Sorry, I meant the radeon open source driver, not the OSS driver. And no, it doesn't. It is a "work in progress".


RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-15

(2012-05-15, 20:16)wingrunr21 Wrote: Sorry, I meant the radeon open source driver, not the OSS driver. And no, it doesn't. It is a "work in progress".


Just loaded the OSS radeon driver, and I still get the eld_valid being 0 issue, but now it says monitor connected 0 too. I am able to run XBMC, but I still get 'Error - no devices found'

Code:
monitor_present        0
eld_valid        0

The X11 log shows that it has found and audio device:

Code:
[ 69644.255] (II) RADEON(0): Port1:
[ 69644.255]   XRANDR name: DVI-0
[ 69644.255]   Connector: DVI-I
[ 69644.255]   CRT1: INTERNAL_KLDSCP_DAC1
[ 69644.255]   DFP2: INTERNAL_UNIPHY
[ 69644.255]   DDC reg: 0x6460

[ 69645.586] (II) config/udev: Adding input device HD-Audio Generic HDMI/DP,pcm=3 (/dev/input/event2)



RE: AudioEngine testers - Linux only - alanwww1 - 2012-05-16

Guys you can manually override the kernel read ELD data like this:

Code:
echo sad0_rates 0x1ee0  > /proc/asound/card0/eld#3.0
echo speakers 0x4f  > /proc/asound/card0/eld#3.0
echo sad0_channels 8  > /proc/asound/card0/eld#3.0
echo sad0_bits 0xe0000  > /proc/asound/card0/eld#3.0

These were the lines I needed for Multichannel LPCM on Intel Sandy Bridge (until we got proper kernel support).
Of course this is a workaround. If the ATI driver does not support the LPCM output, than I think this is not working.
But If the problem is just that the driver does not parse EDID/ELD data properly, this could be a help.

ANy other valuse in ELD can be overwritten as well. Of course you have to adjust the values to your own system.
It is a trial and error process.

Edit:

And you can test if LPCM is working with running X server type:
Code:
speaker-test -Dhdmi -c6

For a 192k bitrate:
Code:
speaker-test -Dhdmi -c6 -r192000

Instead of "hdmi" you can write any value that suits your config (eg. "plughw:0,8")

Edit: You have to be in super user mode for that so first do:
Code:
sudo su



RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-16

(2012-05-16, 08:43)alanwww1 Wrote: Guys you can manually override the kernel read ELD data like this:

Code:
echo sad0_rates 0x1ee0  > /proc/asound/card0/eld#3.0
echo speakers 0x4f  > /proc/asound/card0/eld#3.0
echo sad0_channels 8  > /proc/asound/card0/eld#3.0
echo sad0_bits 0xe0000  > /proc/asound/card0/eld#3.0

I have tried this and if try adding these values to my current eld#0.0 they don't stick, any clue why?

Thanks




RE: AudioEngine testers - Linux only - alanwww1 - 2012-05-16

Sure you were in super user mode ?
Also check if there are other cards and eld entry combinations in /proc/asound/


RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-16

(2012-05-16, 16:51)alanwww1 Wrote: Sure you were in super user mode ?
Also check if there are other cards and eld entry combinations in /proc/asound/

Yes I was in super user mode. I only have the one card and the one eld entry. If I try to edit it manually with vim and save it it tells me the file has changed. When I tried the same thing a week ago I got the feeling that alsa (or something) was constantly updating the file non-stop.

Code:
~$ ls /proc/asound/
card0  cards  devices  Generic  hwdep  modules  oss  pcm  seq  timers  version
~$ ls /proc/asound/card0/
codec#0  eld#0.0  id  pcm3p



RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-16

Would overriding the EDID for Xorg with a manual dump have any effect on ALSA ELD or does ALSA parse thsi data directly from the card?

http://ati.cchtml.com/show_bug.cgi?id=415#c2


RE: AudioEngine testers - Linux only - alanwww1 - 2012-05-16

(2012-05-16, 19:38)drivesoslow Wrote: Would overriding the EDID for Xorg with a manual dump have any effect on ALSA ELD or does ALSA parse thsi data directly from the card?

http://ati.cchtml.com/show_bug.cgi?id=415#c2

I think it is not the problem of getting the correct EDID data. I belive it is the problem of the driver to PARSE the EDID data. Specially the ELD info part.




RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-16

(2012-05-16, 20:29)alanwww1 Wrote:
(2012-05-16, 19:38)drivesoslow Wrote: Would overriding the EDID for Xorg with a manual dump have any effect on ALSA ELD or does ALSA parse thsi data directly from the card?

http://ati.cchtml.com/show_bug.cgi?id=415#c2

I think it is not the problem of getting the correct EDID data. I belive it is the problem of the driver to PARSE the EDID data. Specially the ELD info part.

So then what will be the workaround for these kind of scenarios? Will we be able to manually specify a output device in XBMC like we could in the past?

Thanks


RE: AudioEngine testers - Linux only - pike - 2012-05-16

I believe we found out that X11 has a bug which resets the ELD data, so you must apply these ELD patches right before launching xbmc AFTER X11


RE: AudioEngine testers - Linux only - drivesoslow - 2012-05-16

(2012-05-16, 20:51)pike Wrote: I believe we found out that X11 has a bug which resets the ELD data, so you must apply these ELD patches right before launching xbmc AFTER X11

Which patches, these?

Code:
echo sad0_rates 0x1ee0  > /proc/asound/card0/eld#3.0
echo speakers 0x4f  > /proc/asound/card0/eld#3.0
echo sad0_channels 8  > /proc/asound/card0/eld#3.0
echo sad0_bits 0xe0000  > /proc/asound/card0/eld#3.0

I should be able to add whatever patch to my .xsession before I launch XBMC


RE: AudioEngine testers - Linux only - negge - 2012-05-17

(2012-05-13, 22:27)eternalsword Wrote:
(2012-05-13, 14:45)negge Wrote:
gnif Wrote:@negge - You have a MEI Panasonic-TV plugged in

In fact the computer is hooked to a Yamaha reciever which in turn is hooked to my Panasonic TV. I don't know why the "device name" seems to get passed along, but I guess it doesn't matter.

@negge, sounds like you may have your Yamaha receiver set to pass audio through to the TV. If you do this, the receiver is limited to the audio capabilities of the TV, and the EDID info that gets passed to the computer is the TV's. See here.

That could be, although in that case it seems my TV has the exact same capabilities as my receiver (same formats supported etc.). I need to look into whether it can send just the video to the TV instead of the whole signal.