Panfrost is an Open Source Driver for Arm Mali Midgard GPUs

Panfrost open source arm gpu driver

Getting GPU drivers to work on Linux with Arm SoCs was really a struggle a few years ago due to close-sources binary blobs that required all bugs to be fixed by a single team. But in recent years we’ve seen good progress with open source mobile GPU drivers including Freedreno for Adreno GPUs, and Etnaviv for Vivante GPUs. Arm Mali also got its own open source Lima driver worked on for many years but only for older Utgard GPUs (Mali 400, Mali 450). However, during the Opensource GPU Drivers BoF at Linaro Connect Bangkok 2019, Rob Herring, Technical Architect at Linaro and Tomeu Vizoso, Principal Software Engineer at Collabora, discuss the status of drivers, and I learned about an open source driver for Mali Midgard (Mali-T6xx, Mali-T7xx) GPU called Panfrost. As we’ll see below, the driver is already capable of running basic demos, has been upstreamed to Mesa, and tested on Rockchip RK3288 / R3399, and Amlogic S912 with respectively …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

FOSDEM 2019 Open Source Developers Meeting Schedule

FOSDEM 2019

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 generate the correct code. In order to achieve this, extensive …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Google Launches Pixel 3 & Pixel 3 XL Smartphones for $799 and Up

Google Pixel 3

Google just hosted a Made by Google hardware event, where they announced several products, and it’s always interesting to check out what they come up with. In this post, I’ll check out Pixel 3 and Pixel 3 XL premium smartphone from the company, and see if they implemented any significant “innovations”. Google Pixel 3 and Pixel 3 XL specifications: SoC – Qualcomm Snapdragon 845 octa-core processor with 4x Gold cores (Cortex A75 based) @ up to 2.50 GHz, 4x Silver cores (Cortex-A55 based) up to 1.60 GHz, Adreno 630 GPU, Pixel Visual Core, and Titan security chip System Memory – 4GB LPDDR4x Storage – 64GB or 128GB UFS storage Display Pixel 3 – 5.5″ FHD+ (2160×1080) flexible? always-on OLED display with Corning Gorilla Glass 5 Pixel 3 XL – 6.3″  QHD+ (2960 x 1440) always-on OLED display with Corning Gorilla Glass 5 Cameras Rear camera – 12.2MP dual-pixel camera with auto-focus, OIS. Video up to 4K @ 30 fps, 720p …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Self-hosted GLES on ChromeOS, part two

This is a follow-up post from an earlier guest post by Blu about OpenGL ES development on Chrome OS. One can’t practice real-time rendering to disk files for long ‒ it’s just unnatural. So after checking that my habitual GLES tests work as intended on ChromeOS when rendering to an off-screen-buffer-subsequently-saved-to-a-PNG, the next step was to figure out a way how to show frames on screen at a palpable framerate, if possible. Being as new to Chrome OS as the next guy, I had to start from scratch with ‘How to show EGL surfaces on screen fast’. In the comments section to the first article William Barath kindly mentioned that there was a wayland client library on Chromebrew, so I decided to pursue that as I had had (positive) prior experience with wayland. Long story short, the established way on most platforms for connecting wayland to EGL (or vice versa) is to ask wayland/weston for an EGL-compatible window surface, and …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Embedded Linux Conference Europe & OpenIoT Summit Europe 2018 Schedule

Embedded Linux Conference OpenIOT Summit Europe 2018

The Embedded Linux Conference & OpenIoT Summit 2018 took place in March of this year in the US, but the European version of the events are now planned to take place on October 21-24 in Edinburg, UK, and the schedule has already been released. So let’s make a virtual schedule to find out more about some of interesting subjects that are covered at the conferences. The conference and summit really only officially start on Monday 22, but there are a few talks on Sunday afternoon too. Sunday, October 21 13:30 – 15:15 – Tutorial: Introduction to Quantum Computing Using Qiskit – Ali Javadi-Abhari, IBM Qiskit is a comprehensive open-source tool for quantum computation. From simple demonstrations of quantum mechanical effects to complicated algorithms for solving problems in AI and chemistry, Qiskit allows users to build and run programs on quantum computers of today. Qiskit is built with modularity and extensibility in mind. This means it is easy to extend its …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

HEIF Image Container Format Leverages H.265/HEVC to Store Photos and Image Sequences

HEIF-vs-animated-GIF-Large

A few years ago, Google introduced WebP image format leveraging VP8 video codec, and the Moving Picture Experts Group (MPEG) has decided to do something similar but instead of using VP8, they went with their own H.265/HEVC video codec for HEIF image container format. HEIF stands for High Efficiency Image File, and is defined by ISO/IEC 23008-12 (MPEG-H Part 12). The storage of the data is based on ISO Base Media File Format (ISOBMFF), and HEIF appears to be especially useful to replace animated GIFs file with better quality and much lower sizes, as well as burst photos. HEIF also appears to compress a little better than JPEG photo with similar quality, but HEIF appears to fallback to JPEG codec sometimes, so it may be improvement in the way metadata is handled? The comparison table show the different features between HEIF and other well-known image format (JEG, WebP, GIF, etc…). Source: Nokiatech Github.io page.   .heic JPEG/Exif PNG GIF (89a) …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

Status of Embedded GPU Ecosystem – Linux/Mesa Upstream Support (ELC 2018 Video)

The Embedded Linux Confernce is on-going, and the Linux Foundation has been uploading videos about talks in a timely manner on YouTube. I checked out at RISC-V keynote yesterday, but today I’ve watched a talk by Robert Foss (his real name, not related to FOSS) from Collabora entitled “Progress in the Embedded GPU Ecosystem”, where he discusses open source software support in Linux/Mesa from companies and reverse-engineering support. The first part deals with the history of embedded GPU support, especially when it comes to company support. Intel was the first and offers very good support for their drivers, following by AMD who also is a good citizen. NVIDIA has the Nouveau driver but they did not really backed it up, and Tegra support is apparently sponsored by an aircraft supplier. Other companies have been slower to help, but Qualcomm has made progress since 2015 and now support all their hardware, Broadcom has a “one man team” handling VideoCore IV/V,  and …

Support CNX Software – Donate via PayPal or become a Patron on Patreon

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 Some Vulkan 1.0 extensions are now part of Vulkan 1.1 …

Support CNX Software – Donate via PayPal or become a Patron on Patreon