Hi all,
I would like you to introduce the situation with the Intel's Sound Open
Firmware. We have finally a stable version of the driver in the Fedora kernel
(5.5.7), so it's time to discuss this.
The issue is that Intel need to deal with three type of files. The first
file is the firmware (binary instruction blob which is executed in DSP, suffix
.ri). The second file is the topology and configuration for the ALSA's ASoC
core / SOF driver (suffix .tplg). Those both files are loaded via the firmware
load calls from the kernel. The names for those files are determined using the
hardware probe. The .ri files are platform (Broadwell etc.) dependent. The
topology files might differ more (HDMI configuration, codec configuration etc.).
The third file is not loaded via the firmware call, it contains the debug
strings (SOF firmware is stripped, thus only pointers are returned through the
trace interface and there's utility sof-logger which converts those pointers
back to the strings using those .ldc files). It's just for the debugging
purposes and for the normal operation, it is not used at all.
The last piece is the signing. Intel has a secure mechanism which is
activated in DSP, so DSP doesn't accept the unsigned firmware, if the hardware
vendor wants (and they usually wants this security). So, although, the SOF
firmware is being developed as open source, we cannot do own modifications,
because we don't have the signing keys. Of course, there is open hardware
where the public keys are used (like UP^2 or some Chromebooks). But Lenovo,
Dell and others requires firmware signed by Intel.
Personally, I'm trying to convince Intel's people to release the stable
signed firmware files to linux-firmware, but so far, I have not been
successful so far. My opinion is that the tested and verified binary topology
files should belong to the linux-firmware, too. Intel do not agree on this
(distributions should compile the topology binaries from the sources).
Unfortunately, the topology sources are not distributed separately from the
SOF firmware, so we need to deal with the whole SOF tree.
For Fedora, I'm packaging the SOF firmware, topology and debug (.ldc)
bundle (https://www.alsa-project.org/files/pub/misc/sof/) via the
alsa-firmware package for now (this package is not installed by default which
causes another bug iteration 'install this package' for users). Note that this
is not in the upstream alsa-firmware tar ball. It's an extra thing.
The last activity from the Intel is the sof-bin repository:
https://github.com/thesofproject/sof-bin/tree/stable-v1.4.2 . It's probably a
good step forward to have this reference, but it's outside the linux-firmware
repository. I don't know if they want to mirror this to linux-firmware.
The objective: Fedora/RHEL users should have sound available after the
initial installation, thus we need to find the way to add those files to
linux-firmware or install alsa-firmware package by default. Maybe, the best
way will be to create another alsa-sof-bin package for the Intel's sof-bin
releases and install it by default like iwl*-firmware files for their WiFi chips.
I would like to hear your comments or proposals.
Upstream discussions:
https://mailman.alsa-project.org/pipermail/sound-open-firmware/2020-January/thread.html#3617
https://github.com/thesofproject/sof/issues/2200
https://github.com/thesofproject/sof-bin/pull/2 [Discussion]
Thank you,
Jaroslav
--
Jaroslav Kysela <jkysela@xxxxxxxxxx>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx