Major new release of the GuruCE iMX6 BSP!

We have just released the latest version of our iMX6 BSP!

We made some major improvements in performance and have added quite a lot of functionality.

The highlights:

  • 4.75x faster than our previous release
  • This is >6x (!) faster than our competitor's BSP...

  • Added full HDMI support, including display auto-detection, hot-plug and dynamic resolution changes in CE
  • This means you can plug in a 1360x768 monitor and have the CE desktop shown in that resolution, then unplug the monitor and plug in a 1920x1080 monitor and CE will dynamically change resolution and show the desktop in 1920x1080 resolution, all this of course without the purple line on the left (a long standing problem in all the other iMX6 BSPs available).

  • HDMI, LVDS and LCD display output is now configurable in the bootloader
  • This means we have one kernel image for all. Just go into the bootloader menu and select which display you are using at which resolution and launch the kernel. Simple as that!

  • Added support for DMA on all UARTs
  • Full RX & TX DMA support on UART1, 2, 3, 4 and 5.

  • Upgraded to the latest Vivante GPU GALCORE driver v5.0.11 (25762)
  • And we added all the tutorials and test code as well. Together with the amazing performance increase of this release you can now enjoy 110+ fps in full screen 1920x1080 (and 350+ fps windowed) for OpenGL-ES 1.1/2.0! The OpenVG spinning tiger sample is now so fast you only see a blur, and we fully support OpenCL on Dual and Quad of course.

  • Now asynchronously loading drivers for faster boot
  • Added free downloadable demo kernel for Congatec-QMX6 (Dual/Quad, 1 GB module) on a QKIT-ARM
  • Maximum CPU temperature at rest: 45°C / 113°F
  • Maximum CPU temperature while running OpenGL-ES 2.0 reflecting ball: 65°C / 149°F
  • This is not nearly as low as we would like, but it's a lot better already. Our next release will focus on power-consumption and heat generation reductions.

  • Improved network performance
  • The performance improvements also make Ethernet throughput a lot better. We're only halfway to reaching the theoretical maximum possible on the iMX6 of ~45 MByte/s (it's on our list of things to fix), but at least Ethernet speeds are out of the KByte range now (tested using NETIO on WEC7 & WEC2013):

    NETIO - Network Throughput Benchmark, Version 1.32
    (C) 1997-2012 Kai Uwe Rommel

    TCP connection established.
    Packet size 1k bytes: 19.11 MByte/s Tx, 19.22 MByte/s Rx.
    Packet size 2k bytes: 21.22 MByte/s Tx, 20.38 MByte/s Rx.
    Packet size 4k bytes: 22.44 MByte/s Tx, 20.85 MByte/s Rx.
    Packet size 8k bytes: 23.06 MByte/s Tx, 22.43 MByte/s Rx.
    Packet size 16k bytes: 20.67 MByte/s Tx, 19.38 MByte/s Rx.
    Packet size 32k bytes: 20.79 MByte/s Tx, 20.58 MByte/s Rx.

    UDP connection established.
    Packet size 1k bytes: 13.84 MByte/s (0%) Tx, 13.76 MByte/s (0%) Rx.
    Packet size 2k bytes: 15.97 MByte/s (0%) Tx, 15.97 MByte/s (0%) Rx.
    Packet size 4k bytes: 20.25 MByte/s (0%) Tx, 19.83 MByte/s (0%) Rx.
    Packet size 8k bytes: 22.39 MByte/s (0%) Tx, 22.49 MByte/s (0%) Rx.
    Packet size 16k bytes: 19.34 MByte/s (0%) Tx, 17.95 MByte/s (0%) Rx.
    Packet size 32k bytes: 21.78 MByte/s (0%) Tx, 21.17 MByte/s (0%) Rx.

Full details in the release notes.

Don't believe the hype? Try it yourself!

We've got free downloadable demo kernels for the RIoTboard, the SABRE-Lite, the Nitrogen6X, the Opal6, the ConnectCore6 and now also the Conga-QMX6.