Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 17 additions & 2 deletions .github/workflows/testbench.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,12 +49,27 @@ jobs:
octave octave-signal automake autoconf libtool
gettext libasound2-dev

# Ubuntu 24.04 ships autoconf 2.71, but current alsa-lib/alsa-utils
# require >= 2.72. Build a newer autoconf from the GNU release
# tarball and install it into /usr/local (ahead of /usr/bin in PATH).
- name: Install autoconf 2.72
run: |
cd ${GITHUB_WORKSPACE}
wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.gz
tar xf autoconf-2.72.tar.gz
cd autoconf-2.72
./configure --prefix=/usr/local
make -j"$(nproc)"
sudo make install
hash -r
autoconf --version | head -n1

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@singalsu I wonder if easier change would be change s/24.04/26.04/ on line 36 of this file...? OTOH, this recipe to build autoconf might help people still using 24.04 (I'm sure there are multiple). It seems build latest SOF main will become harder on 24.04LTS after this PR (but that's an alsa-lib choice, so not much we can do).

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kv2019i The Ubuntu 26.06 does not have ALSA v1.2.16 that contains the extended rates patch. It's still at 1.2.15. What would bump to 26.04 improve? Though generally it's good to test with latest Ubuntu, especially when it is a LTS.

- name: Build Alsa-lib
run: |
cd ${GITHUB_WORKSPACE}
git clone https://github.com/thesofproject/alsa-lib.git
cd alsa-lib
git checkout df8f1cc1ec9d9ee15be5e2c23ad25b9389fd8766 -b build
git checkout 08b532cd3da9ac8f683bcb4e4beb9b74c39c1782 -b build
./gitcompile --prefix=${GITHUB_WORKSPACE}/tools
make install

Expand All @@ -63,7 +78,7 @@ jobs:
cd ${GITHUB_WORKSPACE}
git clone https://github.com/thesofproject/alsa-utils.git
cd alsa-utils
git checkout 0ffa105942a06cdfa98e5918b8dc82e3cac12792 -b build
git checkout 9feb22ba45b48729729c8d194aaf1bc082a6842a -b build
./gitcompile --prefix=${GITHUB_WORKSPACE}/tools \
--with-alsa-prefix=${GITHUB_WORKSPACE}/tools \
--with-alsa-inc-prefix=${GITHUB_WORKSPACE}/tools/include \
Expand Down
66 changes: 56 additions & 10 deletions .github/workflows/tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,71 @@ permissions:
jobs:
# This is not the same as building every ./build-tools.sh option.
top-level_default_CMake_target_ALL:
runs-on: ubuntu-latest
runs-on: ubuntu-24.04
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I guess ubuntu-latest does not pull 26.04 then...?

steps:
- uses: actions/checkout@v4
with:
filter: 'tree:0'
path: sof

- name: apt get
run: sudo apt-get update &&
sudo apt-get -y install ninja-build
automake autoconf libtool gettext libasound2-dev
pkg-config

# Ubuntu 24.04 ships autoconf 2.71, but current alsa-lib/alsa-utils
# require >= 2.72. Build a newer autoconf from the GNU release
# tarball and install it into /usr/local (ahead of /usr/bin in PATH).
- name: Install autoconf 2.72
run: |
cd ${GITHUB_WORKSPACE}
wget -q https://ftp.gnu.org/gnu/autoconf/autoconf-2.72.tar.gz
tar xf autoconf-2.72.tar.gz
cd autoconf-2.72
./configure --prefix=/usr/local
make -j"$(nproc)"
sudo make install
hash -r
autoconf --version | head -n1

- name: Build Alsa-lib
run: |
cd ${GITHUB_WORKSPACE}
git clone https://github.com/thesofproject/alsa-lib.git
cd alsa-lib
git checkout 08b532cd3da9ac8f683bcb4e4beb9b74c39c1782 -b build
./gitcompile --prefix=${GITHUB_WORKSPACE}/tools
make install

# The ALSA version in Ubuntu 20.04 is buggy
# (https://github.com/thesofproject/sof/issues/2543) and likely
# getting out of date soon
- name: docker
run: docker pull thesofproject/sof && docker tag thesofproject/sof sof
- name: Build Alsa-utils
run: |
cd ${GITHUB_WORKSPACE}
git clone https://github.com/thesofproject/alsa-utils.git
cd alsa-utils
git checkout 9feb22ba45b48729729c8d194aaf1bc082a6842a -b build
./gitcompile --prefix=${GITHUB_WORKSPACE}/tools \
--with-alsa-prefix=${GITHUB_WORKSPACE}/tools \
--with-alsa-inc-prefix=${GITHUB_WORKSPACE}/tools/include \
--with-sysroot=${GITHUB_WORKSPACE}/tools \
--with-udev-rules-dir=${GITHUB_WORKSPACE}/tools \
PKG_CONFIG_PATH=${GITHUB_WORKSPACE}/tools \
LDFLAGS=-L${GITHUB_WORKSPACE}/tools/lib \
--disable-old-symbols \
--enable-alsatopology \
--with-asound-state-dir=${GITHUB_WORKSPACE}/tools/var/lib/alsa \
--with-systemdsystemunitdir=${GITHUB_WORKSPACE}/tools/lib/systemd/system
make install

# For some reason gcc has more warnings in Release mode
- name: build-tools
run: CMAKE_BUILD_TYPE=Release ./scripts/docker-run.sh
./scripts/build-tools.sh ||
env:
PKG_CONFIG_PATH: ${{ github.workspace }}/tools/lib/pkgconfig
LD_LIBRARY_PATH: ${{ github.workspace }}/tools/lib
PATH: ${{ github.workspace }}/tools/bin:/usr/local/bin:/usr/bin:/bin
run: CMAKE_BUILD_TYPE=Release ./sof/scripts/build-tools.sh ||
VERBOSE=1 NO_PROCESSORS=1 USE_XARGS=no
CMAKE_BUILD_TYPE=Release ./scripts/docker-run.sh
./scripts/build-tools.sh
CMAKE_BUILD_TYPE=Release ./sof/scripts/build-tools.sh


SOF-alsa-plugin:
Expand Down
4 changes: 2 additions & 2 deletions scripts/build-alsa-tools.sh
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ declare -a REPOS=(
# the repository if this commit ID is not found. Leave empty to skip.
# This array order must align with REPO array above.
declare -a COMMIT_ID=(
"df8f1cc1ec9d9ee15be5e2c23ad25b9389fd8766"
"09550cd393b1a7d307ee6f26637b1ed7bd275e38"
"08b532cd3da9ac8f683bcb4e4beb9b74c39c1782"
"9feb22ba45b48729729c8d194aaf1bc082a6842a"
# Add more IDs here...
)

Expand Down
4 changes: 2 additions & 2 deletions tools/topology/topology2/cavs-benchmark-hda.conf
Original file line number Diff line number Diff line change
Expand Up @@ -195,15 +195,15 @@ Object.PCM.pcm [
direction "playback"
name $ANALOG_PLAYBACK_PCM
formats 'S32_LE,S24_LE,S16_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
channels_min $BENCH_PCM_CHANNELS_MIN
channels_max $BENCH_PCM_CHANNELS_MAX
}
Object.PCM.pcm_caps.2 {
direction "capture"
name $ANALOG_CAPTURE_PCM
formats 'S32_LE,S24_LE,S16_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
channels_min $BENCH_PCM_CHANNELS_MIN
channels_max $BENCH_PCM_CHANNELS_MAX
}
Expand Down
4 changes: 2 additions & 2 deletions tools/topology/topology2/cavs-benchmark-sdw.conf
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ Object.PCM.pcm [
Object.PCM.pcm_caps.1 {
name $ANALOG_PLAYBACK_PCM
formats 'S16_LE,S24_LE,S32_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
channels_min $BENCH_PCM_CHANNELS_MIN
channels_max $BENCH_PCM_CHANNELS_MAX
}
Expand All @@ -153,7 +153,7 @@ Object.PCM.pcm [
Object.PCM.pcm_caps.1 {
name $ANALOG_CAPTURE_PCM
formats 'S16_LE,S24_LE,S32_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
channels_min $BENCH_PCM_CHANNELS_MIN
channels_max $BENCH_PCM_CHANNELS_MAX
}
Expand Down
4 changes: 2 additions & 2 deletions tools/topology/topology2/cavs-nocodec.conf
Original file line number Diff line number Diff line change
Expand Up @@ -1698,14 +1698,14 @@ IncludeByKey.PASSTHROUGH {
direction "playback"
name "SSP2 Playback"
formats 'S16_LE,S24_LE,S32_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
}

Object.PCM.pcm_caps.2 {
direction "capture"
name "SSP2 Capture"
formats 'S16_LE,S24_LE,S32_LE'
rates "8000,11025,16000,22050,32000,44100,48000,64000,88200,96000,176400,192000"
rates "8000,11025,16000,22050,24000,32000,44100,48000,64000,88200,96000,176400,192000"
}
}
]
Expand Down
Loading