Skip to content

DOC: what version we're supposed to use (kernel-compat) #9

Closed

Description

@EvanCarroll

Background, bought a new X1 Carbon Gen 7, with 10th Generation Intel. Having some problems with sound. Running Debian Buster which uses the 5.6 Kernel. More information on the link above.


It's not clear to me coming here to install/update firmware which version of sof I should be using. Presumably the abis of these firmwares are linked to the kernel module that loads them. I don't see it documented what SOF is supported with specific kernel number. That information would be great to have in the README.

Activity

  1. changed the title [-]Cover what version we're supposed to use?[/-] [+]DOC: what version we're supposed to use (kernel-compat)[/+] on May 24, 2020
  2. EvanCarroll commented on May 24, 2020

    @EvanCarroll
    Author

    It seems that my above suspicion was correct, when I try to load v.15 of SOF in the kernel 5.6, I get

    sof-audio-pci 0000:00:1f.3: Firmware: ABI 3:16:0 Kernel ABI 3:12:0
    sof-audio-pci 0000:00:1f.3: warn: FW ABI is more recent than kernel
    sof-audio-pci 0000:00:1f.3: warning: unknown ext header type 3 size 0x1c
    sof-audio-pci 0000:00:1f.3: warning: unknown ext header type 4 size 0x10
    sof-audio-pci 0000:00:1f.3: firmware boot complete
    sof-audio-pci 0000:00:1f.3: firmware: direct-loading firmware intel/sof-tplg/sof-hda-generic-4ch.tplg
    sof-audio-pci 0000:00:1f.3: Topology: ABI 3:16:0 Kernel ABI 3:12:0
    sof-audio-pci 0000:00:1f.3: warn: topology ABI is more recent than kernel
    
  3. paulstelian97 commented on May 25, 2020

    @paulstelian97

    Do note that there is a bit of leeway (we don't get MAJOR ABI changes often, and MINOR changes allow for compatibility which means you can run a newer firmware under an older kernel or viceversa just fine). You don't have an actual failure but only a warning that you didn't pair them properly; while this isn't fully supported it's still useful and some real-life combinations might even be supported anyway in spite of the mismatch. This mismatch might lead to unusual bugs but it's unlikely.

  4. lgirdwood commented on May 25, 2020

    @lgirdwood
    Member

    @EvanCarroll generally users should be using the version shipped with their distro, but you are right we do need some information for users who would like to update their kernels or FWs. i.e. it should work but YMMV

  5. EvanCarroll commented on May 25, 2020

    @EvanCarroll
    Author

    Good info. Using the version the hardware ships is ideal, if supported. My distro (Debian) shipped firmware that didn't actually work with the hardware. So we're all forced to do this for now.

  6. lgirdwood commented on May 27, 2020

    @lgirdwood
    Member

    @EvanCarroll Debian instructions look good, btw not sure if you also need UCM files too. Maybe the instructions could be updated to just pull the sof-bin git repo in the future once the go.sh is updated. That way folks could use v1.6 etc once released.

  7. marc-hb commented on Oct 5, 2021

    @marc-hb
    Collaborator

    @plbossart does the sof-bin URL now get printed when there is a MAJOR mismatch? thesofproject/linux#2639

  8. plbossart commented on Oct 5, 2021

    @plbossart
    Member

    IIRC we throw an error only when request_firmware() fails. We haven't had any MAJOR ABI changes so far.

  9. marc-hb commented on Oct 6, 2021

    @marc-hb
    Collaborator

    We haven't had any MAJOR ABI changes so far.

    OK so is the recommendation to use the latest FW with any kernel version that supports SOF, case closed?

    cc: @kv2019i

  10. marc-hb commented on Oct 6, 2021

    @marc-hb
    Collaborator

    I found that most FW release notes recommend a minimum kernel version which I think addresses the issue. I will close it if there's no objection.

    Yet looking at the corresponding kernels:

    • v5.6.3:include/uapi/sound/sof/abi.h:#define SOF_ABI_MINOR 12 < 16
    • v5.10:include/uapi/sound/sof/abi.h:#define SOF_ABI_MINOR 17 < 18
    • v5.12:include/uapi/sound/sof/abi.h:#define SOF_ABI_MINOR 18 < 19

    See also https://thesofproject.github.io/latest/contribute/linux/development_tree.html#id3

    users may update their kernels at any time while keeping the SOF firmware binary and topology files stored in the root filesystem unchanged. [...] conversely, [...] a new firmware does not need to include any backwards-compatibility code to interface with an older kernel.

    EDIT: explained in thesofproject/sof#4986 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions