Elk audio rpi3 toolchain

In continuation to the Github issue cross-compile for Elk Pi RPi3B · Issue #5 · elk-audio/elkpi-sdk · GitHub.
I got the toolchain to extract using ubuntu wsl on windows and brought the LinuxMakefile, Source file, and JuceLibraryfiles from windows to the ubuntu wsl enviorment,. Now I am receiving this error and am un sure how to proceed.

Hi!

I copied over the error you mentioned on GitHub as well since it is missing here:

For Elk Pi, you need to make a “headless” build, meaning that your build cannot depend on any GUI libraries, in this case X11, which is what you see errors on.

For JUCE 5, headless builds required using our JUCE fork, but since JUCE 6, headless builds are supported natively - look at the JUCE 6 instructions and forum for the details on how that works.

Edit:
Here is another discussion where a developer successfully built a plugin for Elk with JUCE 6.

And another.

In brief, you WILL need to make the additional small adjustments discussed above for the JUCE 6 Headless build.

Do note that we do not support RPi3 officially for more than a year now, in favor of RPi4. With that said, I don’t see why it will not work, you may just need a differently named “arch” folder than in the above discussion, one which matches the RPi3 architecture.

Best,
Ilias of Elk

1 Like

I was finally able to compile the vst.so by unchecking the copy global path for the juce modules, and then setting all the correct module paths for the individual modules, and then re-checking the copy global path button. Now I have got my board all loaded up and running sushi but I am not getting any sound on the output. IF I watch elk performance can see it is definitely running


Here is also a link to my sushi.log (https://drive.google.com/file/d/1iCRHLCkTAfWuTCqxza3_4lLAUILAhel8/view?usp=sharing)
I am very unsure of what error I could be causing. The hardware is brand new, as are all the wires. I am running off of a RPI3b and hifiberry hat.

Hi,

Great that you got this far!

I guess you also had to unset $CC and $CXX as per this note in our documentation?

From the log file you sent, I can definitely tell the plugin is found and loaded.

Since it seems to me you have never before gotten a sound from your setup, I would recommend as a first step, to try the test configurations, with the plugins already installed on the image.

Have you tried following the instructions on this page, to see if you get sound from the output?

Depending on if your plugin is a synth or an effect, one of two things are very likely - either that it is not receiving MIDI data, or that it does not receive audio input.

In the ~/config-files folder on your RPi, you will find several examples covering all cases, do try the relevant ones out for your case. To rule out any MIDI input issues, assuming your plugin is an instrument, you can adapt an example configuration with a step-sequencer, to ensure your plugin receives notes that way.

Best,
Ilias of Elk

2 Likes

Yes Ilias, I needed to unset the $CC and $CXX. Now I am pretty convinced that I have a hardware issue. I have tried a few different config files from the onboard examples and none of them are producing sound. I did get sushi to play a plugin a created but during testing the power cable was disconnected and the system got corrupted. After that, i reflashed the sd and updated the system using 0.7.2.0 . After the reflash the board was able to run elk audio again. but now there was no sound since the system crash/corruption. My hunch after reading the documentation is that the hifiberry audio hat drivers didnt close out correctly. In order to fix this I have tried setting the audio hat to the hifiberry but the problem still persists. I could not find any real documentation on debugging the hifiberry on the elk audio site but there is a lot of references to the hifiberry failing after crashing when being used with the rpi3. Maybe an issue with alsa.

Hi!

For future reference, since this time you reflashed - Elk OS has a backup partition it boots into after failed boot attempts, which often is a lifesaver if the one you were using gets corrupted, but which can also sometimes be triggered even though the “main” one is still bootable. You can set which partition it uses with elk_system_utilities, more about this here.

I expect you’re familiar with it since you said you also changed audio hats, but I still wanted to remind about the dual root filesystem setup.

I can confirm the latest version for RPi3 is the update you applied - do note that the setting of which hat to use is reset after the update!

Regarding ALSA, Elk doesn’t depend on ALSA for audio, so that should not be a factor.

As a debugging step, to rule out your hardware is malfunctioning, you can always use a different OS to confirm that you get audio output that way from your device, assuming you have another SD to test with.

And of course - we have all made this mistake so it warrants mentioning - ensure you’re using the audio outputs of the HiFiberry board, not the RPi3 :slight_smile:

With that said, the primary thing I’d ensure is that the correct hat is configured, following the instructions in the link above.

Best,
Ilias of Elk