Skip to content

Releases: thesofproject/sof

v2.2-rc1

09 Jun 13:25

Choose a tag to compare

v2.2-rc1 Pre-release
Pre-release

The first release candidate for SOF v2.2.

Binaries can be downloaded here https://github.com/thesofproject/sof-bin/releases/tag/v2.2-rc1 or via git from the sof-bin repo https://github.com/thesofproject/sof-bin

High level

  • Codec adapter becomes the module adapter and it's API reflects the same API used by the Windows processing modules. This will allow 3rd party processing ISVs to reuse existing code from Windows without any modifications.
  • Optimisations
    • Frag API deprecated giving a ~1MCPS improvement per component.
    • Frame API precalculate block sizes for SIMD/non SIMD use cases. ~0.25MCPS improvment
  • Processing modules/components
    • New up mix and down mix module added with support for HiFi4 that can up/down mix the number of channels in a stream.
  • Zephyr, more native APIs added now for logging, delays, sleeping. Should be fully Zephyr Native by v2.3
  • IPC4 additions that enable more advanced use cases and audio endpoints for Windows.

What's Changed

  • Audio: volume: Optimize source and sink buffers usage by @andrula-song in #5452
  • Tools: Test: Fix mistake in script test_run.m by @singalsu in #5499
  • xtensa-build-all.sh: Use appropriate defconfig for tgl-h platform by @softwarecki in #5501
  • zephyr/cmake: Add support for linking with cadence libs by @dbaluta in #5502
  • xtensa-build-zephyr.py: small de-duplication by @marc-hb in #5476
  • xtensa-build-zephyr.py: do not git submodule update by @marc-hb in #5514
  • topology2: add be pipeline for sdw by @bardliao in #5507
  • topology1: Set Dmic samplerate to 48000Hz by @balakishorepati in #5513
  • xtensa-build-zephyr.sh: add new -u zephyr_remote option by @marc-hb in #5530
  • xtensa-build-all: add a separate target for JSL by @kv2019i in #5503
  • Audio: Multiband DRC: Optimize source and sink buffers access by @singalsu in #5511
  • xtensa-build-zephyr.sh: fix shellsheck warning by @kv2019i in #5520
  • topology2: common: fix to add '$' for SAMPLE_TYPE_LSB_INTEGER by @fredoh9 in #5517
  • xtensa-build-zephyr.py: un-hardcode execute_command() wrapper by @marc-hb in #5516
  • volume: use rmalloc() for an internal allocation by @lyakh in #5525
  • mediatek: mt8195: afe-drv: fix fs cppcheck warning by @yaochunhung in #5533
  • topology1: add sof-mt8195-mt6359-max98390-rt5682 topology by @kuanhsuncheng in #5534
  • ipc4: revert "ipc4: fix pipeline reset" by @RanderWang in #5546
  • xtensa-build-zephyr.py: restore ability to override CI + more catch up with the .sh script by @marc-hb in #5515
  • google-rtc-audio: Make AEC reference stereo by @lkoenig in #5500
  • google_rtc_audio_processing: Add config controls by @lkoenig in #5488
  • timer: Align SOF timer API with Zephyr by @softwarecki in #5393
  • zephyr: ll-schedule: initialise n_tasks by @lyakh in #5555
  • ipc4: refine reset state to fix audio player issue in windows by @RanderWang in #5548
  • Codec Adapter: Use the passed input buffers by @ranj063 in #5540
  • [RTNR] Support MAX98360A + RTNR for ADL by @MingJenTai in #5545
  • topology: add waves and waves-2way for sof-adl-max98357a-rt5682 tplg by @johnylin76 in #5535
  • Move platforms software configuration from Zephyr to SOF by @aborisovich in #5531
  • [RTNR] Reserve more memory for RTNR by @MingJenTai in #5542
  • ipc4: don't get dai position when dai is not ready by @RanderWang in #5497
  • Clean up all SHARED_DATA data by @lyakh in #5524
  • ipc4: fix the compound ipc wait timeout by @rfredzim in #5547
  • zephyr: make DMA LLI allocations always uncached by @lyakh in #5421
  • pipeline: params: don't use uninitialized hw_params by @cujomalainey in #5570
  • ipc4: stop dma when dai is reset by @RanderWang in #5486
  • topology1: add sof-icl-rt711-rt1308-rt715-hdmi NOMIC support by @libinyang in #5367
  • ipc4: add volume_params support by @RanderWang in #5567
  • Codec Adapter: Use the passed output buffers in process() by @ranj063 in #5559
  • ipc4: dai: update wallclock for position update by @RanderWang in #5568
  • sof-ctl: Allow setting arbitrary size for controls by @lkoenig in #5487
  • google_aec: Use frag_write to write data. by @lkoenig in #5576
  • zephyr: correct the idc payload initialization by @rfredzim in #5512
  • Small fixes for codec adapter by @ranj063 in #5583
  • ll_schedule: add a DSP load tracker to ll_tasks_execute by @jsarha in #5407
  • platforms:tgl: Configure format converter for IPC4 when building for Zephyr by @XiaoyunWu6666 in #5566
  • audio: dcblock: fix mistakes of sink stream pointer by @andrula-song in #5586
  • audio: crossover: fix the mistake of sink stream pointer by @andrula-song in #5585
  • tplg parser: refactor and cleanup part 1 by @lgirdwood in #5399
  • topology1: add DMIC 48K Core ID flag to CMake for RTNR by @sathyap-chrome in #5565
  • zephyr: ll-scheduler: k_sem handle must be in coherent memory by @kv2019i in #5588
  • topology1: ADL: Add DTS topology by @joechengxperi in #5580
  • IPC4: Make the firmware compilable with gcc by @ujfalusi in #5601
  • ipc4: base_fw: Fix firmware version type in basefw_config IPC by @ujfalusi in #5605
  • ipc4: add support for voice recorder in windows 10 by @RanderWang in #5563
  • google_rtc_audio_processing: Make control write reliable by @bzhg in #5604
  • audio: codec adapter: remove unused variable from dts codec by @markbartonxperi in #5612
  • ipc4: base_fw: Simplify firmware version type in basefw_get_dsp_prope… by @ujfalusi in #5606
  • [RTNR] Fix buffer size calculation by @MingJenTai in #5541
  • ipc4: handler: Fix compilation with gcc in ipc4_set_pipeline_state() by @ujfalusi in #5614
  • test/topology: make tplg-build.sh callable from anywhere by @marc-hb in #5633
  • ipc4: handler: Perform platform context save before primary core shut… by @ujfalusi in #5634
  • pipeline: do not reschedule pipe task if already in target state by @kv2019i in #5627
  • xtensa-build-zephyr.py: forbid shell=True by @marc-hb in #5629
  • ipc: run buffer free in context of active pipeline by @kv2019i in #5635
  • mixer: remove unused code from mixer_trigger_common() by @kv2019i in #5636
  • topology2: abi: fix size of ABI bytes by @ranj063 in #5631
  • .github/build-tools: build again verbose and single threaded after a failure by @marc-hb in #5640
  • Split data blob functionality out of component code and add single data blob mode by @jsarha in #5509
  • Add support for mtk mt8186 audio driver by @chunxu-li in #5492
  • buffer: fix dereference before null check by @abonislawski in #5660
  • xtensa-build-zephyr.py: add cavstool.py to staging directory by @marc-hb in #5667
  • topology1: sof-adl-rt1019-rt5682: add new topology by @Vamshigopal in #5665
  • ipc4: fix pipeline reset trigger from paused state by @kfrydryx in #5664
  • audio: comp_ext: workaround XCC compatibility with zephyr logging by @aiChaoSONG in #5574
  • Tools: Topology: Add a development topology to RUN SRC on UP2 by @singalsu in #5644
  • ipc4: base_fw: return fail for not supported ipc by @tmleman in https:...
Read more

v2.1.1

07 Apr 13:33

Choose a tag to compare

The SOF developers are pleased to announce the release of SOF v2.1.1
NOTE: The v2.1 release was delayed due to a late regression which meant a v2.1.1 release was required.

Release notes WIP

Features

  • New Platforms - Support for Mediatek MT8186 added.
  • New Processing - Support for Google AEC added.
  • More Performance improvements in copy functions for most components with deprecation of the frag API. Some processing code paths improved by up to 18MCPS with the same audio quality.
  • Stability improvements on multi-core support on Intel cAVS platforms which can now support running dynamic pipelines on any DSP core.
  • Zephyr RTOS is now used instead of XTOS for community release for the APL and i.MX8 platforms.
  • Initial support for Windows media player on certain TGL Windows-based devices via the IPC4 protocol.

Recommended Linux recipe

  • Linux stable kernel 5.15 or newer.
    • Minimum requirement is 5.8 (kernel must support the firmware binary extended manifest header)
  • alsa-lib 1.2.5 or newer
  • alsa-ucm-conf 1.2.5 or newer

Binaries
(Binaries pending) Firmware, topology, and tool binaries are available here: https://github.com/thesofproject/sof-bin

What's Changed since v2.1

3964a9d audio: volume: initialize variables before using
e7c5da4 buffer: dereference before null check fix

Full Changelog: v2.1...v2.1.1

v1.9.3-tplg2

01 Apr 13:49

Choose a tag to compare

Fixes since v1.9.3-tplg1
Fix topologies build with latest ALSA in stable-v1.9 by @marc-hb in #5632

Detail Changes:
b538e0b test: topology: fix build with latest alsa-lib
52e8490 topology1: fix errors due to newline in list generator
3fdeeac topology1: sof-cml-src-rt5682: remove extra space after values
aec5799 topology: set default values for C_CONTROLBYTES string members
54b799d topology: pipe-demux-eq-iir-playback: remove macro 'matrix1

Binaries
Firmware, topology and tool binaries are available here: https://github.com/thesofproject/sof-bin

v1.9.3-tplg1

31 Mar 18:33

Choose a tag to compare

Fixes or Features since v1.9.3
Add support of the platform with SDW codecs of 2 x RT1316 + RT711

Detail Changes:
acbd71e topology1: CMakefile: add sof-adl-rt711-l2-rt1316-l01
11979bf topology1: sof-icl-rt711-rt1308-rt715-hdmi: add NO_LOCAL_MIC & NOAMP support
6d8b40d topology1: sof-icl-rt711-rt1308-rt715-hdmi: correct the link description
0ea4bdc topology1: sof-icl-rt711-rt1308-rt715-hdmi: remove NO_AGGREGATION
012267f Revert "topology1: correct misleading comments for priority/core"
95fb248 Revert "topology1: soundwire: fix misleading comment on ALH buffer format"
23fa22f Revert "topology1: soundwire: split headphone pipe in host- and dai-parts"
bbfa6d8 Revert "topology1: sof-icl-rt711-rt1308-rt715-hdmi: remove NO_AGGREGATION"
cfec789 Revert "topology1: sof-icl-rt711-rt1308-rt715-hdmi: correct the link description"
880e1e8 Revert "topology1: sof-icl-rt711-rt1308-rt715-hdmi: add NO_LOCAL_MIC & NOAMP support"
68a46e8 Revert "topology1: CMakefile: add sof-adl-rt711-l2-rt1316-l01"
5e89b58 topology1: CMakefile: add sof-adl-rt711-l2-rt1316-l01
f892b31 topology1: sof-icl-rt711-rt1308-rt715-hdmi: add NO_LOCAL_MIC & NOAMP support
ee3631a topology1: sof-icl-rt711-rt1308-rt715-hdmi: correct the link description
3904756 topology1: sof-icl-rt711-rt1308-rt715-hdmi: remove NO_AGGREGATION
748b3ca topology1: soundwire: split headphone pipe in host- and dai-parts
93bf384 topology1: soundwire: fix misleading comment on ALH buffer format
22b57a1 topology1: correct misleading comments for priority/core

Binaries
Firmware, topology and tool binaries are available here: https://github.com/thesofproject/sof-bin

v2.1

24 Mar 21:40

Choose a tag to compare

The SOF developers are pleased to announce the release of SOF v2.1.

Release notes WIP

Features

  • New Platforms TBD *
  • New Processing TBD *
  • More Performance improvements in copy functions for most components with deprecation of the frag API. Some processing code paths improved by up to 18MCPS with the same audio quality.
  • Stability improvements on multi-core support on Intel cAVS platforms which can now support running dynamic pipelines on any DSP core.
  • Zephyr RTOS is now used instead of XTOS for community release for the APL and i.MX8 platforms.
  • Initial support for Windows media player on certain TGL Windows-based devices via the IPC4 protocol.

TBC Recommended Linux recipe

  • Linux stable kernel 5.15 or newer, or SOF Linux kernel branch release/sof-2.0, commit beba60983395
    • Minimum requirement is 5.8 (kernel must support the firmware binary extended manifest header)
  • alsa-lib 1.2.5 or newer
  • alsa-ucm-conf 1.2.5 or newer

Binaries
(Binaries pending) Firmware, topology, and tool binaries are available here: https://github.com/thesofproject/sof-bin

v2.1-rc1

18 Mar 12:38

Choose a tag to compare

v2.1-rc1 Pre-release
Pre-release

Release candidate 1 for v2.1.
See https://github.com/thesofproject/sof/milestone/21 for known issues.
Release notes to follow.

v2.0

17 Dec 12:57

Choose a tag to compare

The SOF developers are pleased to announce the release of SOF v2.0.

Features

  • Performance improvements in copy functions for most components with less memory access. Some processing code paths improved by up to 40% fewer cycles than v1.9 with the same audio quality.
  • Stability improvements on multi-core support on Intel cAVS platforms which can now support running dynamic pipelines on any DSP core.
  • Zephyr RTOS is now used instead of XTOS for community release for the APL platform. Zephyr integration has reached feature parity on several Intel platforms. This has led to a lot of code simplification and reductions in the SOF application code with more integration planned for v2.1.
  • Support for basic playback and capture now on certain TGL Windows-based devices via the IPC4 protocol.

Recommended Linux recipe

  • Linux stable kernel 5.15 or newer, or SOF Linux kernel branch release/sof-2.0, commit beba60983395
    • Minimum requirement is 5.8 (kernel must support the firmware binary extended manifest header)
  • alsa-lib 1.2.5 or newer
  • alsa-ucm-conf 1.2.5 or newer

Binaries
Firmware, topology, and tool binaries are available here: https://github.com/thesofproject/sof-bin

v1.9.3

13 Dec 08:24

Choose a tag to compare

Fixes since v1.9.2

  • DSP panic when suspend-resume. #4538 is an issue reported on CML. However, this bug can also be reproduced on other platforms.

Detail Changes:
a978086 edf_schedule: don't assert if there is no extra task to run

Binaries
Firmware, topology and tool binaries are available here: https://github.com/thesofproject/sof-bin

v1.9.2

22 Nov 09:08

Choose a tag to compare

V1.9 series bug fix release.

  1. HDA DMA start/stop sequence refinement to fix the DMA trigger stop fail issue. #4779
  2. Re-implement fix for "DSP panic when early trace used", to fix boot failure when CONFIG_TRACEM enabled issue. #4699
  3. Add topology files support for DELL ADL platforms including Tributo, Andrews, Orchid Bay, and Stradale.

Detail Changes:

e096ca7 drivers: Intel: hda-dma: only check DGCS_BUSY with delayed stop
c81c7bf Revert "dma-trace: add check to avoid dereference from NULL"
5dd268e Revert "trace: enable trace after it is ready"
8feca72 alloc.c: fix DEBUG_TRACE_PTR() not to trace before trace is initialized
1b88cb0 topology1: Add sof-adl-rt711-l2-rt1316-l01-rt714-l3
e9fe40c topology1: Add sof-adl-rt1316-l2-mono-rt714-l3
849cd9e topology1: Add sof-adl-rt1316-l12-rt714-l0
41e8738 trace: Add SOF_IPC_TRACE_DMA_FREE IPC command
db44e67 drivers: Intel: hda-dma: Add documentation for HDA DMA programming sequence
f0e268a drivers: Intel: hda-dma: ensure DMA channel is idle after stop
6a902f7 drivers: Intel: hda-dma: Handle two-step stop and pause
27ff815 audio: dai: Set dev_data for DMA chan
007fb10 lib: dma: Add a new field to struct dma_chan_data
d0cf58e audio: host: call dma_stop_delayed during host reset
ad02909 audio: DAI: handle two-step stop and pause
0c7aa3b lib: dma: Add stop_delayed op
3514c68 lib: dma: make dma stop op optional
996ef82 audio: DAI: Add a delayed_dma_stop flag to DAI data
25f30d9 IPC: DAI: Expand DAI_CONFIG IPC flags
02eac20 lib: dai: expose and rename dai_config_reset()
0443ca6 lib: dma: Drop temporary variable use from dma.h and blank lines
ab417fa drivers: Intel: hda-dma: remove pause/release ops from hda_host_dma_ops
e5d63aa lib: dma: make pause/release ops optional
685d450 drivers: Intel: hda-dma: remove unnecessary code in start/release
27cf27b drivers: Intel: hda-dma: FIFORDY bit is only valid for host DMA
f18d21d drivers: Intel: hda-dma: remove check for config->cyclic
423b2d5 installer: add adl and adl-s links
491bb99 installer: use tree -v to make the test output deterministic
104e40a installer: add new tarball target
89156db installer: add sof-ctl and sof-probes

Binaries
Firmware, topology and tool binaries are available here: https://github.com/thesofproject/sof-bin

v1.9

22 Sep 11:59

Choose a tag to compare

The SOF developers are pleased to announce the release of SOF v1.9.

Features

  • Initial support for AMD Renoir, NXP i.MX8ULP, Mediatek MT8195 and Intel Alder Lake.
  • Beamformer direction information in realtime.
  • Further performance improvements to audio processing library.
  • Bug fixes and stability improvements.
  • Continued Zephyr integration with more native features being used.
  • Initial infrastructure support for MS Windows.

Changes since rc1

  • ADL topology added.

Recommended Linux recipe

  • Linux stable kernel 5.12 or newer, or SOF Linux kernel branch release-v1.8, commit 861331047798b
  • alsa-lib 1.2.5 or newer
  • alsa-ucm-conf 1.2.5 or newer (e.g. There is a change in topology for the HP Spectre x360 that requires this new alsa-ucm-conf version to be used.)

Binaries
Firmware, topology and tool binaries are available here: https://github.com/thesofproject/sof-bin