All of lore.kernel.org
 help / color / mirror / Atom feed
* NVIDIA HDMI surround sound is broken starting with kernel 2.6.36
@ 2011-01-31 17:38 VDR User
  2011-01-31 17:51 ` Stephen Warren
  2011-02-04  0:08 ` VDR User
  0 siblings, 2 replies; 4+ messages in thread
From: VDR User @ 2011-01-31 17:38 UTC (permalink / raw)
  To: mailing list: alsa-dev

The behavior described below started with 2.6.36 and follows through
up to the most recent stable kernel, 2.6.37.  The last properly
working driver is in kernel 2.6.35.9.  I should also mention that
while the tests below use the static_hdmi_pcm flag recently introduced
to alsa git, I also tested with the in-kernel drivers for each stable
kernel.  The particular device used for testing is an Nvidia GT220
video card connected directly to my receiver via HDMI.

Can someone please look into this?

Tested:
cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
static_hdmi_pcm=1, receiver ON

cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
static_hdmi_pcm=1, receiver OFF

cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
static_hdmi_pcm=0, receiver ON

cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
static_hdmi_pcm=0, receiver OFF

In all cases only the front-left and front-right speakers worked.
LFE, rear-left, rear-right, and center were missing.  ELD correctly
reported channels corresponding to receiver ON/OFF. (receiver on=7.1,
receiver off=tv stereo).

Also, even though the eld file is removed, the eld info is _not_
updated when stopping alsa & unloading drivers, then reloading.  A
reboot is required to get the eld info to update.  This is why I cold
boot the pc for each test.

With kernel 2.6.35.9 drivers, front-left & front-right worked with
receiver OFF as expected.  I then turn the receiver on and all
channels worked.  I didn't bother to stop alsa, reboot, or even look
at eld info since it works.

Thanks for any & all help,
Derek

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: NVIDIA HDMI surround sound is broken starting with kernel 2.6.36
  2011-01-31 17:38 NVIDIA HDMI surround sound is broken starting with kernel 2.6.36 VDR User
@ 2011-01-31 17:51 ` Stephen Warren
  2011-01-31 18:37   ` VDR User
  2011-02-04  0:08 ` VDR User
  1 sibling, 1 reply; 4+ messages in thread
From: Stephen Warren @ 2011-01-31 17:51 UTC (permalink / raw)
  To: VDR User, mailing list: alsa-dev

VDR User wrote at Monday, January 31, 2011 10:39 AM:
> ...
> Also, even though the eld file is removed, the eld info is _not_
> updated when stopping alsa & unloading drivers, then reloading.  A
> reboot is required to get the eld info to update.  This is why I cold
> boot the pc for each test.

The NVIDIA graphics driver reads the monitor's EDID and passed the ELD
information to the audio HW, from whence it is read by the ALSA driver.
The EDID is only read when the X server is started, or perhaps when you
click the "detect displays" button in the nvidia-settings utility.

Hence, restarting X (e.g. logout/login), or using nvidia-settings, is
probably sufficient to update the ELD data; no reboot required.

Hope this helps.

-- 
nvpublic

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: NVIDIA HDMI surround sound is broken starting with kernel 2.6.36
  2011-01-31 17:51 ` Stephen Warren
@ 2011-01-31 18:37   ` VDR User
  0 siblings, 0 replies; 4+ messages in thread
From: VDR User @ 2011-01-31 18:37 UTC (permalink / raw)
  To: Stephen Warren; +Cc: mailing list: alsa-dev

On Mon, Jan 31, 2011 at 9:51 AM, Stephen Warren <swarren@nvidia.com> wrote:
>> Also, even though the eld file is removed, the eld info is _not_
>> updated when stopping alsa & unloading drivers, then reloading.  A
>> reboot is required to get the eld info to update.  This is why I cold
>> boot the pc for each test.
>
> The NVIDIA graphics driver reads the monitor's EDID and passed the ELD
> information to the audio HW, from whence it is read by the ALSA driver.
> The EDID is only read when the X server is started, or perhaps when you
> click the "detect displays" button in the nvidia-settings utility.
>
> Hence, restarting X (e.g. logout/login), or using nvidia-settings, is
> probably sufficient to update the ELD data; no reboot required.

That explains why the ELD info isn't updated, although doesn't explain
the actual problem of missing channels.  I do think it's worthy to
rethink that behavior in the Nvidia driver.  The reason being that
many users, like myself, are using an htpc environment where the
audio/video output is connected directly to a tv or home theater
receiver.  In my case it's a receiver that is turned on/off as needed.
 There is no keyboard, mouse, or anything other then an IR remote
control to navigate the software I'm running.  To click "detect
displays" would mean digging the box out of its current location and
connecting a monitor & mouse to it just to do so.  Extremely
inconvenient.  I would guess that the best solution would be the
Nvidia driver having the ability to update the ELD info upon request.
There's got to be method of detecting things like receivers being
turned on/off.

Maybe another thread should be started regarding that issue since
we're getting away from the problem of missing channels.
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: NVIDIA HDMI surround sound is broken starting with kernel 2.6.36
  2011-01-31 17:38 NVIDIA HDMI surround sound is broken starting with kernel 2.6.36 VDR User
  2011-01-31 17:51 ` Stephen Warren
@ 2011-02-04  0:08 ` VDR User
  1 sibling, 0 replies; 4+ messages in thread
From: VDR User @ 2011-02-04  0:08 UTC (permalink / raw)
  To: mailing list: alsa-dev

On Mon, Jan 31, 2011 at 9:38 AM, VDR User <user.vdr@gmail.com> wrote:
> The behavior described below started with 2.6.36 and follows through
> up to the most recent stable kernel, 2.6.37.  The last properly
> working driver is in kernel 2.6.35.9.  I should also mention that
> while the tests below use the static_hdmi_pcm flag recently introduced
> to alsa git, I also tested with the in-kernel drivers for each stable
> kernel.  The particular device used for testing is an Nvidia GT220
> video card connected directly to my receiver via HDMI.
>
> Can someone please look into this?
>
> Tested:
> cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
> static_hdmi_pcm=1, receiver ON
>
> cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
> static_hdmi_pcm=1, receiver OFF
>
> cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
> static_hdmi_pcm=0, receiver ON
>
> cold boot, kernel 2.6.37, alsa snapshot jan.25,2010,
> static_hdmi_pcm=0, receiver OFF
>
> In all cases only the front-left and front-right speakers worked.
> LFE, rear-left, rear-right, and center were missing.  ELD correctly
> reported channels corresponding to receiver ON/OFF. (receiver on=7.1,
> receiver off=tv stereo).
>
> Also, even though the eld file is removed, the eld info is _not_
> updated when stopping alsa & unloading drivers, then reloading.  A
> reboot is required to get the eld info to update.  This is why I cold
> boot the pc for each test.
>
> With kernel 2.6.35.9 drivers, front-left & front-right worked with
> receiver OFF as expected.  I then turn the receiver on and all
> channels worked.  I didn't bother to stop alsa, reboot, or even look
> at eld info since it works.

Will someone PLEASE look into this?
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-02-04  0:08 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-01-31 17:38 NVIDIA HDMI surround sound is broken starting with kernel 2.6.36 VDR User
2011-01-31 17:51 ` Stephen Warren
2011-01-31 18:37   ` VDR User
2011-02-04  0:08 ` VDR User

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.