RK3588 Upgrade – No Audio from Built-in Speakers

Hello!

I recently upgraded my classic MNT Reform to the RK3588 and have been very pleased with the performance boost.

However, I’ve run into an issue I haven’t been able to resolve, and I’m hoping for some help:

When I launch Volume Control (e.g., pavucontrol), the only output shown is Dummy Output. If I restart the machine with an HDMI monitor connected, I usually (but not always) get audio over HDMI. In that case, additional outputs like Headphones and Built-in Speakers appear, but selecting them produces no sound.

  • I’ve reinstalled fresh images multiple times and the behavior remains the same.

  • The built-in speakers worked fine with the previous compute module, so this does not appear to be a hardware failure.

  • I’ve included a dump of commands that I tried to use for troubleshooting. I don’t know enough about their output to limit to only the necessary info. As such, apologies for the noise.

Thanks for reading — and huge thanks in advance to anyone who can help!

aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: hdmi1 [hdmi1], device 0: fddf4000.i2s-i2s-hifi i2s-hifi-0 [fddf4000.i2s-i2s-hifi i2s-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: rk3588wm8960 [rk3588-wm8960], device 0: fe470000.i2s-wm8960-hifi wm8960-hifi-0 [fe470000.i2s-wm8960-hifi wm8960-hifi-0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
systemctl --user status pipewire
● pipewire.service - PipeWire Multimedia Service
     Loaded: loaded (/usr/lib/systemd/user/pipewire.service; enabled; preset: enabled)
     Active: active (running) since Mon 2025-07-21 08:12:16 MDT; 1h 53min ago
 Invocation: 053b4932e1c0494a8d7d08ac63bc5536
TriggeredBy: ● pipewire.socket
   Main PID: 1062 (pipewire)
      Tasks: 3 (limit: 37710)
     Memory: 10.9M (peak: 13.1M)
        CPU: 17.268s
     CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/pipewire.service
             └─1062 /usr/bin/pipewire

Jul 21 08:12:16 mnt systemd[977]: Started pipewire.service - PipeWire Multimedia Service.
pactl info
Server String: /run/user/1000/pulse/native
Library Protocol Version: 35
Server Protocol Version: 35
Is Local: yes
Client Index: 367
Tile Size: 65472
Server Name: PulseAudio (on PipeWire 1.4.2)
Server Version: 15.0.0
Default Sample Specification: float32le 2ch 48000Hz
Default Channel Map: front-left,front-right
Default Sink: auto_null
Default Source: alsa_input.platform-analog-sound.stereo-fallback
Cookie: fc73:e930
pactl list short sinks
35	auto_null	PipeWire	float32le 2ch 48000Hz	RUNNING
dmesg | grep -i audio
[   11.162476] hdmi-audio-codec hdmi-audio-codec.6.auto: HDMI: Unknown ELD version 0
[   11.162842] hdmi-audio-codec hdmi-audio-codec.6.auto: ASoC error (-19): at snd_soc_dai_prepare() on i2s-hifi

@minute potential regression from the UCM profile addition?

you don’t need to reinstall. To test things it is sufficient to test them from an image that you have flashed to an sd-card. To rule out that a recent software upgrade broke this, could you maybe try one of the older system images?

I had similar issues and I found that using alsamixer to unmute the left/right channels on the rk3588 sound card fixed the issue for me. Note you need to switch to the card using F6.

That would be strange because the UCM profile is for tlv320aic3100, not for wm8960.

Maybe reform-hw-setup stopped working?