Sounds plays out of headphones and speakers at the same time on laptop (Huwawei Matebook 15 D 2021 with sof essx8336)

Hey all! :wave:

I’m new here and new to Fedora (loving it, coming from Elementary and Mint).

I did my best due diligence to comb the forums on this before posting. Most issues regard no sound with essx8336, but this is a little quirkier. Grateful for any help y’all can provide! :heart:

:wrench: The issue:

As described, the sound works on both the speakers and the headphones, as does volume control, but the speakers do not turn off when I plug in the headphones.

It seems they are the same output in ALSA and the mechanism/daemon to switch/mute the speakers is, perhaps, a lower level than that. I’m unsure.

:exclamation: The OS seems to know the difference when headphones are plugged in or not based on the label GNOME gives the volume up/down notifier bubble. I don’t know what to make of that.

:speech_balloon: Background

I used to have no sound on Elementary OS and other distros because of an old Kernal and no support for essx8336. After trying custom kernel patches from an assortment of repos, switching to pipewire, etc. Nothing worked.

Switching to Fedora 39, to my delight, the sound worked immediately, with the one caveat that plugging in headphones doesn’t mute the speakers (the audio also pops on playback/stop due to power saving I think, but that’s a mild inconvenience).

:computer: System Details


  • Huawei Matebook D 15 (2021) – HUAWEI BOD-WXX9 (Model Number)
    11th Gen Intel® Core™ i5-1135G7 × 8
    8.0GB RAM


  • Fedora Linux 39 (Workstation Edition)
    64 Bit
    GNOME 45.5 Wayland
    Kernal: Linux 6.7.10-200.fc39.x86_64

As you can see below, the default sink is the Headphones + Speakers as this is a “Smart Sound Technology” that is ideally supposed to switch automatically; from my layman’s perspective at least.

~$ wpctl status
PipeWire 'pipewire-0' [1.0.4, dylan@fedora, cookie:2574509268]
 └─ Clients:
        31. uresourced                          [1.0.4, dylan@fedora, pid:2039]
        32. WirePlumber                         [1.0.4, dylan@fedora, pid:2072]
        33. WirePlumber [export]                [1.0.4, dylan@fedora, pid:2072]
        71. gnome-shell                         [1.0.4, dylan@fedora, pid:2117]
        72. pipewire                            [1.0.4, dylan@fedora, pid:2719]
        73. GNOME Shell Volume Control          [1.0.4, dylan@fedora, pid:2117]
        74. GNOME Volume Control Media Keys     [1.0.4, dylan@fedora, pid:2314]
        75. xdg-desktop-portal                  [1.0.4, dylan@fedora, pid:2747]
        76. Mutter                              [1.0.4, dylan@fedora, pid:2117]
        77. wpctl                               [1.0.4, dylan@fedora, pid:4401]

 ├─ Devices:
 │      42. Tiger Lake-LP Smart Sound Technology Audio Controller [alsa]
 ├─ Sinks:
 │      45. Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 3 Output [vol: 1.00]
 │      46. Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 2 Output [vol: 1.00]
 │      47. Tiger Lake-LP Smart Sound Technology Audio Controller HDMI / DisplayPort 1 Output [vol: 1.00]
 │  *   48. Tiger Lake-LP Smart Sound Technology Audio Controller Headphones + Speakers [vol: 0.46]
 ├─ Sink endpoints:
 ├─ Sources:
 │  *   49. Tiger Lake-LP Smart Sound Technology Audio Controller Digital Microphone [vol: 1.00 MUTED]
 │      50. Tiger Lake-LP Smart Sound Technology Audio Controller Headset Microphone [vol: 1.00]
 ├─ Source endpoints:
 └─ Streams:

 ├─ Devices:
 │      40. HD Camera                           [v4l2]
 │      41. HD Camera                           [v4l2]
 ├─ Sinks:
 ├─ Sink endpoints:
 ├─ Sources:
 │  *   43. HD Camera (V4L2)                   
 ├─ Source endpoints:
 └─ Streams:

When first opening up the ALSA Mixer I have a single channel on Pipwire. When pressing F6 to switch to view the soundcard, I get a convoluted mess of nonsense, which is par for the course with this setup from what I’ve gathered around the web. There is no auto-mute, and all that matters is the first two channels. Muting the first channel mutes all playback (headphones and laptop speakers). I can’t seem to separate the two.

So… now what?

Any insight on what my next steps should be? I would hate to have to install Windows :face_vomiting: just to use headphones on this thing. Sorry for the long-winded post, and thanks again for your time!