Using Elixir and Scenic with Yocto Project


This is about running BEAM using embedded linux. One way to get this working is using Yocto Project (Openembedded). I have been working in a layer which brings BEAM (Erlang and Elixir) to YP/Openembedded. See GitHub - meta-erlang/meta-erlang: Erlang and Elixir support.
Of course to get a real picture, a bit of knowledgment using YP is good to have (See: Yocto Project Quick Build) before start any adventure.

I’ve watched a talk in Code Sync STO from Boyd Multerer about Elixir and Scenic (GitHub - boydm/scenic: Core Scenic library). That was very interesting.

After some experiments with YP, scenic and meta-erlang; I would like to share my results and maybe anybody with expirience using scenic/opengl to get some insights about what is going on. Keep reading.

Yocto has a qemu emulator and I can run scenic demo (mix scenic_new) inside the qemu emulator. I’ve attached three screenshots, well is not fully working yet.

I did an application called axon_scenic using scenic_demo and release it using distillery (all of that cross-compiling using yocto sdk). See: GitHub - joaohf/axon-scenic: A simple elixir application with scenic

After scenic starts (inside the qemu), the follow issues happens:

  • ‘load_texture_error: {:error, :not_found}’ multiple times
  • using the top command, the CPU consume is almost 97% all the time
  • the scenic screen does not respond to clicks, but the temperature changes over the time

1- scenic demo: axon scenic running - Image on Pasteboard
2- load texture error message: scenic demo load texture error - Image on Pasteboard
3- top showing high cpu user: top cpu - Image on Pasteboard

Do you have any idea about what could be the issue?

My next step to investigate this problem will be run my application using a real hardware.

Best regards,