Category: "Android"

New mainline-based i.mx6 BSPs

 03. May 2017, by emtrion
Categories: Software, Linux, i.MX6, Android

We recently released our new mainline-Kernel based Debian and Yocto BSPs for our i.mx6 based System on Modules. In this article we'll give you a short overview of the advantages of the new BSP era! Beside the recent Kernel Versions delivered, new userspace APIs have to be used to access peripherals.


The most outstanding feature of the new BSPs is that they both are based on Linux 4.9 LTS with some additional drivers and emtrion's device trees. Beside that they are identical to the upstream Long-Term supported Kernel which allows easy maintenance of security patches and fixes to certain subsystems. Beside that the Kernel does also make use of the Open Source etnaviv GPU driver for OpenGL acceleration. Also included is the Open Source driver for the Video Processing Unit (VPU) contained in the i.mx6. On the other hand, we decided to develop our Yocto Morty (2.2) and Debian Stretch (9) based BSPs in a way that both share key components in the same version allowing developers to change between the BSPs without porting applications. To achieve that we use the same Kernel, mesa (12.04), gstreamer (1.10)  and Qt (5.7) versions on both BSPs.

Etnaviv Graphics Stack

One of the recent changes in the Mainline Kernel is its native support for the Vivante GPU contained in the i.mx6 and several other SoCs. As you might know from desktop Linux systems the nouveau driver is a reverse engineered driver for Nvidia cards, the etnaviv is the one for Vivante SoC's GPUs. As a complete graphics stack requires more than a working Kernel Driver, the userspace components providing OpenGL functionality are delivered by the mesa project like many other Open Source graphic drivers. One of the advantages of the Open Source graphics stack is that it is not only possible to use most Debian packages without recompilation, but it is also possible to upgrade and maintain your system without the lockdown to a specific Kernel or userspace version.

Video4Linux VPU Driver

For quite some time the VPU, which is in fact a CODA DSP included in the i.mx6, is supported by the video4linux subsystem in the Kernel. In contrast to the software delivered by NXP (formerly Freescale) it is only capable of decoding and encoding video streams. However there are outstanding advantages over the closed source drivers like the upstream gstreamer support. With current gstreamer versions, the device class the VPU belongs to, is automatically populated to the gstreamer elements as de-/encoder device and you're no longer restricted to a specific gstreamer release version. Also it's automatically used by many userspace media applications out of the box. In case of our Debian BSP that means, you can use almost every multimedia application, just as you can on your desktop, which uses gstreamer or video4linux without the need of a recompilation.


Even if the current support for the i.mx6 is on the right path, there are limitations regarding the supported features. We decided not to include the Open Source camera driver on the i.mx6 in this release as it is under heavy development for now, just as the whole video4linux2 subsystem. However, our engineers are already testing the new drivers and software on our hardware platforms, allowing you to gain support as needed.

Also it is currently not possible to use OpenCL on the GPU due to missing support in the mesa implementation.


*NXP, Nvidia, Freescale, Vivante, Coda, OpenCL are registered trademarks of their respective owners.

Form is loading...

emtrion goes virtual

 12. April 2016, by emtrion
Categories: Software, Linux, embedded, Android

In the past few months emtrion has broaden its knowledge base towards the open source virtualization platform Jailhouse [1]. The eventual goal is to provide customers a virtualization solution that is real-time capable, lightweight, secure, certifiable and operable on emtrion hardware. The main advantage to customers will be the reduction of costs through the combination of multiple hardware units into one single unit that handles multiple tasks.

Full story »

Form is loading...

Android has established itself as a dominant mobile operation system for consumers in recent years. It is indispensable in the field of applications such as smart phones, cameras, tablets, game consoles and much more. The Android-Software-Development- Kit (SDK) is extensively equipped and offers substantial possibilities for programming complex applications. Based on a complete Linux-kernel, Android is operated by a touch-based user interface. In fact, these are ideal conditions for the development of appealing and intuitive HMI applications in an industrial environment. However, especially in industry, there are further boundary conditions to be considered before Android can be used.

Full story »

Form is loading...



emtrion GmbH
Kreativpark - Alter Schlachthof 45
D-76131 Karlsruhe

Tel: +49 (0)721-62725-0
Fax: +49 (0)721-62725-19