Fixing HP Pavilion 15-cs3xxx B&O Audio on Kubuntu/Linux
Hardware tested: HP Pavilion Laptop 15-cs3xxx
Audio controller: Intel Ice Lake-LP Smart Sound Technology Audio Controller
Codec: Realtek ALC295
HP subsystem: 103C:86AB
Windows hardware ID: INTELAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_103C86AB&REV_1000
Summary
The internal Bang & Olufsen / B&O speakers on an HP Pavilion 15-cs3xxx can work under Kubuntu/Linux, but the working configuration may require the Intel SOF audio path and a true cold boot.
The key discovery was that warm reboots left the audio hardware in a bad state. Rebooting from Windows into Kubuntu failed. Rebooting from Kubuntu into Kubuntu also failed. A full shutdown followed by powering on and booting directly into Kubuntu made the internal speakers work.
Symptoms
- Windows speaker audio worked normally.
- Kubuntu detected the Realtek ALC295 codec.
- Headphones worked under Linux after some configuration changes.
- Internal speakers stayed silent during many tests.
- PipeWire and ALSA could select the speaker output.
- The final fix worked only after a full power-off cold boot.
Hardware identity
Linux identified the device as an Intel Ice Lake-LP Smart Sound Technology audio controller with HP subsystem 103c:86ab.
Useful Linux check:
lspci -nnk | grep -A6 -i audio
Working driver after the fix:
Kernel driver in use: sof-audio-pci-intel-icl
Windows identified the Realtek audio device as:
INTELAUDIO\FUNC_01&VEN_10EC&DEV_0295&SUBSYS_103C86AB&REV_1000
What did not fully work
Legacy HDA mode
The system originally used the legacy snd_hda_intel path. Several Realtek model quirks were tested, including:
options snd-hda-intel model=alc295-hp-x360
options snd-hda-intel model=hp
options snd-hda-intel model=alc295-hp
options snd-hda-intel model=alc285-hp-amp-init
The best legacy HDA result was:
options snd-hda-intel model=alc295-hp-x360
options snd-hda-intel power_save=0 power_save_controller=N
That helped get headphone output working, but the internal speakers still did not work.
Manual pin and amp wake attempts
Several hda-verb attempts were tested against the Realtek ALC295 speaker-related pins:
sudo hda-verb /dev/snd/hwC0D0 0x14 SET_PIN_WIDGET_CONTROL 0x40
sudo hda-verb /dev/snd/hwC0D0 0x14 SET_EAPD_BTLENABLE 0x02
sudo hda-verb /dev/snd/hwC0D0 0x17 SET_PIN_WIDGET_CONTROL 0x40
sudo hda-verb /dev/snd/hwC0D0 0x17 SET_EAPD_BTLENABLE 0x02
sudo hda-verb /dev/snd/hwC0D0 0x1b SET_PIN_WIDGET_CONTROL 0x40
sudo hda-verb /dev/snd/hwC0D0 0x1b SET_EAPD_BTLENABLE 0x02
These did not solve the internal speaker problem. The evidence suggested this was not a normal mute, volume, or basic pin-routing issue.
Working fix
1. Enable Intel SOF / DSP mode
Edit GRUB:
sudo nano /etc/default/grub
Find:
GRUB_CMDLINE_LINUX_DEFAULT="..."
Add this inside the quotes:
snd_intel_dspcfg.dsp_driver=3
Example:
GRUB_CMDLINE_LINUX_DEFAULT="snd_intel_dspcfg.dsp_driver=3"
If there are already boot options, append it:
GRUB_CMDLINE_LINUX_DEFAULT="existing_option_here snd_intel_dspcfg.dsp_driver=3"
You do not need to add quiet splash. If you prefer to see boot messages, leave those out.
Update GRUB:
sudo update-grub
2. Remove old forced HDA model quirks
Edit:
sudo nano /etc/modprobe.d/alsa-base.conf
Comment out forced legacy model lines such as:
# options snd-hda-intel model=alc295-hp-x360
# options snd-hda-intel model=alc285-hp-amp-init
The power-save line can remain:
options snd-hda-intel power_save=0 power_save_controller=N
Rebuild initramfs:
sudo update-initramfs -u
3. Fully shut down and cold boot
This was the critical step.
Do not just restart. Fully power off:
sudo poweroff
Wait several seconds. Press the power button and boot directly into Kubuntu.
After this cold boot, the internal B&O speakers worked.
Confirm the fix
Check the active driver:
lspci -nnk | grep -A6 -i audio
Expected result:
Kernel driver in use: sof-audio-pci-intel-icl
Check sinks:
pactl list short sinks
The analog SOF sink may look like:
alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink
List ports:
pactl list sinks | grep -A40 "HiFi__hw_sofhdadsp__sink"
The useful analog ports may appear as:
[Out] Speaker
[Out] Headphones
If needed, force the speaker port:
pactl set-sink-port alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink "[Out] Speaker"
Set volume:
pactl set-sink-volume alsa_output.pci-0000_00_1f.3-platform-skl_hda_dsp_generic.HiFi__hw_sofhdadsp__sink 100%
Test:
speaker-test -D default -c 2 -t wav
Save the working state
Once the speakers work, save ALSA state:
sudo alsactl store
Capture a known-good reference:
mkdir -p ~/audio-working-state
amixer -c 0 > ~/audio-working-state/amixer-working.txt
pactl list sinks > ~/audio-working-state/pactl-sinks-working.txt
pactl list cards > ~/audio-working-state/pactl-cards-working.txt
lspci -nnk | grep -A6 -i audio > ~/audio-working-state/audio-driver-working.txt
cat /proc/asound/card0/codec#0 > ~/audio-working-state/codec-working.txt
Dual-boot warning
If Windows is installed alongside Kubuntu, disable Windows Fast Startup / hibernation.
In Windows PowerShell as Administrator:
powercfg /h off
When switching from Windows to Kubuntu, avoid Restart. Use a full shutdown:
shutdown /s /t 0
Then power on and boot Kubuntu.
Observed behavior:
Warm reboot from Windows to Kubuntu: failed
Warm reboot from Kubuntu to Kubuntu: failed
Cold boot directly into Kubuntu: worked
Final working configuration
GRUB
snd_intel_dspcfg.dsp_driver=3
/etc/modprobe.d/alsa-base.conf
Legacy model overrides commented out:
# options snd-hda-intel model=alc295-hp-x360
# options snd-hda-intel model=alc285-hp-amp-init
Optional power-save disable:
options snd-hda-intel power_save=0 power_save_controller=N
Boot method
Full shutdown
Power on
Boot directly into Kubuntu
Final diagnosis
This HP Pavilion 15-cs3xxx with Realtek ALC295 and HP subsystem 103C:86AB can run its B&O internal speakers under Kubuntu/Linux, but the working setup depends on:
- Intel SOF driver path
- no forced legacy HDA model override
- cold hardware initialization
- avoiding warm-reboot audio state problems
This was not caused by ordinary KDE volume, PipeWire routing, ALSA mixer levels, or dead speakers. The SOF driver path plus a true cold boot initialized the HP/B&O speaker amplifier path correctly.