On Fri, 05 Oct 2018 12:31:37 +0200, Håvard wrote:
Thank you so much!
Will this work for all G751 models, and will this be in the 4.19 kernel?
It's only for yours (the matching PCI SSID). And it will be included only when you test the patch and confirm it working. So, please test it at first. Then I'll merge after the test rest.
thanks,
Takashi
I am very thankful for all your hard work!!
-Håvard
Den fre. 5. okt. 2018 kl. 12:29 skrev Takashi Iwai tiwai@suse.de:
On Fri, 05 Oct 2018 12:10:52 +0200, Håvard wrote:
I'll try to answer your previous email first.
Everything seems identical to how it was in the 4.18-gentoo kernel when
not
setting the model=alc668-headset option
And using the trick we found:
./hda-verb /dev/snd/hwC0D0 0x20 0x500 0xc3 ./hda-verb /dev/snd/hwC0D0 0x20 0x440 0x00
OK, then the following patch may work. Give it a try.
Made it so loopback worked perfectly fine for both earpieces.
One curiosity however (this is just a small thing) is that the "base" mic level is far lower than when the "Mic" option in alsamixer is set to
- I
don't know if it was this way in 4.18-gentoo, but that's the only thing that doesnt seem correct. Here is a screenshot explaining it: http://i.imgur.com/dKPELX6.png
The Mic volume is only for analog loopback, so it can be normal.
Takashi
--- a/sound/pci/hda/patch_realtek.c +++ b/sound/pci/hda/patch_realtek.c @@ -7738,6 +7738,7 @@ enum { ALC662_FIXUP_ASUS_Nx50, ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE, ALC668_FIXUP_ASUS_Nx51,
ALC668_FIXUP_ASUS_G751, ALC891_FIXUP_HEADSET_MODE, ALC891_FIXUP_DELL_MIC_NO_PRESENCE, ALC662_FIXUP_ACER_VERITON,
@@ -8007,6 +8008,14 @@ static const struct hda_fixup alc662_fixups[] = { .chained = true, .chain_id = ALC668_FIXUP_ASUS_Nx51_HEADSET_MODE, },
[ALC668_FIXUP_ASUS_G751] = {
.type = HDA_FIXUP_VERBS,
.v.verbs = (const struct hda_verb[]) {
{ 0x20, AC_VERB_SET_COEF_INDEX, 0xc3 },
{ 0x20, AC_VERB_SET_PROC_COEF, 0x4000 },
{}
},
}, [ALC891_FIXUP_HEADSET_MODE] = { .type = HDA_FIXUP_FUNC, .v.func = alc_fixup_headset_mode,
@@ -8080,6 +8089,7 @@ static const struct snd_pci_quirk alc662_fixup_tbl[] = { SND_PCI_QUIRK(0x1043, 0x11cd, "Asus N550", ALC662_FIXUP_ASUS_Nx50), SND_PCI_QUIRK(0x1043, 0x13df, "Asus N550JX", ALC662_FIXUP_BASS_1A), SND_PCI_QUIRK(0x1043, 0x129d, "Asus N750", ALC662_FIXUP_ASUS_Nx50),
SND_PCI_QUIRK(0x1043, 0x12ff, "ASUS G751", ALC668_FIXUP_ASUS_G751), SND_PCI_QUIRK(0x1043, 0x1477, "ASUS N56VZ",
ALC662_FIXUP_BASS_MODE4_CHMAP), SND_PCI_QUIRK(0x1043, 0x15a7, "ASUS UX51VZH", ALC662_FIXUP_BASS_16), SND_PCI_QUIRK(0x1043, 0x177d, "ASUS N551", ALC668_FIXUP_ASUS_Nx51), @@ -8184,6 +8194,7 @@ static const struct hda_model_fixup alc662_fixup_models[] = { {.id = ALC668_FIXUP_DELL_XPS13, .name = "dell-xps13"}, {.id = ALC662_FIXUP_ASUS_Nx50, .name = "asus-nx50"}, {.id = ALC668_FIXUP_ASUS_Nx51, .name = "asus-nx51"},
{.id = ALC668_FIXUP_ASUS_G751, .name = "asus-g751"}, {.id = ALC891_FIXUP_HEADSET_MODE, .name = "alc891-headset"}, {.id = ALC891_FIXUP_DELL_MIC_NO_PRESENCE, .name =
"alc891-headset-multi"}, {.id = ALC662_FIXUP_ACER_VERITON, .name = "acer-veriton"},
[2 <text/html; UTF-8 (quoted-printable)>]