Using Elixir and Scenic with Yocto Project

Hello!

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 https://github.com/joaohf/meta-erlang.
Of course to get a real picture, a bit of knowledgment using YP is good to have (See: https://www.yoctoproject.org/docs/2.7/brief-yoctoprojectqs/brief-yoctoprojectqs.html) before start any adventure.

I’ve watched a talk in Code Sync STO from Boyd Multerer about Elixir and Scenic (https://github.com/boydm/scenic). 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: https://github.com/joaohf/axon-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: https://pasteboard.co/IgGSkWO.png
2- load texture error message: https://pasteboard.co/IgGSRs5.png
3- top showing high cpu user: https://pasteboard.co/IgGT8Q7.png

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,