Hi,

I have tested this patch on my Lenovo Legion Y9000X 2021 (ALC287, subsystem 
0x17aa3822) and can confirm that it fixes the internal speaker issue.

For reference:
- Kernel version: 6.12.107 (self-built with this patch)
- Codec: Realtek ALC287
- Subsystem ID: 0x17aa3822
- dmesg shows the quirk is successfully applied.

Tested playback and the speakers work as expected.

Therefore, please feel free to add my:
Tested-by: [email protected]

If there are any other tests needed, let me know.

Thanks for the patch!

Best regards,
Kaspar


________________________________
发件人: Tj <[email protected]>
发送时间: 2026年9月3日 16:14
收件人: [email protected] <[email protected]>
抄送: Kaspar Choo <[email protected]>; Salvatore Bonaccorso 
<[email protected]>
主题: Lenovo Legion Y9000X 2021 has no sound output through external speakers

There are several very similar quirks for what look to be closely
related models:

$ git grep -n ALC285_FIXUP_LEGION_Y9000X_SPEAKERS sound/hda/codecs
sound/hda/codecs/realtek/alc269.c:4148: ALC285_FIXUP_LEGION_Y9000X_SPEAKERS,
sound/hda/codecs/realtek/alc269.c:6238:
[ALC285_FIXUP_LEGION_Y9000X_SPEAKERS] = {
sound/hda/codecs/realtek/alc269.c:7907: SND_PCI_QUIRK(0x17aa, 0x3824,
"Legion Y9000X 2020", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),
sound/hda/codecs/realtek/alc269.c:7910: SND_PCI_QUIRK(0x17aa, 0x383d,
"Legion Y9000X 2019", ALC285_FIXUP_LEGION_Y9000X_SPEAKERS),

The 2020 quirk originated in commit 8f4c90427a8f0ca0fcdd "ALSA:
hda/realtek: Add quirk for Legion Y9000X 2020" that was introduced via
the mailing-list

https://lore.kernel.org/all/[email protected]/

SND_PCI_QUIRK() macro needs the audio device sub-system ID. Although
your bug report does not include that it is in the linked ALSA script
report as "Subsystem: Lenovo Device [17aa:3811]":

!!PCI Soundcards installed in the system
!!--------------------------------------

00:1f.3 Audio device [0403]: Intel Corporation Comet Lake PCH cAVS
[8086:06c8] (prog-if 80 [HDA compatible with vendor specific extensions])
     Subsystem: Lenovo Device [17aa:3811]
01:00.1 Audio device [0403]: NVIDIA Corporation TU106 High Definition
Audio Controller [10de:10f9] (rev a1) (prog-if 00 [HDA compatible])
     Subsystem: Lenovo Device [17aa:3801]


Unfortunately there is already a PCI quirk for that sub-system ID:

$ git grep -n '0x17aa, 0x3811' sound/hda/codecs/
sound/hda/codecs/realtek/alc269.c:8109: SND_PCI_QUIRK(0x17aa, 0x3811,
"Legion S7 15IMH05", ALC287_FIXUP_LEGION_15IMHG05_SPEAKERS),

Fortunately this issue is dealt with by using the HDA_CODEC_QUIRK()
macro instead, that matches on the codec's sub-system ID instead. Your
ALSA report shows it is "0x17aa3822":

!!HDA-Intel Codec information
!!---------------------------
--startcollapse--

Codec: Realtek ALC287
Address: 0
AFG Function Id: 0x1 (unsol 1)
Vendor Id: 0x10ec0287
Subsystem Id: 0x17aa3822
Revision Id: 0x100002


We should begin by hoping the quirk ALC285_FIXUP_LEGION_Y9000X_SPEAKERS
will work for this device too.

If you are able to build a mainline kernel to test the attached patch,
and it resolves the issue, the patch needs forwarding to the sub-system
maintainers and mailing-list:

$ scripts/get_maintainer.pl sound/hda/codecs/realtek
Jaroslav Kysela <[email protected]> (maintainer:SOUND)
Takashi Iwai <[email protected]>
(maintainer:SOUND,commit_signer:165/167=99%,authored:10/167=6%)
Zhang Heng <[email protected]>
(commit_signer:20/167=12%,authored:20/167=12%)
[email protected] (open list:SOUND)
[email protected] (open list)

Reply via email to