DirectFB2 project brings back DirectFB graphics library for Linux embedded systems


DirectFB2 is a new open-source project that brings back DirectFB, a graphics library optimized for Linux-based embedded systems that was popular several years ago for 2D user interfaces but has since mostly faded away. DirectFB2 attempts to preserve the original DirectFB backend while adding new features such as modern 3D APIs like Vulkan and OpenGL ES. I personally used it in 2008-2009 while working with Sigma Designs media processors that relied on the DirectFB library to render the user interfaces for IPTV boxes, karaoke machines, and so on. I remember this forced me to switch from a MicroWindows + Framebuffer solution, but the DirectFB API was easy enough to use and allowed us to develop a nicer user interface. I found out about the new project while checking out the FOSDEM 2022 schedule and a talk entitled “Back to DirectFB! The revival of DirectFB with DirectFB2” which will be presented […]

OS and Memory Impact on Mini PC Gaming Performance

OS GPU memory

This article looks at what the effect of running a different operating system or having more memory has on similarly spec’d Intel and AMD mini PCs when gaming. Note: This article has been updated and corrected as a result of reader feedback and additional testing. It was inspired by having built and tested a pseudo ‘Steamdeck’ running Manjaro on an AMD-based mini PC with 16GB of memory, which made me wonder what the performance would be like using Windows 11. Initial results were surprising because Windows appeared much slower. As I’d previously heard of performance improvements when using 64GB of memory I swapped out the currently installed 16GB memory and immediately saw improved results. As I’d never observed such a dramatic performance increase on Intel mini PCs just through increasing the memory I decided to explore further by testing gaming performance on similar Intel and AMD mini PCs when using […]

Raspberry Pi 4 achieves Vulkan 1.1 conformance, gets up to 60% GPU performance boost

Vulkan 1.1 Raspberry Pi 4

Khronos has just granted Vulkan 1.1 conformance to Raspberry Pi 4 SBC, and following the implementation of various optimizations and new features such as geometry shaders, the v3dv Mesa driver delivers up to 60% higher GPU performance in Unreal Engine 4. Iglia started Vulkan driver work for Raspberry Pi 4 almost two years ago, with the triangle demo showcased in February 2020, followed by Vulkan 1.0 conformance in November 2020, and now the driver is certified conformant to Vulkan 1.1. While many GPUs are conformant, the Raspberry Pi 4 is only joined by a couple of complete platforms including several NVIDIA Jetson modules (Vulkan 1.2),  and possibly some Intel and Google platforms shown as “Confidential” at this time. Alex Bate, Digital Content Manager for the Raspberry Pi Foundation, explains the driver changes for Vulkan 1.1 conformance have already been merged in the upstream v3dv Mesa driver, and should soon become […]

Panfrost now supports OpenGL ES 3.1 on Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52, G76) GPUs

Panfrost OpenGL ES 3.1

OpenGL ES 3.0 experimental support for Panfrost open-source Arm Mali GPU driver was announced in February 2020 and culminate with the release of Mesa 20.3 with Panfrost support last December. Collabora has now started to work on Panvk, Panfrost Vulkan driver, but that does not mean OpenGL ES work is done, and the company has just published a blog post about OpenGL ES 3.1 support in Panfrost. Alyssa Rosenzweig explains OpenGL ES 3.1 extends to both the older Midgard GPUs that include Mali T760 and newer version, and the more recent Bifrost GPUs with Mali-G31, Mali-G52 and Mali-G76. Compared to OpenGL ES 3.0, OpenGL ES 3.1 adds compute shaders, indirect draws, and no-attachment framebuffers. Boris Brezillon, Italo, Nicola, Alyssa, and the wider Mesa community especially focused on Mali-G52 GPU, found for instance in Amlogic A311D and Rockchip RK3566, with Panfrost driver passing essentially all of drawElements Quality Program and Khronos […]

Mesa 20.3 released with Raspberry Pi 4 V3DV driver, Panfrost Bifrost support

Mesa 20.3 Raspberry Pi 4 Mali Bifrost

We’ve previously reported that the Vulkan 1.0 conformant V3DV driver for Raspberry Pi 4 and other Broadcom BCM2711 based platforms was part of Mesa 20.3 open-source graphics framework. But at the time, it was still under development. The good news is that Mesa 20.3 has now been released, and there’s much more than Raspberry Pi 4 support, as Collabora informed us the release also included Arm Mali Bifrost GPU support via the open-source Panfrost driver. The latter was made possible thanks to the work by Alyssa Rosenzweig and Boris Brezillon, with Alyssa going into details in a recent blog post on Collabora. More work is still needed with better performance and OpenGL 3.1 being the focus in the months ahead. But there were also many other changes in Mesa 20.3 as reported by Phoronix: OpenGL 4.6 and Vulkan 1.2 APIs support Initial support for Intel Gen12 Alder Lake graphics and […]

Box86 is an x86 Emulator for Raspberry Pi and other 32-bit Arm platforms

Box86 x86 emulation Raspberry Pi

Last week, we wrote about Raspberry Pi 4 Vulkan project status and future plans, and one person commented they are currently trying to get dxvk to work Box86, and that CNX Software should write about the latter. Cool, but what does that mean? dxvk is an open-source Vulkan-based implementation of D3D9, D3D10, and D3D11 for Linux,  and Box86 is a Linux userspace x86 emulator that works on 32-bit Arm targets like the Raspberry Pi SBC. Nice, and I remember I ran x86 Linux and Windows on Raspberry Pi a few years ago using a closed-source commercial program called Exagear, but having an open-source solution is even better. That means 64-bit Arm is not supported at all, and Box86 can not even be built for Aarch64 targets. Since many x86 games require OpenGL, as opposed to OpenGL ES, Box86 works best in conjunction with gl4es. By installing Box86 on Raspberry Pi […]

Raspberry Pi 4 Vulkan Project Status & Future Plans – Q4 2020

Current status of Vulkan driver

Igalia has been developing a new open-source Mesa driver for the Raspberry Pi 4 since December 2019 and announced the implementation of the classical triangle Vulkan demo last February. Four months after the announcement of the Vulkan effort for Raspberry Pi 4 (v3dv), they merged with Mesa upstream. This means Raspberry Pi 4’s v3dv Vulkan driver has become part of the official Mesa drivers. Thus, bringing several advantages, like easy to find as it is now available on the official Mesa repository. Bugs can now be filed on the official Mesa repository bug tracker. In June, they passed over 70,000 tests from the Khronos Conformance Test Suite for Vulkan 1.0 and had an implementation of a significant subset of the Vulkan 1.0 API. This does not mean that the driver is ready for production use as they have implemented the full Vulkan 1.0 API.  They are now passing over 100,000 tests in the Kronos […]

Imagination IMG B-Series GPU family scales from IoT to the datacenter

Imagination IMG B-Series GPU: BXT MC4

Last year, Imagination Technologies unveiled IMG A-Series GPU family scaling from low-power IoT to mobile and high-performance server applications with up to 2.5 times the performance of the earlier PowerVR 9-series GPUs, as well as eight times faster AI processing and 60% less power under similar conditions. While I’m not aware of any SoCs announced with the new IMG A-Series GPU yet, the company has already announced the next-gen IMG B-Series GPU family with up to 4 times the multi-core performance thanks to decentralized multi-core technology, 30% lower power consumption, and 2.5 times the fill rate. The company offers four types of IM B-series GPU, each optimized for specific applications IMG BXE for high-resolution displays – From 1 up to 16 pixels per clock (PPC) BXE scales from 720p to 8K for UI rendering and entry-level gaming. IMG BXM designed for mid-range mobile gaming and complex UI solutions for DTV […]