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