Re: Intel SOF firmware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Jaroslav,

Thank you for starting a discussion about this, we really need
to get this sorted out soon-ish as a lot of users are reporting
broken audio with 5.5.x because of the missing SOF firmware.

On 3/2/20 11:10 AM, Jaroslav Kysela wrote:
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.

Since the SOF firmware files have a separate upstream I think
that creating a separate alsa-sof-bin (*) package is probably
the best approach, at least for now since upstream does not
seem to be moving to adding the signed DSP firmware files to
linux-firmware anytime soon.

As for where the topology files go, inside alsa-sof-firmware or
inside alsa-ucm, both need to be installed for things to work
anyways, so I will leave that up to you.

If you can create such a package I would be happy to do the package
review ASAP and then we can add a Requires for this to the kernel-core
pkgs so that users will get it automatically when they install the
next kernel update.

Regards,

Hans

p.s.

I guess if we go the also-sof-firmware pkg route we should
coordinate the bodhi bits with the kernel-update which add
the Requires, putting both the new pkg and that kernel update
in a single bodhi update.


*) I'm not sure I like alsa-sof-bin, I know there is more then
just firmware in there, but from a user's pov I think firmware
is much clearer then bin, bin makes me think tools / ELF binaries.
So I would prefer alsa-sof-firmware (just my 2 cents).
_______________________________________________
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




[Index of Archives]     [Fedora General Discussion]     [Older Fedora Users Archive]     [Fedora Advisory Board]     [Fedora Security]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [ATA RAID]     [Fedora Marketing]     [Fedora Mentors]     [Fedora Package Announce]     [Fedora Package Review]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Coolkey]     [Yum Users]     [Tux]     [Yosemite News]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [USB]     [Asterisk PBX]

  Powered by Linux