Embedded World 2018: Etnaviv on MX8M!

Robert Schwebel | | Event, i.MX 8M

Every year's end-of-winter highlight starts next Tuesday: Embedded World 2018, and like every year, it is our main trade show and a good opportunity to meet many long-term customers in person. This year's highlight of the highlight: We have Etnaviv and Wayland running on MX8M!

For us, the whole i.MX 8M story started shortly before Christmas holidays in late 2017, when we got the first piece of evaluation hardware from NXP. Fortunately, the friendly folks in the Etnaviv community had already started working on public documentation of GC7000 (the new 3D IP block in i.MX 8M), so we could directly focus on the kernel side.

In mid January 2018, the Pengutronix graphics team member Lucas Stach started working on Etnaviv kernel support for GC7000, and it turned out that it was a quick job to get initial support for the 3D unit up and running. The demo you can see at Embedded World is running Wayland on a Full-HD HDMI monitor, with weston-terminal, glmark and GStreamer decoding a 720p video (entirely in software so far). It was developed in roughly four weeks...

While we are quite enthusiastic about the quick results right now, you should also be aware of the fact that there is still a long way to go until i.MX 8M is equally well supported in mainline as i.MX6 is. For example, although you can of course see the demo output on the monitor, the whole display scanout driver will be a lot of work until being ready for mainline. Fortunately for us, the developers at NXP already wrote a DRM driver in their enablement BSP (in previous years the display drivers were based on the legacy framebuffer driver infrastructure). This was one of the reasons why we could get output in that short amount of time; however, the output unit supports many interesting features like eDP, parallel displays, MIPI-DSI and HDMI, so drivers which fulfill our high quality standards for the mainline kernel need to be done right.

Bringing the scanout driver to mainline quality will be one of our tasks for the upcoming months. Fortunately, the first customers will be ready with their hardware soon: as all of our work is driven by customers who care about operating system quality while getting their devices ready for production, it will give a great boost for MX8M support in the mainline kernel.

Being able to do these kind of kernel support is of course always a community thing, as we are standing on the shoulders of giants! Thanks to Wladimir van der Laan for his great documentation and userspace OpenGL implementation work, thanks to the NXP folks for providing hardware and enablement code, thanks to VeriSilicon for a great family of GPUs, and thanks to C.H. for you-know-what-I-mean 😀

We have several other demos, like:

  • Fully Open Source Automotive Grade Linux demo with Yocto + Etnaviv
  • i.MX6 based dual-head ATEX camera with OpenGL video transformation
  • Robust Software Updating with RAUC and barebox
  • Embedded Linux Test Automation with labgrid
  • Real-Time Testing with labgrid

Visit us in H4-261!