I do also have this problem, as in when I boot up and my external monitor is not connected, I need to mute and unmute the audio so the speakers are working on my laptop.
But even after that, if I connect my external monitor, the laptop speakers will not work and won’t show up in the sound settings, unless I manually change the profile.
I’m not sure the two problems are connected necessarily.
I didn’t have these issues on Fedora 40 though. Neither on kernel 6.11, because I tried it on Fedora 40 before updating to Fedora 41 beta.
I just upgraded from Fedora 40 to Fedora 41 stable and I have that problem (with pipewire 1.2.6). None of the above workarounds seem to work. Only unplugging the external monitor helps. When unmuting the speakers in alsamixer, they appear in pavucontrol, but I can’t enable them as output.
I’m on Sway if that matters, external monitor connected through a Lenovo Thunderbolt Dock.
Yeah, I hoped the issue would dissapear as the beta period got over, but I still have it…
In my case though I can adjust the settings and then my laptop sound is back, but it’s kind of annoying that every time I connect my monitor it changes.
I have the same issue with my Lenovo IdeaPad 5 15IIL05 (Fedora 41 KDE upgraded just now from 40), except audio isn’t muted on first login, only speakers disappear after plugging my HDMI TV via a generic USB-C dock.
I also have a bluetooth headset which doesn’t hide the speakers or the HDMI output when connected, but now I don’t see the mic. I tried switching profiles from headset to hifi and back, to no avail.
Restarting wireplumber.service as a user (systemctl --user restart wireplumber.service) fixes (temporarily at least) not only the internal speakers but also the headset mic!
Unfortunately I can’t reboot right now to see if the fix is permanent but I woudln’t think so.
Looks like i have a variation of this issue - sound through speakers disappears a few times a day (setting to speakers does not persist) and I have to manually change output from hdmi to speakers to get it back
Update: I can fix the issue by selecting a different profile for my laptop sound device in the “Configuration” tab of pavucontrol.
On boot, the profile “Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Headphones, Mic1, Mic2)” is selected. If I choose “Play HiFi quality Music (HDMI1, HDMI2, HDMI3, Mic1, Mic2, Speaker)” it works like before the update.
Partially because now when I plug my TV I don’t loose my laptop’s internal speakers but when I connect my bluetooth headphones (Sony WH-CH510) it starts with the headset profile but the mic doesn’t show up neither in KDE’s mixer nor in pavucontrol.
Nothing I change in pavucontrol o the mixer works, I still have to restart wireplumber for the mic to show up
It would seem that pipewire/wireplumber see the devices that are active when the service starts and do not see changes. That may be something to address with a bug report.
Connecting headphones and disconnecting them is a pretty standard action that the audio services should be able to handle.
My expectations would be that when I connect a headphone it should disconnect the speakers, and vice - versa.
Things are a little more complex now that we do not rely on mechanical connections (switches) to make the change. Then usb devices are added into the mix as well as the headphone ports to plug into (and often multiple jacks for external (surround) sound systems)
That seems to be what’s happening with HDMI.
To be clear, my expectation is that no input or output should ever disconnect when a new one gets added.
Change the default? Maybe, but that’s not what I like either, so at least it should be configurable.
Let me give you my use case:
I use a laptop for work, I plug my HDMI TV as a secondary display where I place our monitoring software, and sometimes I connect my bluetooth headset for a videoconference meeting.
I want my laptop’s speakers to always be the default output, but I manually place my music stream on my TV output (as it has better speakers) and I manually place the meeting input/output to my headset.
This is how it worked in Fedora KDE 40 and I was happy
BTW, I didn’t open a bug report because I don’t know where to open it (Fedora? KDE?) but I can do it if you or someone else points me in the right direction.
That’s actually what I was about to ask before seeing your reply
I cannot answer for your use case or expectations, but on my system the audio is always set to HDMI for my TV speakers.
When I plug in the dedicated dongle (usb) for my wireless headphone the sound automatically switches to the headphone and when it is unplugged it switches back to the TV speakers. The headphone mic also activates and deactivates the same way.
I think a headphone that is wired and not usb may act differently.
Pipewire got upgraded to 1.2.7 and on the first reboot the HDMI didn’t “hide” the internal speakers, but subsequent sleeps and reboots returned to the old behaviour.
Fortunately I don’t need to use pavucontrol o pactl, as KDE’s mixer now gives me the choice to switch audio profiles.
Also, my bluetooth headset’s mic is still not listed in the mixer but it actually works!
I joined a zoom meeting and 10 minutes in I realized I didn’t have to restart wireplumber and the mic was functional, even if I couldn’t control it from the mixer.