Alsa-Devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Takashi Iwai <tiwai@suse.de>
To: Tim Burrell <tim@timburrell.net>
Cc: alsa-devel@lists.sourceforge.net, Jaroslav Kysela <perex@suse.cz>
Subject: Re: hda intel driver and no surround sound with nvidia mcp55 (chip ID RealTek 888)
Date: Mon, 07 Aug 2006 15:00:13 +0200	[thread overview]
Message-ID: <s5hmzagr99e.wl%tiwai@suse.de> (raw)
In-Reply-To: <44D73778.4060301@timburrell.net>

At Mon, 07 Aug 2006 09:52:08 -0300,
Tim Burrell wrote:
> 
> >>>> I'm trying to get multichannel sound working on my nvidia nforce 590
> >>>> based mobo that uses the intel hd audio (nvidia mcp55) chipset.  It
> >>>> plays fine in two channels but any attempts to use -Dsurround51 or
> >>>> -Dsurround40 fail.  Ie:
> >>>>
> >>>> Playing WAVE 'space_battle.wav' : Signed 16 bit Little Endian, Rate
> >>>> 44100 Hz, Channels 6
> >>>> aplay: set_params:906: Channels count non available
> >>> That's correct. Use -Dplug:surround40, because the count of channels from 
> >>> the .wav file has to be converted to four.
> >> I just upgraded to 1.0.12_rc2, and I've got a lot more mixer controls in
> >> alsamixer now.  I can see front, rear, surround, etc.  And now I can
> >> finally specify -Dplug:surround71 to get 8 channel audio!
> >>
> >> However, there is one problem.  On my card the channels are not exactly
> >> correct when running speaker-test.  The side and rear speakers are
> >> reversed.  I double checked this with my card's manual, and in Windows.
> > 
> > Does -Dplug:surround51 work as expected?
> 
> speaker-test hangs when I use plug:surround51, however since upgrading I
> incorrectly said that mplayer hangs when playing multichannel audio.
> When playing a 6 channel audio file with mplayer (it says it uses
> surround51) it also has the rear and side channels reversed.  Obviously
> since it's 6 channel audio the side channels are not used, but the rear
> channels come out of the side speakers.

OK, then it's either a bug of BIOS or a specification of HD-audio.
A tentative patch is below.


> >> Also, curiously, using the same settings as speaker-test (which works
> >> fine), aplay hangs when trying to play multichannel audio files.  Same
> >> for mplayer (with or without -channels settings).
> > 
> > What do you mean "hang"?
> 
> By hang, I mean aplay and speaker-test open the device fine, and begin
> playing, but do not play any samples and then just sit there
> indefinitely.

Interesting.  So, you started like:

	% aplay -Dplug:surround51 somefile.wav

??  Does any process block the sound device?  You can check it via
"lsof /dev/snd/pcm* /dev/dsp*", for example.


>  Ie I see the following output from `speaker-test
> -Dplug:surround51 -c 6`:
> 
> Playback device is plug:surround51
> Stream parameters are 48000Hz, S16_LE, 6 channels
> Using 16 octaves of pink noise
> Rate set to 48000Hz (requested 48000Hz)
> Buffer size range from 22 to 5461
> Period size range from 11 to 2730
> Using max buffer size 5460
> Periods = 4
> was set period_size = 1365
> was set buffer_size = 5460
>  0 - Front Left
> 
> Then no audio is heard and it sits there and does nothing until I press
> ctrl-c.
> 
> The same goes for aplay using either -Dplug:surround51 OR -Dplug:surround71.

"same" == "aplay doesn't process any samples"?

What shows "aplay -v -Dplug:surround51 some6ch.wav" ?


Takashi


diff -r 3f196675e724 pci/hda/hda_codec.c
--- a/pci/hda/hda_codec.c	Fri Aug 04 19:08:03 2006 +0200
+++ b/pci/hda/hda_codec.c	Mon Aug 07 14:55:42 2006 +0200
@@ -2122,16 +2122,19 @@ int snd_hda_parse_pin_def_config(struct 
 	 */
 	switch (cfg->line_outs) {
 	case 3:
+	case 4:
 		nid = cfg->line_out_pins[1];
 		cfg->line_out_pins[1] = cfg->line_out_pins[2];
 		cfg->line_out_pins[2] = nid;
 		break;
+#if 0 /* seems wrong */
 	case 4:
 		nid = cfg->line_out_pins[1];
 		cfg->line_out_pins[1] = cfg->line_out_pins[3];
 		cfg->line_out_pins[3] = cfg->line_out_pins[2];
 		cfg->line_out_pins[2] = nid;
 		break;
+#endif
 	}
 
 	/*

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys -- and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV

  reply	other threads:[~2006-08-07 13:00 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-08-05 15:47 hda intel driver and no surround sound with nvidia mcp55 (chip ID RealTek 888) Tim Burrell
2006-08-05 17:47 ` Jaroslav Kysela
2006-08-05 19:42   ` Tim Burrell
2006-08-07 12:34     ` Takashi Iwai
2006-08-07 12:52       ` Tim Burrell
2006-08-07 13:00         ` Takashi Iwai [this message]
2006-08-07 13:27           ` Tim Burrell
2006-08-07 17:55             ` Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=s5hmzagr99e.wl%tiwai@suse.de \
    --to=tiwai@suse.de \
    --cc=alsa-devel@lists.sourceforge.net \
    --cc=perex@suse.cz \
    --cc=tim@timburrell.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox