collabora News - Page 2 of 3 - CNX Software - Embedded Systems News

Mali-G78 GPU’s Valhall instruction set documentation released after reverse-engineering work

Arm Mali Valhall GPU product matrix

Collabora has been working on Panfrost open-source GPU driver for Arm Mali Bifrost and Midgard GPU for several years, and even getting official support from Arm. But apparently, that support does not include documentation for Mali-G78 GPU and other recent Arm Valhall Mali GPUs, as the company recently reverse-engineered Mali-G78 for about a month before releasing the documentation on the Valhall instruction set (PDF). Other results from the reverse-engineering include an XML architecture description that can be parsed by programs,  as well as a Valhall assembler and disassembler that were used as a reverse-engineering aid. Besides Mali-G78 “Borr” GPU, the work will be useful for other Valhall GPUs include Mali-G77 “TryM’, Mali-G57 “Natt-A/B”, Mali-G68 “Ottr”, and Mali-G78AE “Borr-AE” for automotive & industrial applications. Alyssa Rosenzweig explains Collabora’s work that was based on the International edition of the Samsung Galaxy S21 phone powered by Samsung Exynos 2100 system-on-chip with a Mali-G78 […]

RK3566 & RK3568 processors to get Linux mainline support soon

Rockchip RK3566 RK3568 mainline Linux

Rockchip RK3566 & RK3568 processors were just officially announced at the end of the year, and soon followed with announcements of related such as Core-3568J AI Core system-on-module, some Android 11 TV boxes, Station P2 mini PC, and RK3566/RK3568 development boards. But it did not take long, as RK3566/RK3568 are about the get support for mainline Linux, with engineers from Collabora and Rockchip having recently committed preliminary support for RK356x platforms, notably using Pine64 Quartz64 SBC for testing. The most recent commits target power management, networking, and the PCI host controller. It’s not clear when code will be merged to mainline, but Collabora said “Pine64 Quartz64 SBC out-of-the-box support is right around the corner” in a recent tweet. In any case, it’s good news there’s active development for mainline Linux on the new Rockchip processors, as that means it will be possible to run the latest version of Linux on […]

Open-source H.265/HEVC Hantro G2 decoder driver added to NXP i.MX 8M in Linux

H.265 Linux open-source driver NXP iMX 8M Quad

Getting open-source multimedia drivers on Arm Linux is one of the most difficult tasks, that’s why there’s no much talk about open-source GPU drivers for 2D & 3D graphics acceleration, but work on video hardware decoding and encoding is also a challenge. We’ve previously seen Bootlin work on Cedrus open-source driver for Allwinner VPU (Video Processing Unit), but Collabora has been working on open-source drivers for VeriSilicon’s Hantro G1 and G2 VPU found in some Rockchip, NXP, and Microchip processors. The company previously managed to have Hantro G1 open-source driver for JPEG, MPEG-2, VP8, and H.264 codecs, but H.265/HEVC relies on Hantro G2, and the patch for H.265 hardware video decoding on NXP i.MX 8M Quad has just been submitted to mainline Linux. Benjamin Gaignard explains more in his commit message: The IMX8MQ got two VPUs but until now only G1 has been enabled This series aim to add the […]

Arm Officially Supports Panfrost Open-Source Mali GPU Driver Development

Arm Panfrost Linux

Most GPU drivers found in Arm processors are known to be closed-source making it difficult and time-consuming to fix some of the bugs since everybody needs to rely on the silicon vendor to fix those for them, and they may even decide a particular bug is not important to them, so you’d be out of luck. So the developer community has long tried to reverse-engineer GPU drivers with projects like Freedreno (Qualcomm Adreno), Etnaviv (Vivante), as well as Lima and Panfrost for Arm Mali GPUs. Several years ago, Arm management was not interested at all collaborating with open-source GPU driver development for Mali GPUs, but as noted by Phoronix, Alyssa Rosenzweig,  a graphics software engineer employed by Collabora, explained Panfrost development was now done in partnership with Arm during a talk at the annual X.Org Developers’ Conference (XDC 2020). A recent merge commit confirms the move with Daniel Stone, Graphics […]

Perfetto Profiler Now Supports Mali GPU Hardware Counters via Panfrost

Perfetto Mali GPU Profiling

Perfetto is an open-source system profiler, app tracer, and trace analyzer for Linux, Android & Chrome platforms, and user-space apps. The program can already visualize CPU and memory usage, as well as power consumption.  GPU support is more limited with the program only capable of sampling the GPU frequency when the driver outputs that information via ftrace. When Perfetto is also extendable thanks to a Tracing C++ SDK that “allows userspace applications to emit trace events and add more app-specific context to a Perfetto trace”. Collabora made use of the tracing SDK to add support for Mali Midgard GPU performance profiling in gfx-pps project using the Mali GPU hardware counters exposed via Panfrost open-source Mali GPU driver. After following the installation instructions, you’ll be able to run the following executables for tracing and profiling: tracedtracing service. traced_probes OS probes service. perfetto command-line tool for recording traces. producer-gpuproviding the Panfrost data […]

GNOME Renders on Arm Mali-G31 Bifrost GPU with Fully Open Source Code

Panfrost ODROID Go Advance Black Edition

We first wrote about Panfrost open-source Arm Mali GPU driver getting initial support for Mali-G31 Bifrost GPU in late April, when engineers at Collabora managed to run some basic demos. Progress has been fast-paced as the company has now implemented support for all major features of OpenGL ES 2.0 and some features of OpenGL 2.1. That means hardware-based on Arm Mali-G31 GPU such as ODROID Go Advance (used for testing) can run Wayland compositors with zero-copy graphics, including GNOME 3, every scene in glmark2-es2 benchmarks, and some 3D games such as Neverball. All without any binary blobs. The company also claims to support hardware-accelerated video players mpv and Kodi. The way it should work is that while Panfrost driver renders the user interface, Amlogic open-source video decoder developed by BayLibre handles hardware video decoding. All changes are already included in upstream Mesa with no out-of-tree patches required, and Bifrost support […]

Collabora & Microsoft to Bring OpenCL 1.2 and OpenGL 3.3 to DirectX 12 enabled Windows Devices

OpenCL DirectX Translation Layer

Collabora has been working on open-source graphics projects for a while, including Panfrost open-source drivers for Arm Midgard and Bitfrost GPUs which got experimental OpenGL ES 3.0 support earlier this year. But the company has also been working with Microsoft in order to provide an OpenCL 1.2 & OpenGL 3.3 translation layer for Windows devices compatible with DirectX 12. Their solution relies on Mesa 3D OpenCL and OpenGL open-source implementation with three main components: an OpenCL compiler using LLVM and the SPIRV-LLVM-Translator to generate SPIR-V representations of OpenCL kernels. The data goes through an SPIR-V to NIR translator (NIR is Mesa’s internal representation for GPU shaders), and finally to NIR-to-DXIL generating a DXIL compute shader and metadata understood by DirectX 12 (D3D12) a custom OpenCL runtime to do a direct translation of DirectX 12 (Not based on Mesa Clover implementation) a Gallium driver that builds and executes command-buffers on the […]

Rock Pi 4 SBC Runs GNOME & KDE Plasma using Panfrost Open Source GPU Driver & Wayland

RK3399 Panfrost GNOME

One of the highlights of Linux 5.2 release was support for two new Arm Mali GPU open-source drivers, namely Lima for Mali-4xx GPU, and Panfrost for the Midgard Mali-T6xx/7xx/8xx series, and the more recent Bifrost Mali-Gxx GPUs. Collabora worked on the release and was donated a few Rock Pi 4 boards from Radxa directly to work on the project. For those who are not familiar, Rock Pi 4 board is powered by a Rockchip RK3399 processor with a Mali-T860MP4 GPU that is supported by Panfrost open source GPU driver. The company managed to have Debian 10 Buster running on Rock Pi 4 using 3D graphics acceleration thanks to Panfrost drivers on both GNOME and KDE Plasma desktop environment, as well as Weston Wayland compositer. The good news is that you can build Rock Pi 4 images by yourself using Debos with the following commands:

Alternatively, you could directly download […]

Banana Pi BPI-R4 Pro networking SBC