Skip to content

Releases: thesofproject/sof

v2.2.3

25 Nov 06:45
Compare
Choose a tag to compare

v2.2.x is the stable release for Intel RPL and previous released products. v2.2.3 is to

  • add support for ADL-N production platform
  • cherry pick topology updates for Intel Raptor Lake (RPL), Alder Lake (ADL) and Ice Lake (ICL) platforms. Please find details in PR #6621

There are no updates in FW source code from v2.2

v2.3

20 Sep 12:31
Compare
Choose a tag to compare

SOF v2.3 Release

The SOF technical steering committee are pleased to announce the v2.3 release of SOF. This is the first release using Zephyr as the RTOS on selected platforms !

Signed binaries for selected Intel platforms should land in next few days.

Highlights

  • Support for next generation AMD Rembrandt and Intel Raptorlake platforms.
  • Zephyr RTOS on Intel Tigerlake platform as user "opt-in", defaults is TGL (xtos) on v2.2
  • SIMD (Hifi3/4) Performance improvements on mixer, copier, PCM converter and volume components with up to 25-60% speed improvement depending on use case.
  • SPARSE support added to codebase and used to partition memory pointers into cache and uncache types.

What's Changed

v2.2.2

23 Sep 10:38
Compare
Choose a tag to compare

v2.2.2 is to add support for Intel Raptor Lake (RPL) platform. v2.2.x is the stable release for Intel RPL and previous released products.

There is no change on FW or topology source code in this release.

RPL has the same community signed binaries as TGL, and same Intel-signed binaries as ADL. So new symbolic links will be created for RPL FW binaries. Please find more info in v2.2.2 binary release notes: https://github.com/thesofproject/sof-bin/releases/tag/v2.2.2

v2.2.1: topology: add sof-rpl-nocodec.tplg

23 Aug 09:43
Compare
Choose a tag to compare

This release includes topology updates for SoundWire, Intel APL/GLK platform with ES8336 codec, and Intel RPL platform.
There are no updates for the firmware and so the version of firmware binary are still v2.2

To use Intel RPL topologies, these 2 kernel patches are needed:

What's Changed from v2.2

  • 3e2ccba topology: add sof-rpl-nocodec.tplg
  • 1ae91d1 topology: add sof-rpl-rt711 and sof-rpl-rt711-4ch topologies
  • 3de7d2b topology: Add platform definition file for Intel Raptor Lake
  • 5cdc25b topology1: add SSP1 for all ES8336, SSP5 for APL/GLK
  • ed43328 topology1: CMakeLists: add missing APL/GLK support for ES8336 with DMIC.
  • b262943 topology1: sof-tgl-rt711-rt1308: use EXT_AMP_REF for rt1316
  • 0a72a06 topology1: sof-tgl-rt711-rt1308: make BT_OFFLOAD a CMakeFiles parameter
  • 4d93b4e topology1: CMakeLists: add topology for HP Omen 16
  • 2830b81 topology1: sof-tgl-rt711-rt1308: make amplifier link configuration
  • fb422ac topology1: generate new sof-hda-generic version for 2ch PDM1
  • c8c8212 topology1: intel-generic-dmic: add macro to enable PDM1 for 2ch cases
  • 5a015ca topology1: sof-tgl-rt711-rt1308: add missing switch

These topology updates are cherry picked to stable-v2.2 branch.

v2.1.1a

16 Jun 08:39
Compare
Choose a tag to compare

There is no firmware change from previous v2.1.1 release.

What's Changed
Add SoundWire topology for Intel Alder Lake (ADL) platforms without MIC

v2.2

01 Jul 09:46
Compare
Choose a tag to compare

The SOF Technical Stearting Committee are pleased to annouce the release of SOF v2.2.

Binaries can be downloaded here https://github.com/thesofproject/sof-bin/releases/tag/v2.2 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 ...

v2.2-rc1

09 Jun 13:25
Compare
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:...

v2.1.1

07 Apr 13:33
Compare
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
Compare
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
Compare
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