Re: No speech in the alpha Installer, and speech freeze in Bookworm

Roland Clobus <[email protected]> Tue, 27 May 2025 13:36:36 +0200
Newsgroups gmane.linux.debian.devel.boot,gmane.linux.debian.devel.accessibility,gmane.linux.debian.devel.cd
Message-ID <[email protected]>
Hello Cyril, lists,

On 26/05/2025 21:28, Cyril Brulebois wrote:
> Cleverson Casarin Uliana <[email protected]> (2025-05-26):
>> It talked, hence it works! I actually had no Debian installed, but now
>> I'm gonna install it next weekend.
> 
> Thanks, that's very good news. Roland was able to check my image was
> working at least on one affected system, but it's really nice to hear
> (no pun intended) that's also working for you.

There are two different sets of hardware at play here. I fear I caused 
some confusion while I was preparing a fix for the live images in a 
single commit:

* The live images did not have any firmware at all in the initrd, so 
espeakup would never have worked for sound cards that require some 
non-free-firmware (currently they have both firmware-intel-sound and 
firmware-sof-signed).
* Cleverson has an Intel cAVS sound card, which is 8086:51ca. Since the 
test live image contains both firmware and kernel modules, no definitive 
conclusion can be made (yet). After entering the live environment the 
i915 module (and its firmware) is loaded, as shown in res8 [2].
* My hardware is a Lenovo Thinkpad P16s Gen3, with a sound card which is 
8086:7e28. It requires the i915 kernel module (and firmware-sof-signed 
firmware) (Intel Corporation Meteor Lake-P HD Audio Controller (rev 20)).
The firmware-sof-signed.patterns file mentions this identifier (both for 
netinst and live images).

 > Proofreading my mail, I've come to a slightly different conclusion
 > regarding the relevant of the firmware-intel-sound package [snip]

 > So perhaps in the end, adding firmware-intel-sound to the installer's
 > initramfs (and making sure it gets deployed in the installed system when
 > relevant) is optional, and maybe all that matters is including enough
 > modules for the i915 one to load successfully.

I agree, but we would support a few more sound cards now.

For the cAVS sound card firmware-intel-sound might be required, and no 
additional kernel modules. The firmware-intel-sound.patterns file in the 
netinst image does not contain that identifier (even after the update), 
however the patterns file in the live images does contain that 
identifier [1].
Interestingly enough, the identifier 8086:51ca (Intel cAVS) is mentioned 
in both patterns files on the live images. I read some kernel code, and 
determined at firmware-intel-sound would be required, but I forgot to 
write down exactly how I came to that conclusion.

I ended up with [3]:
for _ALIAS in $(dpkg-query -L ${_LINUX_KERNEL_PACKAGE} | egrep 
'kernel/sound/soc/intel/.*\.ko(.xz)?$'); do /usr/sbin/modinfo ${_ALIAS} 
| awk '/^alias:/ { print $2 }'; done | sort -u | awk '{ gsub(/[*]/, 
".*", $1); printf "^%s$\n", $1 }' > ${_FW_DEP11_DIR}/${_PACKAGE}.patterns

which parses different kernel modules compared to the logic for 
firmware-sof-signed:
for _ALIAS in $(dpkg-query -L ${_LINUX_KERNEL_PACKAGE} | egrep 
'(kernel/sound/soc/sof/.*\.ko(.xz)?|/snd-soc-.*sof.*\.ko(.xz)?)$'); do 
/usr/sbin/modinfo ${_ALIAS} | awk '/^alias:/ { print $2 }'; done | sort 
-u | awk '{ gsub(/[*]/, ".*", $1); printf "^%s$\n", $1 }' > 
${_FW_DEP11_DIR}/${_PACKAGE}.patterns
						
On top of this, there are 2 scenarios to consider:
1) Have espeakup work during the installation
2) Ensure that the installed system has the correct firmware files

For 1) the additional firmware is required in the initrd
For 2) the .patterns files are required (the 
firmware-intel-sound.patterns file was not generated

With kind regards,
Roland Clobus

[1] Get the standard image from 
https://get.debian.org/images/weekly-live-builds/amd64/iso-hybrid/ 
(1.7GB), mount the ISO and look in 
<mountpoint>/firmware/dep11/firmware-intel-sound.patterns
[2] Trying to find out why I concluded we need firmware-intel-sound:
https://lists.debian.org/debian-accessibility/2025/04/msg00060.html
res7 contain the output 'lsmod', which (now that I read better, contains 
i915 as well). This was the output on a working live environment with 
sound active. I grepped the kernel code for 'filename' and found some 
boards in sound/soc/intel/avs/boards
[3] 
https://salsa.debian.org/live-team/live-build/-/blob/master/scripts/build/installer_debian-installer?ref_type=heads
OpenPGP_signature.asc (application/pgp-signature, 833 B)
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCgAdFiEEUFVLM5Bdj7GSJEb+YsV8aqYUlb0FAmg1o8UACgkQYsV8aqYU
lb3Zhg/9EwjvJjpt4nvHKcI+vqHAeupkJ/wPsyz6YX/kPHjO7o6hzPZNU8JUHRYr
6hza1hI+OJ2N+ferVUVDE4MycnQ0mIFDDpN4gqSW1e+y81SRd9QauJ6YKZtjdgK4
KaSvNo4Io5zdZaUmXBUEr2MHEiPqYrnZyLCUK/U1loJD8fTORQ8MLrALcDCSgbUG
xEyh7W8q/7EnSBIlL/xpplZZYMbH9A1U5x1wQ6C8AlyA7YgomttxiOMtq5Mb85Uh
tzHw+OcnoQzviSzmXVZv3qptXyPorssQ7cUf8XUeQdUvDN4g+MhCITCF7Qr6Yfz1
HIX29zq9XIbhU820DDyDjNpvoF5eYz8qu2p/gnWfh7xE/N/HR/sWP9WLSb+Yd7Tp
3mOD5UY2KoFSLy0WWu13RsVqvQqb8u+4aC0Ew3YOchiX1490q6D5tl6PHcb0bo5g
Mr1Yn7aYuvLEJKrAuJTnkKZ1629i6qV/ZLR4m24aFMVFFvB3g2x1cxRz4Z1V3Xni
zkWwgMeTW0I7gXhUTsxcuDuEqa0JJW9noCR+KHRIX+Iqx6rqoWGQaO99Dm8ukGq5
3FEYqdN2sLruPXHEPMtC7ELqHohUkWHDM0CWLntkDgzscsGGdOglCiXcdW5c+p6k
sjjqiY91L97LzvcwkDPEsRn23aiyEbtFV2Xp5H554jwEMJHganU=
=ADG4
-----END PGP SIGNATURE-----