You are not logged in.
Hey everyone,
I’m trying to get internal speakers working on a Razer Blade 14 (AMD Phoenix platform, Realtek ALC298). Headphones and HDMI audio work perfectly, but internal speakers are completely silent despite being detected correctly in ALSA and PipeWire.
I did some deeper debugging and I suspect this is a codec/firmware routing or OEM ACPI initialization issue rather than a userspace configuration problem.
System Info:
- Laptop: Razer Blade 14 (AMD Phoenix, subsystem 1a58:2022)
- OS: Arch Linux (fully updated as of writing this)
- Kernel: 7.0.9-arch1-1
- Audio stack: PipeWire + WirePlumber
- Codec: Realtek ALC298 (HDA:10ec0298,1a582022)
- AMD ACP audio (snd_pci_ps) is also active (hybrid ACP + HDA audio)
ALSA / Device Layout:
card 3: HD-Audio Generic (ALC298 Analog) <- built-in audio
card 1: NVIDIA HDMI audio
card 2: AMD HDMI audio
Relevant codec:
- Node 0x17: Speaker pin complex
- Node 0x03 -> 0x17 routing exists
- Speaker Playback Switch present
- EAPD = enabled (0x2)
Things already tried
- Verified correct PipeWire sink selection
- Tested ALSA device directly (speaker-test hw:3,0)
- Inspected full codec graph via /proc/asound/card3/codec*
- Confirmed speaker pin (0x17) and DAC routing exists
- Verified EAPD state (0x2)
- Tested hda-verb toggles on pin 0x17 (no effect)
- Installed sof-firmware (already present)
I’m happy to provide additional logs if needed.
Thanks
Last edited by thebudgiedev (Yesterday 22:36:20)
Offline
The solution was the bash script below, which I found referenced in several threads. It manually brute-forces HDA codec pins to find a working audio configuration. Make sure alsa-utils is installed, then run aplay -l to determine which card your audio device is using. Depending on the result, you may need to change hwC1D0 in the script.
The script has to be re-run with sudo priveleges on each reboot, so I recommend making a systemd service that automatically runs the bash file.
Offline