Re: [regression] ctxfi: no speaker output when headphones connected on >=7.0.x

Takashi Iwai <[email protected]>
Newsgroups dev.linux.lists.regressions,org.kernel.vger.linux-kernel,org.kernel.vger.linux-sound
Message-ID <[email protected]>
On Thu, 07 May 2026 20:23:25 +0200,
Dutch Ingraham wrote:
> 
> 
> 
> > Sent: Thursday, May 07, 2026 at 10:12 AM
> > From: "Matt DeVillier" <[email protected]>
> > To: "Takashi Iwai" <[email protected]>
> > Cc: "Dutch Ingraham" <[email protected]>, "Harin Lee" <[email protected]>, "Thorsten Leemhuis" <[email protected]>, "Jaroslav Kysela" <[email protected]>, "Takashi Iwai" <[email protected]>, "Linux kernel regressions list" <[email protected]>, "Linux Sound System" <[email protected]>, "LKML" <[email protected]>
> > Subject: Re: [regression] ctxfi: no speaker output when headphones connected on >=7.0.x
> >
> > On Thu, May 7, 2026 at 10:07 AM Takashi Iwai <[email protected]> wrote:
> > >
> > > On Thu, 07 May 2026 17:02:14 +0200,
> > > Matt DeVillier wrote:
> > > >
> > > >
> > > > On Thu, May 7, 2026 at 8:24 AM Takashi Iwai <[email protected]> wrote:
> > > >
> > > >     On Thu, 07 May 2026 14:47:03 +0200,
> > > >     Dutch Ingraham wrote:
> > > >     >
> > > >     > > Sent: Thursday, May 07, 2026 at 1:30 AM
> > > >     > > From: "Takashi Iwai" <[email protected]>
> > > >     > > To: "Harin Lee" <[email protected]>
> > > >     > > Cc: "Takashi Iwai" <[email protected]>, "Thorsten Leemhuis" <
> > > >     [email protected]>, "Jaroslav Kysela" <[email protected]>, "Takashi
> > > >     Iwai" <[email protected]>, "Linux kernel regressions list" <
> > > >     [email protected]>, "Linux Sound System" <
> > > >     [email protected]>, "LKML" <[email protected]>,
> > > >     [email protected]
> > > >     > > Subject: Re: [regression] ctxfi: no speaker output when headphones
> > > >     connected on >=7.0.x
> > > >     > >
> > > >     > > On Thu, 07 May 2026 00:06:11 +0200,
> > > >     > > Harin Lee wrote:
> > > >     > > >
> > > >     > > > On 5/6/26 4:05 PM, Takashi Iwai wrote:
> > > >     > > > > On Wed, 06 May 2026 08:24:36 +0200,
> > > >     > > > > Thorsten Leemhuis wrote:
> > > >     > > > >>
> > > >     > > > >> Hi! Just FYI, I noticed a regression report in bugzilla:
> > > >     > > > >>
> > > >     > > > >> https://bugzilla.kernel.org/show_bug.cgi?id=221461
> > > >     > > > >>
> > > >     > > > >> To quote:
> > > >     > > > >>
> > > >     > > > >>> Dutch Ingraham 2026-05-03 18:12:49 UTC
> > > >     > > > >>>
> > > >     > > > >>> Kernels >=7.0.1 contain a regression as to Creative Sound
> > > >     Blaster Z SE
> > > >     > > > >>> discrete pci sound card, but not integrated. Kernels 7.0.1,
> > > >     7.0.2, and
> > > >     > > > >>> 7.0.3 tested; 7.0.0 not tested. Reverting to any 6.18.x or
> > > >     6.12.x does
> > > >     > > > >>> not present the issue.
> > > >     > > > >>>
> > > >     > > > >>> Specifically, using pipewire managed by pavucontrol, on both
> > > >     Gentoo and
> > > >     > > > >>> Arch Linux, when both external speakers and headphones are
> > > >     connected,
> > > >     > > > >>> all sound is routed through the headphones regardless of
> > > >     whether settings
> > > >     > > > >>> are set to Line Out/Speaker or Line Out/Headphones; there is no
> > > >     speaker
> > > >     > > > >>> output. If headphones are disconnected, without reboot,
> > > >     speakers work;
> > > >     > > > >>> reconnect headphones, without reboot, sound reverts to
> > > >     headphones.
> > > >     > > > >>>
> > > >     > > > >>> Kernel: 7.0.3, Gentoo compiled from source using olddefconfig
> > > >     on 6.18.24
> > > >     > > > >>>               .config; Arch standard release
> > > >     > > > >>> 'lspci -nnk | grep -i audio' attached
> > > >     > > > >>> 'dmesg | grep -i audio' for 7.0.3 and 6.18.24 attached
> > > >     > > > >>> pipewire-1.6.4 on both Gentoo and Arch Linux
> > > >     > > > >>> alsa-firmware-1.2.4 on both Gentoo and Arch Linux
> > > >     > > > >>> 'cat /proc/sys/kernel/tainted' returns 0 for both Gentoo and
> > > >     Arch Linux
> > > >     > > > >>>
> > > >     > > > >>> Processor             :       AMD Ryzen7 5700G
> > > >     > > > >>> Motherboard           :       Asus Prime X570-Pro
> > > >     > > > >>> RAM                           :       Patriot Viper Steel DDR-4
> > > >     @3200mHz
> > > >     > > > >>> Graphics        :   ASRock AMD Radeon RX 7600 Challenger 8GB OC
> > > >     > > > >>> Sound Card      :   Creative Sound Blaster Z SE
> > > >     > > > >>>
> > > >     > > > >>>
> > > >     > > > >>> Expected outcome: ability to choose output to either speakers
> > > >     or head-
> > > >     > > > >>> phones while both are plugged-in to sound card.
> > > >     > > > >>>
> > > >     > > > >>> Workaround: none known.
> > > >     > > > >>
> > > >     > > > >> See the ticket for more details. One of them: 7.1-rc2 is
> > > >     affected as
> > > >     > > > >> well. Reporter is CCed. Forwarded this to ensure this report
> > > >     makes it to
> > > >     > > > >> the interested parties, as bugzilla might not have forwarded
> > > >     this.
> > > >     > > > >>
> > > >     > > > >> Dutch Ingraham: if nobody within a few days has an idea why this
> > > >     > > > >> happens, you will likely have to use a git bisection to get this
> > > >     resolved.
> > > >     > > > >
> > > >     > > > > As there have been many significant changes in ctxfi since 6.18,
> > > >     it's
> > > >     > > > > hard to tell what broke.  Please go git bisect.
> > > >     > > > >
> > > >     > > > >
> > > >     > > > > thanks,
> > > >     > > > >
> > > >     > > > > Takashi
> > > >     > > > >
> > > >     > > >
> > > >     > > > Creative Sound Blaster Z-series uses the snd_hda_codec_ca0132
> > > >     driver,
> > > >     > > > not snd_ctxfi. The dmesg logs in the bugzilla shows only ca0132
> > > >     > > > entries.
> > > >     > >
> > > >     > > Ah, sorry, then it's easier.  The only major change is the
> > > >     > > commit 778031e1658d206a52bf9491c91ae5d4f4a2509d
> > > >     > >     ALSA: hda/ca0132: Set HP/Speaker auto-detect default from
> > > >     headphone pin verb
> > > >     > >
> > > >     > > Try to revert this one.
> > > >     > >
> > > >     > >
> > > >     > > thanks,
> > > >     > >
> > > >     > > Takashi
> > > >     > >
> > > >     >
> > > >     > I can confirm this seems like a good candidate. I built and tested
> > > >     6.19.14
> > > >     > and 7.0. On 6.19.14, speakers work as expected; on 7.0, speakers are
> > > >     not
> > > >     > working as expected and the offending patch is included in the 7.0
> > > >     patchset.
> > > >     >
> > > >     > Thank you all for your work on this issue.
> > > >
> > > >     OK, then let's put Matt to the party.
> > > >     Matt, could you help for debugging the regression?
> > > >
> > > >     Takashi
> > > >
> > > > I can confirm the regression here on my 2013 Chromebook Pixel w/CA0132.
> > > >
> > > > Looking more closely, the issue is that tVNID_HP_ASEL and VNID_HP_SEL are
> > > > mutually exclusive selection sources in ca0132_select_out() /
> > > > ca0132_alt_select_out(),
> > > > and auto-detect always "wins." So, enabling auto-detect effectively disabled
> > > > user
> > > > override.
> > > >
> > > > While reverting would fix this problem, it would reintroduce the problem of
> > > > jack-detect being
> > > > ignored completely. A better solution would be to default to auto-detect, but
> > > > allow manual selection
> > > > to override. Here's a quick patch I whipped up that should resolve the issue
> > > > (untested though):
> > > > ---
> > > > From: Matt DeVillier <[email protected]>
> > > > Date: Thu, 7 May 2026 09:58:41 -0500
> > > > Subject: [PATCH] ALSA: hda/ca0132: Disable auto-detect on manual output
> > > > select
> > > >
> > > > Commit 778031e1658d ("ALSA: hda/ca0132: Set HP/Speaker
> > > > auto-detect default from headphone pin verb") enables HP/Speaker
> > > > auto-detect by default when the headphone pin supports presence detect.
> > > >
> > > > With auto-detect enabled, ca0132_select_out() and ca0132_alt_select_out()
> > > > choose the output from jack presence instead of the manual HP/Speaker
> > > > selection. This means selecting speaker output while headphones are
> > > > plugged in updates the control state, but audio still routes to the
> > > > headphones.
> > > >
> > > > Treat an explicit manual output selection as a request to leave
> > > > auto-detect mode. Clear the HP/Speaker auto-detect switch before applying
> > > > the manual selection, and notify userspace so the auto-detect control
> > > > state is updated in mixers. Do this for both the normal HP/Speaker
> > > > Playback Switch and the alternate Output Select control used by desktop
> > > > cards.
> > > >
> > > > This keeps auto-detect enabled by default for devices with jack presence
> > > > detection, while preserving the expected behavior that a manual output
> > > > choice takes effect immediately.
> > > >
> > > > Fixes: 778031e1658d ("ALSA: hda/ca0132: Set HP/Speaker auto-detect default
> > > > from headphone pin verb")
> > > > Signed-off-by: Matt DeVillier <[email protected]>
> > > > ---
> > > >  sound/hda/codecs/ca0132.c | 44 +++++++++++++++++++++++++++++++-------------
> > > >  1 file changed, 31 insertions(+), 13 deletions(-)
> > > >
> > > > diff --git a/sound/hda/codecs/ca0132.c b/sound/hda/codecs/ca0132.c
> > > > index ad533b04ab29..be565ffaade0 100644
> > > > --- a/sound/hda/codecs/ca0132.c
> > > > +++ b/sound/hda/codecs/ca0132.c
> > > > @@ -5498,6 +5498,30 @@ static int zxr_headphone_gain_set(struct hda_codec
> > > > *codec, long val)
> > > >   return 0;
> > > >  }
> > > (snip)
> > >
> > > It looks like that the patch is malformed by your mailer.
> > > For avoiding unneeded troubles, please fix the setup or give an
> > > attachment, too.
> > >
> > >
> > > thanks,
> > >
> > > Takashi
> > 
> > My apologies, forgot to ensure text-mode sending when I replied.
> > Hopefully better this time.
> > 
> > regards,
> > Matt
> > 
> 
> Patched against originally non-working v7.0. Now, works as expected; can
> choose Line Out / Speaker or Line Out / Headphones and default holds
> across reboots.
> 
> Thank you Matt and all others who gave your attention to this issue.

Thanks for confirmation.  Now I applied the fix.


Takashi
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.