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

ReButton WiFi Button Features MXCHIP EMW3166 Module

ReButton Azure IoT

We’ve previously covered WiFi buttons based on ESP8266 processor,  but Seeed Studio has just launched ReButton “developer device” that serves the same purpose but features STM32 based MXCHIP EMW3166 WiFi module instead, exposes one I2C grove connector, and is preloaded with sample firmware that triggers Azure IoT Central or Azure IoT Hub. ReButton hardware specifications: MCU module – MXCHIP EMW3166 module including STM32F412 Arm Cortex M4F MCU @ 100 MHz with 256KB SRAM, 1MB+2MB SPI Flash, and Cypress BCM43362 WiFi chip Input – 1x Push button Output – 1x RGB LED Extension – 1x I2C Grove connector (3.3V I/O) Debugging – 1x SWD pads, 1x UART for debugging Misc – 1x Jumper switch Power supply 2x AAA Alkaline batteries (LR03) Internal supply voltage – 3.3V Dimensions – 70 x 70 x 25mm The ReButton comes preloaded with an Arduino sketch that handle key presses and send a trigger to Azure IoT Central or Azure IoT Hub. Documentation on Github describes …

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

Wave Computing Announces the First MIPS Open Source Release

MIPS Open Source Release

In a surprise announcement last year, Wave Computing revealed their plans to open source MIPS architecture, and more specifically the new MIPS Release 6 architecture. The company has now started to deliver the goods with the release of the first MIPS Open Program components. Specific components of the first release include: MIPS ISA – The latest R6 version of the MIPS 32-and-64-bit architecture, including extensions such as virtualization, multi-threading, SIMD, DSP and microMIPS code compression MIPS Open Tools – Integrated development environment for embedded real-time operating systems and Linux-based systems for embedded products that enable developers to build, debug and deploy applications on MIPS-based hardware and software platforms; MIPS Open Field Programmable Gate Arrays (FPGAs)– A complete training program for community members that includes: Getting Started Package – Provides the MIPS FPGA system as a set of Verilog files, plus an overview and instructions on how to use the MIPS FPGA system; Labs – Includes 25 hands-on labs that help …

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

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 Support CNX Software – Donate via PayPal or become a Patron on Patreon

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

FOSSASIA 2019 Schedule – March 14-17

FOSSASIA 2019 Schedule

As its name implies, FOSSASIA is a Free and Open Source Software  event taking place every year in Asia, more specifically in Singapore. I first discovered it last year, and published a virtual FOSSASIA 2018 schedule last year to give an idea about the subjects discussed at the event. It turns out FOSSASIA 2019 is coming really soon, as in tomorrow, so I’m a bit late, but I’ll still had a look at the schedule and made my own for the 4-day event.  Thursday – March 14, 2019 10:05 – 10:25 – For Your Eyes Only: Betrusted & the Case for Trusted I/O by Bunnie Huang, CTO Chibitronics Security vulnerabilities are almost a fact of life. This is why system vendors are increasingly relying on physically separate chips to handle sensitive data. Unfortunately, private keys are not the same as your private matters. Exploits on your local device still have the potential to grant bad actors access to your screen …

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

Phicomm N1 Android 7.1 TV Box Supports Multiple Linux Distributions

Phicomm N1

I like to look at new hardware platforms supported by Linux mainline, and recently covered MapleBoard MP130 SBC which I found in Linux 5.0 changelog.  Today, I had a look at another device. Phicomm N1 is an Amlogic S905D powered TV box running Android 7.1 with a user interface geared towards to the Chinese market. Nothing that interesting so far, but a topic on Armbian forums made it more interesting as the box comes with a larger heatsink than most other cheap TV boxes, a 12V/2A power supply which should allow you to connect several USB hard drives, and potentially more importantly, it became popular among Chinese users, with the community releasing several Linux based distributions for the device including  CoreELEC, LibreELEC, Alpine Linux, CentOS, Debian, Deepin, ArchLinux Arm, and more. Phicomm N1 hardware specifications: SoC – Amlogic S905D quad core Arm Cortex-A53 processor @ 1.5 GHz with Arm Mali-450 GPU System Memory – 2GB DDR3-1866MHz Storage – 8GB eMMC …

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

Maru 0.6 Combines LineageOS & Debian 9, Supports Wireless Desktop Streaming

Maru 0.6

Maru OS was first unveiled in 2016 as a smartphone operating system that relies on Android on the go, and Debian while connected to an HDMI display, and Bluetooth keyboard and mouse. The downside was that it only works on Nexus 5 at the time, but Preetam D’Souza open sourced his solution, and more people joined the project to expand the number of supported hardware platforms. I had not heard about the project for a while, but Maru 0.6 Okinawa has just been released with the three main changes being the switch from Android 6.0.1 AOSP to a custom version of LineageOS based on Android 8.1.0 to support a broader range of devices, the upgrade from Debian 8 to Debian 9, and support for wireless desktop streaming meaning you don’t need a phone with HDMI / MHL support anymore. The reliance on AOSP meant Maru used to only work on Google / Nexus devices, and importantly Google dropped HDMI support …

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

Linux 5.0 Release – Main Changes, Arm, MIPS & RISC-V Architectures

Linux 5.0 Changelog

Linus Torvalds has just released Linux 5.0: Ok, so the last week of the 5.0 release wasn’t entirely quiet, but it’s a lot smaller than rc8 was, and on the whole I’m happy that I delayed a week and did an rc8. It turns out that the actual patch that I talked about in the rc8 release wasn’t the worrisome bug I had thought: yes, we had an uninitialized variable, but the reason we hadn’t immediately noticed it due to a warning was that the way gcc works, the compiler had basically initialized it for us to the right value. So the same thing that caused not the lack of warning, also effectively meant that the fix was a no-op in practice. But hey, we had other bug fixes come in that actually did matter, and the uninitialized variable _could_ have been a problem with another compiler. Regardless – all is well that ends well. We have more than a …

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