View Single Post
Old 04-30-09, 09:01 PM   #5
wck555
Registered User
 
Join Date: Apr 2009
Posts: 9
Default Re: Problems with audio over HDMI on Apple TV

I can confirm that HMDI audio works on Apple TV with Ubuntu 8.10 and alsa driver version 1.0.19 as long as I use the open source nv video driver. However if I use the proprietary nvidia video driver, HDMI audio does not work. The problem with the nv driver is that it doesn't do 3D, so I can't use it.

As previously indicated, the Apple TV uses a SiI 1390 to drive the HDMI output:
http://www.anandtech.com/mac/showdoc.aspx?i=2951&p=6

This chip can interface with other audio devices using the HDA link (Intel High Definition Audio). The 1390 merges the audio from the HDA link with video stream. See block diagram in spec sheet:
http://www.siliconimage.com/docs/139...1368_FINAL.pdf

So presumably the Realtek ALC885 chip interfaces with the 1390 using the HDA link. The 1390 becomes another audio codec available to the HDA system. The nVidia GPU has nothing to do with audio. It just has to "stay out of the way". I am guessing when nVidia added HDMI audio support to their driver, they stopped "staying out of the way" and started messing with the HDMI audio settings. This is backed up by changes in /proc/asound/card0/codec#1. With the open source nv driver this file contains the lines:
Code:
...
Digital: Enabled
...
Amp-Out vals:  [0x00 0x00]
...
Pin-ctls: 0x40: OUT
...
With the nvidia driver those same lines read
Code:
...
Digital:
...
Amp-Out vals:  [0x80 0x80]
...
Pin-ctls: 0x00: OUT
...
(You'll have to look at the full file to see those lines in context). So is the nvidia driver disabling the HDMI audio output? Can it be prevented or undone after the driver loads?

Another interesting bit is that when HDMI audio is working, the analog audio input to the TV stops working. So the 1390 must be telling my TV to expect HDMI audio (this is a feature of the HDMI spec). The reason I mention this is that even if audio is coming out of the HDMI cable, the TV won't pay attention to it unless it's been told to use HDMI audio. So another possible complication is the nvidia driver could be telling the TV to ignore the HDMI audio.
wck555 is offline   Reply With Quote