It’s not clear from the website or your Github, but would I be able to run Elk Audio OS on an x86 PC with my own sound card? On Github all I see is SDK for Raspberry Pi hardware.
no you won’t be able to do that. Elk runs only on dedicated HW boards that we explicitly support. Some of them are X86 based but are not available for individual purchase at the moment.
Regarding the x86 architecture support, your compatible platform is based on the Intel Atom X5-Z8350, a powerful processor, but in all cases not very recent (2016) and not particularly performing (only a couple of times more powerful of the “heart” of the Korg Kronos). Regarding the future we must expect developments on Atom processors (see tremont 2019 https://www.anandtech.com/…/intels-new-atom…) or support for higher performing families (see the Intel M3 family, always low-consumption)?
that Cherry Trail is one of the Atoms we support.
We also had the Intel Joule (more powerful and very nice module, but unfortunately discontinued pretty soon by Intel) and preliminary support for the UpCore Plus module:
which can be configured to use pretty powerful CPUs, although expensive.
Generally speaking, supporting a new Intel SOC or module is much easier than a new ARM architecture for us but we are only supporting them for companies evaluation and we don’t have plans to do an open-source kit like the Elk Pi at the moment.
Grazie Mille per la risposta
Curious why ARM is so much harder to support than x86? Is it the variation in the ARM hardware or poor support in software tools? Or pehaps just the fact that you can run some x86 code natively on your dev machine?
It’s because when we talk about Intel Atom, we are talking about one families of SOC all made by the same manufacturer. So the driver you write for one Atom SOC will most likely work (with small modifications) on other Atom SOCs, because internally they have the same serial peripherals, etc.
While for ARM, there are many, many different SOCs that use completely different peripherals inside and they only share the ARM Core IP for the instruction set. So every new ARM SOC is a different story… this was one of the main reasons we chose the NXP i.MX7 as our first ARM SOC, because we already knew that part of the effort would have been useful for the i.MX8. Similar story with the Pi3 / Broadcom, supporting the Pi4 should be easier than starting from scratch.
Another reason is the SOC’s support for Linux Kernel. Intel is absolutely great in this regard, they are one of the largest contributors to the Linux kernel and all of their code is merged into Linux mainline, which makes patching a Kernel much easier for us. On the ARM world, the situation can vary wildly and some SOCs like AllWinner or Rockchip use a Kernel which deviates a lot from mainline and sometimes doesn’t even include all the sources.