Embedded World 2018: Etnaviv on MX8M!

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!

Further Readings

FrOSCon 2023

In a few hours, the 18th FrOSCon will begin at the Bonn-Rhein-Sieg University of Applied Sciences. Pengutronix will be there again with a small team. At one of the partner booths we will show some of our activities in the open source community. We will bring our labgrid demonstrator and the FPGA demo.

DjangoCon Europe 2023

Django is Pengutronix' framework of choice for internal applications that handle our business processes. These internal tools are also a great opportunity to try out current developments in the Django universe.

Chemnitzer Linux-Tage 2023

After the Corona break, the Chemnitzer Linux-Tage will actully take place in real life again, and the Pengutronix team will have eight (!) talks there.

Showcase: Graphics on i.MX8MP

Enabling the graphics output pipeline on the i.MX8M Plus (i.MX8MP for short), is the most recent example on how open-source and upstream driver support for GPU and display engines can reduce effort and risk in a new project.

First i.MX 8M Patches posted for Mainline

Eight days after NXP announced the immediate availability of the i.MX 8M processor family, Pengutronix developer Lucas Stach today posted a first set of 11 patches to support i.MX 8M in the mainline kernel (linux-gpio, linux-clk, linux-arm-kernel and linux-netdev).