Elk Audio OS 1.0

Hello everyone,
and thanks for the patience since many have been asking for this update.

We finally released a major update to Elk Audio OS 1.0, and this time the changes are significant enough that we felt like bumping the version number to 1.0 after all these years.

As usual, you can download the updated images & sw update files from Github:

where you can also find a detailed changelog for this release.

Here a quick tl;dr summary of the most relevant new features:

  1. Switch to EVL (aka Xenomai 4) for the real-time kernel and drivers. This has proven to improve both latency and performance on embedded hardware, and it will make it simpler to maintain Elk Audio OS in the future.

  2. Sushi 1.1.0. This comes with several new features, most importantly a nice set of integrated plugins like the new Wave Streamer, Freeverb and some effects derived from Orastron’s Brickworks framework.

  3. An example Python QT GUI that makes it much easier to play around with Sushi

  4. Refreshed documentation website, with more details on Sushi, the embedded build system based on Yocto, and a better organization:
    Elk Audio OS documentation — Elk DevKit documentation

As a downside, the switch to EVL / Xenomai 4 required us to rewrite all the drivers and the libraries that were previously interfacing with the Xenomai userspace API. We were only able to do this for the HiFiberry and the official Raspberry Pi hat, but we haven’t ported other drivers yet - therefore, systems like the old Elk Pi kit will currently not run with this version. All the source code needed for supporting these systems is available and we’d be happy to support people if they want to upgrade the drivers to EVL.

Let us know if you have any questions / suggestions and in the meantime, happy summer hacking!

The Elk team


Hi @Stefano ,
very excited about this new build, I’ve got it installed and firing up on a Pi4 + HiFiBerry DAC+ ADC Pro.

I know Sushi is headless, but my use case is an audio processor “The Box” containg the Pi+HiFiBerry with an attached touchscreen display; my intent is to build a simple GUI that will interact with Sushi, allowing the user to configure plugins/chains/etc on “The Box” (via gRPC perhaps).

I’ve been rooting around in the filesystem, I can see a few graphics libraries (png/jpeg/etc) and I note in the OP you mention Python QT GUI. Are there any gui libs in the released Pi image (Qt or GTK or …?)

Hi @Smanth ,
the Python QT GUI is meant to run on a normal computer.

We used to have a configuration with QT in the past, however, we recommend not using full X11 but rather the EGLFS plugin. Now it’s also much easier to customize your own Yocto build, so I’d recommend to start playing around with the elk builder repo:

and then to create your own image adding QT or whatever graphics libraries you prefer.

There’s still a learning curve in getting to use Yocto & its tools, but with the newer configuration we made the process much simpler than it used to be.

1 Like

Thanks @Stefano … I tried the original Yockto builder a few months ago but to no avail :frowning:

I tried the new Docker image, but I’m running a Macbook M1 and … failure, apparantly gcc-multilib is not available to run on arm64.

update: I built the docker container on an intel based proxmox system I have and it is doing its thing now :slight_smile:

1 Like