alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* Distorted jackd output on Macbooks
@ 2012-04-27 19:13 Adrian Knoth
  2012-05-08 11:01 ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Adrian Knoth @ 2012-04-27 19:13 UTC (permalink / raw)
  To: ALSA development

Hi!

JFTR, we've seen users that report distorted sound on their macbooks
when using jackd.

The workaround is to force 16-bit output:

    http://jackaudio.org/macbook_distortion

Chip in question was the Cirrus Logic CS4206. We don't know yet which of
the formats (32/24) is broken, maybe only one, maybe both.

I happen to have a spare MacBookPro around, but I won't have time to
look into that myself anytime soon.

If somebody else has such a device and wants to give it a whirl, feel
free to go ahead. ;)


Cheers

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

* Re: Distorted jackd output on Macbooks
  2012-04-27 19:13 Distorted jackd output on Macbooks Adrian Knoth
@ 2012-05-08 11:01 ` Takashi Iwai
  2012-05-08 14:45   ` Adrian Knoth
  0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2012-05-08 11:01 UTC (permalink / raw)
  To: Adrian Knoth; +Cc: ALSA development

At Fri, 27 Apr 2012 21:13:48 +0200,
Adrian Knoth wrote:
> 
> Hi!
> 
> JFTR, we've seen users that report distorted sound on their macbooks
> when using jackd.
> 
> The workaround is to force 16-bit output:
> 
>     http://jackaudio.org/macbook_distortion
> 
> Chip in question was the Cirrus Logic CS4206. We don't know yet which of
> the formats (32/24) is broken, maybe only one, maybe both.

Distrotion means noisy outputs or complete noise?
And does this happen only with JACK?  That is, if you run "aplay -Dhw"
with 32bit PCM, does it play normally?


thanks,

Takashi


> I happen to have a spare MacBookPro around, but I won't have time to
> look into that myself anytime soon.
> 
> If somebody else has such a device and wants to give it a whirl, feel
> free to go ahead. ;)
> 
> 
> Cheers
> _______________________________________________
> Alsa-devel mailing list
> Alsa-devel@alsa-project.org
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
> 

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

* Re: Distorted jackd output on Macbooks
  2012-05-08 11:01 ` Takashi Iwai
@ 2012-05-08 14:45   ` Adrian Knoth
  2012-05-08 15:04     ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Adrian Knoth @ 2012-05-08 14:45 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: ALSA development

On Tue, May 08, 2012 at 01:01:32PM +0200, Takashi Iwai wrote:

> > JFTR, we've seen users that report distorted sound on their macbooks
> > when using jackd.
> > 
> > The workaround is to force 16-bit output:
> > 
> >     http://jackaudio.org/macbook_distortion
> > 
> > Chip in question was the Cirrus Logic CS4206. We don't know yet which of
> > the formats (32/24) is broken, maybe only one, maybe both.
> 
> Distrotion means noisy outputs or complete noise?

Noisy output, like clipping. As if the MSB would be wrong.

Here's an example:

   http://www.youtube.com/watch?v=QD23mC_Dbek


> And does this happen only with JACK?  That is, if you run "aplay -Dhw"
> with 32bit PCM, does it play normally?

I've installed Linux on my spare MacBookPro and can report that JACKD is
not to blame. aplay and jackd behave the same:

   FLOAT_LE is distorted
   S32LE is fine


So only FLOAT_LE is broken, S32LE and S24_3LE are fine.


HTH

-- 
mail: adi@thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver

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

* Re: Distorted jackd output on Macbooks
  2012-05-08 14:45   ` Adrian Knoth
@ 2012-05-08 15:04     ` Takashi Iwai
  2012-05-11 22:27       ` Adrian Knoth
  0 siblings, 1 reply; 6+ messages in thread
From: Takashi Iwai @ 2012-05-08 15:04 UTC (permalink / raw)
  To: Adrian Knoth; +Cc: ALSA development

At Tue, 8 May 2012 16:45:30 +0200,
Adrian Knoth wrote:
> 
> On Tue, May 08, 2012 at 01:01:32PM +0200, Takashi Iwai wrote:
> 
> > > JFTR, we've seen users that report distorted sound on their macbooks
> > > when using jackd.
> > > 
> > > The workaround is to force 16-bit output:
> > > 
> > >     http://jackaudio.org/macbook_distortion
> > > 
> > > Chip in question was the Cirrus Logic CS4206. We don't know yet which of
> > > the formats (32/24) is broken, maybe only one, maybe both.
> > 
> > Distrotion means noisy outputs or complete noise?
> 
> Noisy output, like clipping. As if the MSB would be wrong.
> 
> Here's an example:
> 
>    http://www.youtube.com/watch?v=QD23mC_Dbek
> 
> 
> > And does this happen only with JACK?  That is, if you run "aplay -Dhw"
> > with 32bit PCM, does it play normally?
> 
> I've installed Linux on my spare MacBookPro and can report that JACKD is
> not to blame. aplay and jackd behave the same:
> 
>    FLOAT_LE is distorted
>    S32LE is fine
> 
> 
> So only FLOAT_LE is broken, S32LE and S24_3LE are fine.

OK, that's good to know.  I didn't know that the codec supports the
float.

Maybe the whole support of the float format might be broken.
Looking through my collections of alsa-info.sh outputs, cs4206 is the
only one supporting the float format.  If the support of float is
fundamentally broken, it's the reason only a few users of Mac faced
the problem with JACK.

I guess we can disable the support code for now like the patch below.

Could you check whether it works for you?


thanks,

Takashi

---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index 882bb3a..48c50dd 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -3781,11 +3781,13 @@ int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid,
 					bps = 20;
 			}
 		}
+#if 0 /* FIXME: CS4206 doesn't work, which is the only codec supporting float */
 		if (streams & AC_SUPFMT_FLOAT32) {
 			formats |= SNDRV_PCM_FMTBIT_FLOAT_LE;
 			if (!bps)
 				bps = 32;
 		}
+#endif
 		if (streams == AC_SUPFMT_AC3) {
 			/* should be exclusive */
 			/* temporary hack: we have still no proper support

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

* Re: Distorted jackd output on Macbooks
  2012-05-08 15:04     ` Takashi Iwai
@ 2012-05-11 22:27       ` Adrian Knoth
  2012-05-12  7:40         ` Takashi Iwai
  0 siblings, 1 reply; 6+ messages in thread
From: Adrian Knoth @ 2012-05-11 22:27 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: ALSA development

On Tue, May 08, 2012 at 05:04:07PM +0200, Takashi Iwai wrote:

> > I've installed Linux on my spare MacBookPro and can report that JACKD is
> > not to blame. aplay and jackd behave the same:
> > 
> >    FLOAT_LE is distorted
> >    S32LE is fine
> > 
> > 
> > So only FLOAT_LE is broken, S32LE and S24_3LE are fine.
> 
> OK, that's good to know.  I didn't know that the codec supports the
> float.
> 
> I guess we can disable the support code for now like the patch below.
> 
> Could you check whether it works for you?
> 
> diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> index 882bb3a..48c50dd 100644
> --- a/sound/pci/hda/hda_codec.c
> +++ b/sound/pci/hda/hda_codec.c
> @@ -3781,11 +3781,13 @@ int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid,
>  					bps = 20;
>  			}
>  		}
> +#if 0 /* FIXME: CS4206 doesn't work, which is the only codec supporting float */
>  		if (streams & AC_SUPFMT_FLOAT32) {
>  			formats |= SNDRV_PCM_FMTBIT_FLOAT_LE;
>  			if (!bps)
>  				bps = 32;
>  		}
> +#endif
>  		if (streams == AC_SUPFMT_AC3) {
>  			/* should be exclusive */
>  			/* temporary hack: we have still no proper support


Yep, this does the trick. Works.


Cheers

-- 
mail: adi@thur.de  	http://adi.thur.de	PGP/GPG: key via keyserver

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

* Re: Distorted jackd output on Macbooks
  2012-05-11 22:27       ` Adrian Knoth
@ 2012-05-12  7:40         ` Takashi Iwai
  0 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2012-05-12  7:40 UTC (permalink / raw)
  To: Adrian Knoth; +Cc: ALSA development

At Sat, 12 May 2012 00:27:34 +0200,
Adrian Knoth wrote:
> 
> On Tue, May 08, 2012 at 05:04:07PM +0200, Takashi Iwai wrote:
> 
> > > I've installed Linux on my spare MacBookPro and can report that JACKD is
> > > not to blame. aplay and jackd behave the same:
> > > 
> > >    FLOAT_LE is distorted
> > >    S32LE is fine
> > > 
> > > 
> > > So only FLOAT_LE is broken, S32LE and S24_3LE are fine.
> > 
> > OK, that's good to know.  I didn't know that the codec supports the
> > float.
> > 
> > I guess we can disable the support code for now like the patch below.
> > 
> > Could you check whether it works for you?
> > 
> > diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
> > index 882bb3a..48c50dd 100644
> > --- a/sound/pci/hda/hda_codec.c
> > +++ b/sound/pci/hda/hda_codec.c
> > @@ -3781,11 +3781,13 @@ int snd_hda_query_supported_pcm(struct hda_codec *codec, hda_nid_t nid,
> >  					bps = 20;
> >  			}
> >  		}
> > +#if 0 /* FIXME: CS4206 doesn't work, which is the only codec supporting float */
> >  		if (streams & AC_SUPFMT_FLOAT32) {
> >  			formats |= SNDRV_PCM_FMTBIT_FLOAT_LE;
> >  			if (!bps)
> >  				bps = 32;
> >  		}
> > +#endif
> >  		if (streams == AC_SUPFMT_AC3) {
> >  			/* should be exclusive */
> >  			/* temporary hack: we have still no proper support
> 
> 
> Yep, this does the trick. Works.

OK, I applied the patch now.


thanks,

Takashi

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

end of thread, other threads:[~2012-05-12  7:40 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-04-27 19:13 Distorted jackd output on Macbooks Adrian Knoth
2012-05-08 11:01 ` Takashi Iwai
2012-05-08 14:45   ` Adrian Knoth
2012-05-08 15:04     ` Takashi Iwai
2012-05-11 22:27       ` Adrian Knoth
2012-05-12  7:40         ` Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).