Your message dated Wed, 13 Oct 2021 22:49:09 +0200
with message-id <3001259.lVWm8UsTTV@bagend>
and subject line Re: Bug#995923: Forwarded upstream
has caused the Debian Bug report #995923,
regarding linux: Regression in 5.14: no more multichannel audio on Rock64
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)


-- 
995923: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=995923
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
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

--- End Message ---
--- Begin Message ---
Control: tags -1 - moreinfo
Control: tags -1 - upstream

On Wednesday, 13 October 2021 22:18:25 CEST Salvatore Bonaccorso wrote:
> Do I understand the discussion correctly that this was a problem
> arised in the configuration, so there won't be something to change on
> the kernel side?

Yes, you understood correctly.

I (previously) used HDMI.conf/SPDIF.conf (and also had 2 other .conf files)
taken from the LibreELEC repo which actually made multi-channel audio
work in kernel versions < 5.14. 
In kernel 5.14 the card name was hard-coded to "simple-card" and so it
couldn't find a matching .conf file and therefor the audio profile changed to
"stereo-fallback".
In the following commit, the LE people created a "simple-card.conf" file and
with that I had my multichannel audio back:
https://github.com/LibreELEC/LibreELEC.tv/commit/f681a48a664bd0f0e8f0dc131bd58c5d7512adc3

I _think_ that it would be (even) better if an UCM configuration file gets 
created, but I don't know how to do it and whether such a file should be
created for each card, which to me doesn't rhyme with Use Case.
I'm not sure whether I'll make time to figure out how/what/where/why/etc
needs to be done to do it proper.

In https://github.com/LibreELEC/LibreELEC.tv/issues/5734#issuecomment-940088156
I had verified that it indeed fixed the issue for me with a self-compiled 
kernel (from ~ Debian's 'master' branch) and today I verified that the latest
LE nightly is also again working as it should.

Thanks for the reminder :)

Cheers,
  Diederik

Attachment: signature.asc
Description: This is a digitally signed message part.


--- End Message ---

Reply via email to