Self-explanatory. The speakers make random popping sounds and don’t produce actual audio, but headphones do work normally. The popping sounds happen regardless of whether the headphones are plugged in or if the system is muted.
(didn’t install yet, this is from the live session)
The popping is probably wrong HW suspend/wake-up order for this particular onboard soundcard in the driver. Disable power save. Create a .conf file in /etc/modprobe.d with options snd_hda_intel power_save=0 as its content.
As for the no sound issue, check if you have sof-firmware installed.
echo options snd_hda_intel power_save=0 | sudo tee /etc/modprobe.d/90-soundfix.conf gets rid of all pops except one at shutdown, but still only headphone sound works.
When on Windows (and the drivers are installed), the output device can be changed from the sound applet (this is true for many systems). This is called “multistreaming”.
On Linux however, this doesn’t seem possible, including on another system I have. TBH I hope I’m wrong. The headphones would have to be unplugged to hear sound from the speakers, and on this system, they don’t work as of now. At least the random popping noises are gone, just one on shutdown.
The linked forum post is “how to get my PC to use the headphones when they’re plugged in, and speakers otherwise” which is what the system is already doing. What I was asking about is how to temporarily force speaker output even when headphones are plugged in, but this requires that the speakers actually output real sound first, which they don’t.
EDIT: Even on another system, multistreaming doesn’t seem to work right. If I open up pavucontrol, it says “Speakers (unavailable)” when I have my headphones, like so:
Obviously, no sound can be heard when the speakers are selected as the active audio device unless the headphones get unplugged. On Windows, multistreaming works fine (that’s the driver’s name for it) and you can switch the sources around in the sound applet. Hopefully someone finds a solution soon.