At Fri, 30 Jul 2010 09:37:33 +0200, David Henningsson wrote: > > Here's what I try to fix by playing around with it in hda-emu, it seems > like more than one thing is broken here, but let's start with playback. > This machine has one internal speaker and one line-out. Codec proc file > is attached. Please give alsa-info.sh output instead. It'll contain more comprehensive information to analyze. > Here's my analysis so far: > > 1) If there's one internal speaker and one line-out (rather than > headphone-out), should the internal speaker auto-mute? What's standard > practice? It's just because the pin is a line-out, no headphone (in addition to the bug below). If the pin is declared as a headphone, the driver turns on the auto-mute function. > 2) There are two DAC nids, 0x02 and 0x03, but only 0x02 is used (i e > activated on playback). But line-out is connected (via nid 0x0d) to DAC > 0x03, so there is no sound on line-out. Right, it's a missing check of the pin. The pin 0x1b doesn't exist on ALC268, so the parser (shared by both ALC268/269) ignored it. The one-liner below fixes the problem. > Should we try to activate DAC nid 0x03 or try to move line-out to DAC > 0x02? And is either possible through just fiddling with pin_configs > (which Takashi preferred), or should we add fixup verbs, or a completely > new model? What would upstream prefer in this case? > > 3) Another strange thing is the controls, there is both Master Playback > and Speaker Playback Volumes and Switches, but they both control > Volume=0x02 and Switch=0x14, and setting one then getting the other > returns the wrong result since they're not updating each other's cached > values (I assume). So we should try to get rid of one of these, but how > depends on the answer to question 1... Ditto. thanks, Takashi --- diff --git a/sound/pci/hda/patch_realtek.c b/sound/pci/hda/patch_realtek.c index 14ef383..60bb361 100644 --- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -13124,6 +13124,7 @@ static int alc268_new_analog_output(struct alc_spec *spec, hda_nid_t nid, dac = 0x02; break; case 0x15: + case 0x1b: case 0x21: /* ALC269vb has this pin, too */ dac = 0x03; break; _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel