Source: linux Version: 5.14-1~exp1 Severity: normal Tags: upstream In kernel 5.13 on my Rock64, `pactl list cards` correctly identified my AVR (SC-1224) and had various multichannel audio profiles I could choose from. Since kernel 5.14, `paclt list cards` no longer identifies my AVR and I only have stereo audio profiles.
I've build and tested various kernel versions myself based off commit e4e2aea3e840406042537c5ef4970d9e8560a103 (Merge branch 'rockchip-spdif' into 'master') which has all needed audio modules (afaik) enabled for Rock64. The 5.13.12-1~exp2 is slightly older and therefor misses the SPDIF card. I used the same dtb in all the test, which is build from 5.14.6, and I've kept all other software at the same sofware versions, so it wouldn't affect the results. I think that means the only (real) change is the upstream source code. Output of `uname -a` and `pactl list cards` on the various kernels: ======================================================== diederik@bagend:~$ ssh soundserver Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Oct 7 09:29:48 2021 from 192.168.2.50 Initialising new SSH agent... succeeded diederik@soundserver:~$ uname -a Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) aarch64 GNU/Linux diederik@soundserver:~$ pactl list cards Card #0 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 4 Properties: alsa.card = "0" alsa.card_name = "HDMI" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes) output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes) output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes) output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:hdmi-surround71 Ports: analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown) Part of profile(s): input:stereo-fallback hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "video-display" device.product.name = "SC-1224" Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71 diederik@soundserver:~$ su -l Password: root@soundserver:~# vim /etc/default/grub root@soundserver:~# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.13.0-1-arm64 Found initrd image: /boot/initrd.img-5.13.0-1-arm64 Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.10.0-8-arm64 Found initrd image: /boot/initrd.img-5.10.0-8-arm64 done root@soundserver:~# reboot Connection to soundserver closed by remote host. Connection to soundserver closed. diederik@bagend:~$ ssh soundserver Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Oct 7 23:23:06 2021 from 192.168.2.50 Initialising new SSH agent... succeeded diederik@soundserver:~$ uname -a Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64 GNU/Linux diederik@soundserver:~$ pactl list cards Card #0 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 4 Properties: alsa.card = "1" alsa.card_name = "HDMI" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes) output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes) output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes) output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:hdmi-surround71 Ports: analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown) Part of profile(s): input:stereo-fallback hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability unknown) Properties: device.icon_name = "video-display" device.product.name = "SC-1224" Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71 Card #1 Name: alsa_card.platform-spdif-sound Driver: module-alsa-card.c Owner Module: 5 Properties: alsa.card = "0" alsa.card_name = "SPDIF" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-spdif-sound" sysfs.path = "/devices/platform/spdif-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes) output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3) Output (sinks: 1, sources: 0, priority: 300, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:iec958-stereo Ports: iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown) Part of profile(s): output:iec958-stereo diederik@soundserver:~$ su -l Password: root@soundserver:~# vim /etc/default/grub root@soundserver:~# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.13.0-1-arm64 Found initrd image: /boot/initrd.img-5.13.0-1-arm64 Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.10.0-8-arm64 Found initrd image: /boot/initrd.img-5.10.0-8-arm64 done root@soundserver:~# reboot Connection to soundserver closed by remote host. Connection to soundserver closed. diederik@bagend:~$ ssh soundserver Linux soundserver 5.14.0-trunk-arm64 #1 SMP Debian 5.14-1 (2021-10-01) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Oct 7 23:25:15 2021 from 192.168.2.50 Initialising new SSH agent... succeeded diederik@soundserver:~$ uname -a Linux soundserver 5.14.0-trunk-arm64 #1 SMP Debian 5.14-1 (2021-10-01) aarch64 GNU/Linux diederik@soundserver:~$ pactl list cards Card #0 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 4 Properties: alsa.card = "1" alsa.card_name = "HDMI" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes) output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:stereo-fallback Ports: analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown) Part of profile(s): input:stereo-fallback analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback Card #1 Name: alsa_card.platform-spdif-sound Driver: module-alsa-card.c Owner Module: 5 Properties: alsa.card = "0" alsa.card_name = "SPDIF" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-spdif-sound" sysfs.path = "/devices/platform/spdif-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:stereo-fallback Ports: analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback diederik@soundserver:~$ su -l Password: root@soundserver:~# vim /etc/default/grub root@soundserver:~# update-grub Generating grub configuration file ... Found linux image: /boot/vmlinuz-5.14.0-1-arm64 Found initrd image: /boot/initrd.img-5.14.0-1-arm64 Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.13.0-1-arm64 Found initrd image: /boot/initrd.img-5.13.0-1-arm64 Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64 Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64 Found linux image: /boot/vmlinuz-5.10.0-8-arm64 Found initrd image: /boot/initrd.img-5.10.0-8-arm64 done root@soundserver:~# reboot Connection to soundserver closed by remote host. Connection to soundserver closed. diederik@bagend:~$ ssh soundserver Linux soundserver 5.14.0-1-arm64 #1 SMP Debian 5.14.10-1 (2021-10-07) aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. Last login: Thu Oct 7 23:27:44 2021 from 192.168.2.50 Initialising new SSH agent... succeeded diederik@soundserver:~$ uname -a Linux soundserver 5.14.0-1-arm64 #1 SMP Debian 5.14.10-1 (2021-10-07) aarch64 GNU/Linux diederik@soundserver:~$ pactl list cards Card #0 Name: alsa_card.platform-hdmi-sound Driver: module-alsa-card.c Owner Module: 4 Properties: alsa.card = "1" alsa.card_name = "HDMI" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-hdmi-sound" sysfs.path = "/devices/platform/hdmi-sound/sound/card1" device.form_factor = "internal" device.string = "1" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes) output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:stereo-fallback Ports: analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown) Part of profile(s): input:stereo-fallback analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback Card #1 Name: alsa_card.platform-spdif-sound Driver: module-alsa-card.c Owner Module: 5 Properties: alsa.card = "0" alsa.card_name = "SPDIF" alsa.long_card_name = "pine64-rock64_rk3328-" alsa.driver_name = "snd_soc_simple_card" device.bus_path = "platform-spdif-sound" sysfs.path = "/devices/platform/spdif-sound/sound/card0" device.form_factor = "internal" device.string = "0" device.description = "Built-in Audio" module-udev-detect.discovered = "1" device.icon_name = "audio-card" Profiles: output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes) off: Off (sinks: 0, sources: 0, priority: 0, available: yes) Active Profile: output:stereo-fallback Ports: analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown) Part of profile(s): output:stereo-fallback diederik@soundserver:~$ ======================================================== At https://salsa.debian.org/diederik/linux/-/branches in the various 'rock64-audio-*' branches and 'master', you'll find the (minimal) changes I've made to successfully build the kernel packages. Cheers, Diederik -- System Information: Debian Release: bookworm/sid APT prefers testing APT policy: (990, 'testing'), (500, 'unstable') Architecture: arm64 (aarch64) Kernel: Linux 5.14.0-1-arm64 (SMP w/4 CPU threads) Kernel taint flags: TAINT_CRAP, TAINT_UNSIGNED_MODULE Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled