Qt for MCUs 1.1 Adds Support for more STM32 and NXP i.MX RT Boards, FreeRTOS

Qt for MCUs 1.1 Installer

The first stable version of Qt for MCUs was released in August 2019 in order to bring Qt graphical toolkit to microcontrollers such as STMicro STM32F7,  Renesas RH850, or NXP i.MX RT1050.   Qt for MCUs would run bare metal on supported boards, and software engineers would develop graphical interface using QML and C++. Qt for MCUs 1.1 has just been released with the addition of more STM32 and i.MX RT boards, support for FreeRTOS real-time operating system, and more. Qt for MCUs 1.1 highlights: Five new supported boards:  NXP i.MX RT 1064 EVK, STM32 H750B-DK, STM32 F469i-disco, STM32 L4R9i-disco, and STM32 L4R9i-eval Asset management Optional PNG compressions for assets to lower storage footprint Option to read data directly from flash memory for lower RAM consumption, or copy to RAM for better performance, at the cost of higher RAM consumption. FreeRTOS support (technology preview) to run background tasks without blocking the […]

Raspberry Pi 4 is Now OpenGL ES 3.1 Conformant, Work on Vulkan Drivers Started

Raspberry Pi 4 Vulkan

Raspberry Pi 4 Model B 4 was launched last June with a new Broadcom BCM2711 SoC featuring an upgraded Videocore VI GPU supporting OpenGL ES 3.0 graphics API. Some drivers only implement a subset of OpenGL 3.0/3.1 3D graphics standard defined by the Khronos Group, and the good news is that Raspberry Pi 4 Model B is now OpenGL ES 3.1 conformant, as it passed all tests in Khronos conformance test suite. That means that any Linux programmed using OpenGL ES 3.1 API should work out of the box, although in some cases there may be issues/bugs that were not detected by the test suite. The Vulkan API is an evolution of OpenGL ES API that is meant to be more power-efficient as it better makes utilize of multi-core processors. The Raspberry Pi Foundation has also started working on Vulkan support for Raspberry Pi 4, and while the driver is […]

Some Interesting Talks from FOSDEM 2020 Schedule

FOSDEM 2020 Schedule

We wrote about IoT devroom call for proposals for FOSDEM 2020 a little while ago, and as the free open-source developer meetup is getting closer, FOSDEM 2020 organizers released the schedule. So I’ll look at some of the talks in the relevant devrooms such as the Internet of Things, hardware enablement, Embedded, Mobile and Automotive, as well as RISC-V and others to compose my own little virtual schedule for the 2-day event. Saturday, February 1 10:30 – 10:50 – How lowRISC made its Ibex RISC-V CPU core faster – Using open source tools to improve an open-source core – by Greg Chadwick Ibex implements RISC-V 32-bit I/E MC M-Mode, U-Mode, and PMP. It uses an in-order 2 stage pipe and is best suited for area and power-sensitive rather than high-performance applications. However, there is scope for meaningful performance gains without major impact to power or area. This talk describes work […]

Kazan Software Vulkan Implementation is Optimized for RISC-V Processors

Kazan Vulkan RISC-V GPU

More and more people want to run fully open source systems due to philosophical, privacy and security concerns, but on embedded systems with a GPU is often hard to achieve due to closed-source binary blobs. Projects such as Freedreno and Etnaviv have freed Qualcomm Adreno and Vivante GPUs, but it takes years to implement workable reverse-engineered open source GPU drivers. One solution to get an open source graphics driver from the get-go is to implement the rendering into the CPU, but the problem is that it’s usually really slow, and GPU’s are much faster thanks to their ability to quickly handle parallel tasks. Kazan is a software-rendering Vulkan implementation, but it may be eventually end up as a low-end soft-GPU in some RISC-V SoCs thanks to specific instructions. I found out about Kazan through the Libre RISC-V M-Class chip project that aims to be a low-power, mobile-class, 64-bit quad-core SoC […]

Turnip is an Open Source Vulkan Driver for Adreno GPU

turnip open source adreno vulkan driver

Qualcomm Adreno GPUs have one of the best open source GPU driver for Arm SoC thanks to Freedreno driver. The driver relies on OpenGL ES API however, and nearly four of years ago, Khronos introduced the Vulkan API that aims to reduce CPU resources usage, and adds support multiple command buffers. The good news is there has been development of a Vulkan driver for Adreno 500 and 600 series GPU called Turnip, also referred to as Freedreno_vk (Freedreno Vulkan) in the code. The Turnip driver has been developed by Bas Nieuwenhuizen, a Site Reliability Engineer at Google who also happens to be RADV (Radeon Vulkan) lead developer, Chia-I Wu, a Google software engineer working on Android graphics, Chad Versace, Intel’s software engineer working on Linux OpenGL stack, and others as revealed by a recent merge into Mesa 19.1 slated to be released next quarter. Via Phoronix Jean-Luc Aufranc (CNXSoft)Jean-Luc started […]

FOSDEM 2019 Open Source Developers Meeting Schedule


FOSDEM – which stands for Free and Open Source Software Developers’ European Meeting – is a free-to-participate event where developers meet on the first week-end of February to discuss open source software & hardware projects. FOSDEM 2019 will take place on February 2 & 3, and the schedule has already been published with 671 speakers scheduled to speak in 711 events themselves sorted in 62 tracks. Like every year, I’ll create a virtual schedule based on some of the sessions most relevant to this blog in tracks such as  open hardware, open media, RISC-V, and hardware enablement tracks. February 2 10:30 – 10:55 – VkRunner: a Vulkan shader test tool by Neil Roberts A presentation of VkRunner which is a tool to help test the compiler in your Vulkan driver using simple high-level scripts. Perhaps the largest part of developing a modern graphics driver revolves around getting the compiler to […]

Arm Releases Android / Linux Vulkan User Space Drivers for Mali GPUs (HiKey 960, Firefly-RK3288 Boards)

A little while ago, I wrote about Imagination’s PowerVR CLDNN Neural Network SDK and Image for Acer Chromebook R13, and some people looks into the Arch Linux Arm image and were pleasantly surprised to find Vulkan drivers, as it was the first Arm platform support Vulkan in Linux. It looks like there are now more Arm hardware supporting Vulkan drivers in Linux, as Arm has released binary user-space components for GNU/Linux and Android for development platforms featuring the Arm Mali Midgard GPU family, and – provided the GPU can handle it – supporting the following APIs: OpenGL ES 1.1 / 2.0 / 3.0 / 3.1 / 3.2, OpenCL 1.1 / 1.2 / 2.0, Vulkan 1.0, and RenderScript. Mali-G71 GPU is supported by Android 8.0 and Linux (fbdev) ARM64 drivers for Hikey 960 board, and Mali-T760 should be supported by Linux drivers (fbdev / wayland / X11) for Firefly-RK3288 board. Hikey […]

Vulkan 1.1 and SPIR-V 1.3 Specifications Released

The Khronos Group released Vulkan 1.0 specifications in 2015 as a successor of OpenGL ES, compatible with OpenGL ES 3.1 or greater capable GPU, and taking less CPU resources thank to – for instance – better use of multi-core processors with support for multiple command buffers that can be created in parallel. A year later, we saw Vulkan efficiency in a demo, since then most vendors have implemented a Vulkan driver for their compatible hardware across multiple operating systems, including Imagination Technologies which recently released Vulkan drivers for Linux. The Khronos Group has now released Vulkan 1.1 and the associated SPIR-V 1.3 language specifications. New functionalities in Vulkan 1.1: Protected Content – Restrict access or copying from resources used for rendering and display, secure playback and display of protected multimedia content Subgroup Operations – Efficient mechanisms that enable parallel shader invocations to communicate, wide variety of parallel computation models supported […]