Allwinner SoCs with Mali GPU Get Mainline Linux OpenGL ES Support

OpenGL ES support in Linux for ARM SoC is usually pretty hard to get because of closed source binary blobs coupled with the manufacturers focus on Android. Workarounds include open driver projects such as Freedreno for Qualcomm Adreno GPU, Nouveau for Tegra, or Etnaviv for Vivante GPUs, as well as libhybris library that converts Linux calls into Android calls in order to leverage existing Android GPU binary blobs. Allwinner processors relies on either PoverVR or ARM Mali GPU, and the former does not have any open source project, while some work is still being going for the latter with Lima project, but it’s not ready yet. That means so far, you’re only option was to use libhybris for either GPU family. The good news is that Free Electrons engineers have been working on OpenGL ES support for ARM Mali GPU for Allwinner processor, and have been allowed to release the […]

Open Source ARM Compute Library Released with NEON and OpenCL Accelerated Functions for Computer Vision, Machine Learning

GPU compute promises to deliver much better performance compared to CPU compute for application such a computer vision and machine learning, but the problem is that many developers may not have the right skills or time to leverage APIs such as OpenCL. So ARM decided to write their own ARM Compute library and has now released it under an MIT license. The functions found in the library include: Basic arithmetic, mathematical, and binary operator functions Color manipulation (conversion, channel extraction, and more) Convolution filters (Sobel, Gaussian, and more) Canny Edge, Harris corners, optical flow, and more Pyramids (such as Laplacians) HOG (Histogram of Oriented Gradients) SVM (Support Vector Machines) H/SGEMM (Half and Single precision General Matrix Multiply) Convolutional Neural Networks building blocks (Activation, Convolution, Fully connected, Locally connected, Normalization, Pooling, Soft-max) The library works on Linux, Android or bare metal on armv7a (32bit) or arm64-v8a (64bit) architecture, and makes use […]

Mainline Linux on 64-bit ARM Amlogic SoCs, and TV Boxes such as Wetek Hub / Player 2, NEXBOX A1 / A95X, etc…

We’ve already seen Neil Armstrong, part of BayLibre, worked on adding Amlogic SoC (S905/S905X/S912) to mainline Linux via our virtual schedule for the Embedded Linux Conference & OpenIoT Summit 2017. But at the time, although we could see some activity in Linux 4.10 including support for Nexbox A95X and Nexbox A1, they did provide that much details the work that had been done, but since then, ELC 2017 videos have been released, and BayLibre wrote a short post about 3D Graphics support in mainline Linux. We can see that I/Os, USB host, composite video output, Ethernet, eMMC/SDIO, and PSCI and SCPI features have already been added to Linux 4.10. but some important features have not yet including HDMI, Mali support, Audio, and high speed eMMC modes. HDMI is actually planned for Linux 4.12, which could be released in about 18 weeks if we keep the 10 weeks kernel release schedule […]

Samsung Launches Exynos 9 Series 8895 SoC with Custom ARMv8 Cores, Mali-G71 GPU, Gigabit LTE Modem, 10nm FinFET Process

Samsung Electronics has just announced the launch of its latest Exynos application processor (AP), with Exynos 9 Series 8895 octa-core processor with four second generation custom designed ARMv8  CPU cores, and four Cortex A53 cores, as well as a Mali-G71 3D GPU, and a Gigabit LTE modem. The LTE modem delivers data throughput at up to 1Gbps (Cat.16) downlink with 5CA (five carrier aggregation), and 150Mbps (Cat.13) uplink with 2CA. The SoC also embeds an “advanced MFC” (multi-format codec) for recording and playback at up to 4K UHD at 120 fps, a Vision Processing Unit for video tracking, image process, and machine vision technology, and another processing unit allows for mobile payments using iris or fingerprint recognition. Exynos 8895 is also the first application processor manufactured with 10-nanometer (nm) FinFET process technology and improved 3D transistor structure, which according to Samsung, allows for up to 27% higher performance, while consuming […]

HiSilicon Kirin 960 Octa Core Application Processor Features ARM Cortex A73 & A53 Cores, Mali G71 MP8 GPU

Following on Kirin 950 processor found in Huawei Mate 8, P9, P9 Max & Honor 8 smartphones, Hisilicon has now unveiled Kirin 960 octa-core processor with four ARM Cortex A73 cores, four Cortex A53 low power cores, a Mali G71 MP8 GPU, and an LTE Cat.12 modem. The table below from Anandtech compares features and specifications of Kirin 950 against the new Kirin 960 processor. SoC Kirin 950 Kirin 960 CPU 4x Cortex A72 (2.3 GHz) 4x Cortex A53 (1.8 GHz) 4x Cortex A73 (2.4 GHz) 4x Cortex A53 (1.8 GHz) Memory Controller LPDDR3-933 or LPDDR4-1333 (hybrid controller) LPDDR4-1800 GPU ARM Mali-T880MP4 @ 900 MHz ARM Mali-G71MP8 @ 900 MHz Interconnect ARM CCI-400 ARM CCI-550 Encode/ Decode 1080p H.264 Decode & Encode2160p30 HEVC Decode 2160p30 HEVC & H.264 Decode & Encode2160p60 HEVC Decode Camera/ISP Dual 14bit ISP 940MP/s Improved Dual 14bit ISP Sensor Hub i5 i6 Storage eMMC 5.0 UFS 2.1 Integrated Modem […]

Open Source Mali-200 / Mali-400 GPU Lima Driver Gets New Commits

The Lima driver, a project aimed at providing an open source driver for ARM Mali-400 and Mali-200 GPUs, was introduced 4 years ago, and after some reverse engineering work, a Quake 3 demo was showcase later in 2013 with an intermediate version of the Lima drivers. However, the main developer (libv) eventually lost interest or lacked time to further work, and the latest commit was made in June 9, 2013. But another developer (oklas) committed some code to limadriver-ng just a few days ago. But don’t get too excited, as the modifications are minor with some build fixes, some other Makefile modifications, and only one C file modified with 6 new lines of code. But maybe that’s just the beginning… We’ll see. Mali-400 GPU is now rather old, so why would somebody work on this? One explanation could be C.H.I.P and Pine A64 boards are both based on Allwinner SoCs […]

ARM Releases Kernel Drivers for Mali-T880 / T860 GPUs, User Space Drivers for Mali-T76x GPUs

ARM Mali GPU drivers includes both open source kernel drivers, and binary userspace drivers supporting framebuffer and/ior X11 implementation. The former is rarely an issue and is quickly released, but the latter requires porting and testing for a specific hardware platform, as well legal work, which greatly delay the releases. Mali-T880 GPU was announced at the beginning of the month together with ARM Cortex A72, and on February 17, 2015, ARM released an update to their Mali-T600 series, Mali-T700 series & Mali-T860/T880 GPU kernel device drivers with revision r5p1-00rel0 that adds supports to Mali-T860 and Mali-T880 GPU. These open source drivers are available for Android and Linux, and also support early Mali-T700 and T600 GPUs. Separately, the company has also released Mali-T76X GPU drivers for Firefly board powered by Rockchip RK3288 quad core Cortex A17 processor featuring a Mali-T764 GPU. The first release only supports the framebuffer driver, but ARM […]

TyGL OpenGL ES 2.0 Backend for WebKit Speeds Up Web Rendering by Up to 11 Times

ARM, Szeged University in Hungary, and Samsung Research UK have been working on TyGL, a new backend for WebKit accelerated with OpenGL ES2.0, and developed and tested on ARM Mali-T628 GPU found in Samsung ARM Chromebook. It will typically provide 1.5 to 4.5 times higher performance, but in the best cases, it can achieve up to eleven times the performance of a CPU-only rendered page. The key features of TyGL include: Web rendering accelerated by GPU – Batching of draw calls delivers better results on GPUs. TyGL groups commands together to avoid frequent state changes while calling the Graphics Context API. Automatic shader generation – TyGL generates complex shaders from multiple shader fragments, and ensures the batches fit into the shader cache of the GPU. Trapezoid based path rendering – Work in progress. It will leverage GPU capabilities such as the Pixel Local Storage extension for OpenGL ES. No software […]