Re: [PATCH] ALSA: hda/realtek: Fix speaker pop on Star Labs StarFighter

From: Takashi Iwai

Date: Wed Feb 18 2026 - 02:29:07 EST


On Tue, 17 Feb 2026 23:14:24 +0100,
Sean Rhodes wrote:
> On Star Labs StarFighter (Realtek ALC233/235), the internal speakers can
> emit an audible pop when resuming from runtime suspend.
>
> The speaker amplifier is controlled via EAPD. The generic Realtek shutup
> path can toggle EAPD/pin widget control while the amp is still unmuted,
> causing the pop.

Doesn't just turn off shutup (e.g. applying ALC269_FIXUP_NO_SHUTUP
quirk) work enough in your case? Or just muting without touching
EAPD?

If only mute is needed, you can apply a simpler fix like below.


thanks,

Takashi

-- 8< --

--- a/sound/hda/codecs/realtek/alc269.c
+++ b/sound/hda/codecs/realtek/alc269.c
@@ -3609,6 +3609,22 @@ static void alc245_fixup_hp_zbook_firefly_g12a(struct hda_codec *codec,
alc285_fixup_hp_coef_micmute_led(codec, fix, action);
}

+static void starlabs_starfighter_shutup(struct hda_codec *codec)
+{
+ if (snd_hda_gen_shutup_speakers(codec))
+ msleep(30);
+}
+
+static void alc233_fixup_starlabs_starfighter(struct hda_codec *codec,
+ const struct hda_fixup *fix,
+ int action)
+{
+ struct alc_spec *spec = codec->spec;
+
+ if (action == HDA_FIXUP_ACT_PRE_PROBE)
+ spec->shutup = starlabs_starfighter_shutup;
+}
+
/*
* ALC287 PCM hooks
*/
@@ -4056,6 +4072,7 @@ enum {
ALC236_FIXUP_HP_MUTE_LED_MICMUTE_GPIO,
ALC233_FIXUP_LENOVO_GPIO2_MIC_HOTKEY,
ALC245_FIXUP_BASS_HP_DAC,
+ ALC233_FIXUP_STARLABS_STARFIGHTER,
};

/* A special fixup for Lenovo C940 and Yoga Duet 7;
@@ -6576,6 +6593,10 @@ static const struct hda_fixup alc269_fixups[] = {
/* Borrow the DAC routing selected for those Thinkpads */
.v.func = alc285_fixup_thinkpad_x1_gen7,
},
+ [ALC233_FIXUP_STARLABS_STARFIGHTER] = {
+ .type = HDA_FIXUP_FUNC,
+ .v.func = alc233_fixup_starlabs_starfighter,
+ },
};

static const struct hda_quirk alc269_fixup_tbl[] = {
@@ -7651,6 +7672,7 @@ static const struct hda_quirk alc269_fixup_tbl[] = {
SND_PCI_QUIRK(0x2782, 0x1705, "MEDION E15433", ALC269VC_FIXUP_INFINIX_Y4_MAX),
SND_PCI_QUIRK(0x2782, 0x1707, "Vaio VJFE-ADL", ALC298_FIXUP_SPK_VOLUME),
SND_PCI_QUIRK(0x2782, 0x4900, "MEDION E15443", ALC233_FIXUP_MEDION_MTL_SPK),
+ SND_PCI_QUIRK(0x7017, 0x2014, "Star Labs StarFighter", ALC233_FIXUP_STARLABS_STARFIGHTER),
SND_PCI_QUIRK(0x8086, 0x2074, "Intel NUC 8", ALC233_FIXUP_INTEL_NUC8_DMIC),
SND_PCI_QUIRK(0x8086, 0x2080, "Intel NUC 8 Rugged", ALC256_FIXUP_INTEL_NUC8_RUGGED),
SND_PCI_QUIRK(0x8086, 0x2081, "Intel NUC 10", ALC256_FIXUP_INTEL_NUC10),