Raspberry Pi 4 SBC was released at the end of June with a new Broadcom BCM2711B SoC that also includes VideoCore 6 (VC6) GPU for 2D and 3D graphics, and that could also be used for general-purpose GPU computing (GPGPU). In the past we’ve seen companies such as Idein leveraged VideoCore 4 GPGPU capabilities in Raspberry Pi 3 / Zero to accelerate image recognition, and they released a python library (py-videocore) for that purpose. The problem is that the VideoCore 6 GPU found in RPi 4 is quite different than the VideoCore 4 GPU in earlier versions of the Raspberry Pi Foundation board as forum member phiren explains: I’ve been looking though the open source drivers and here are some of my observations: vc6 is clearly derived from vc4, but it is significantly different. vc6 is only a slight extension over vc5 The QPU pipeline stays mostly the same, you […]
Rock Pi 4 SBC Runs GNOME & KDE Plasma using Panfrost Open Source GPU Driver & Wayland
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:
1 2 3 |
git clone https://gitlab.collabora.com/rockpi/rockpi4 cd rockpi4 docker run --rm --interactive --tty --device /dev/kvm --workdir /recipes --mount "type=bind,source=$(pwd),destination=/recipes" --security-opt label=disable godebos/debos --scratchsize=8G rockpi4.yml |
Alternatively, you could directly download […]
Linux 5.2 Release – Main Changes, Arm, MIPS & RISC-V Architectures
Linus Torvalds announced the release of Linux 5.2 last Sunday: So I was somewhat pre-disposed towards making an rc8, simply because of my travels and being entirely off the internet for a few days last week, and with spotty internet for a few days before that [*]. But there really doesn’t seem to be any reason for another rc, since it’s been very quiet. Yes, I had a few pull requests since rc7, but they were all small, and I had many more that are for the upcoming merge window. Part of it may be due to the July 4th week, of course, but whatever – I’ll take the quiet week as a good sign. So despite a fairly late core revert, I don’t see any real reason for another week of rc, and so we have a v5.2 with the normal release timing. There’s no particular area that stands […]
Kazan Software Vulkan Implementation is Optimized for RISC-V Processors
More and more people want to run fully open source systems due to philosophical, privacy and security concerns, but on embedded systems with a GPU is often hard to achieve due to closed-source binary blobs. Projects such as Freedreno and Etnaviv have freed Qualcomm Adreno and Vivante GPUs, but it takes years to implement workable reverse-engineered open source GPU drivers. One solution to get an open source graphics driver from the get-go is to implement the rendering into the CPU, but the problem is that it’s usually really slow, and GPU’s are much faster thanks to their ability to quickly handle parallel tasks. Kazan is a software-rendering Vulkan implementation, but it may be eventually end up as a low-end soft-GPU in some RISC-V SoCs thanks to specific instructions. I found out about Kazan through the Libre RISC-V M-Class chip project that aims to be a low-power, mobile-class, 64-bit quad-core SoC […]
Arm Introduces Cortex-A77 CPU and Mali-G77 GPU
Arm unveiled its Cortex-A76 CPU and Mali-G76 GPU right before Computex 2018, so it should come as no surprise that the company decided to make announcements for the upgrades before Computex 2019 with the just introduced Arm Cortex-A77 processor, and Mali-G77 GPU. Arm Cortex-A77 Processor highlights: 64-bit Armv8 CPU with support for Armv8.1 and Armv8.2 extensions, as well as Armv8.3 with LDAPR instructions only Up to 4 processors per cluster Cache – 64KB L1 I-Cache / D-Cache, 256KB to 512KB L2 Cache, optional L3 Cache between 512KB and 4MB Improved performance for mobile and laptop devices enabling AAA-gaming, faster web-browsing and application launch time. Brings always-on, always-connected feature set of mobile to laptop devices Compatible with the newly announced Mali-G77 and machine learning (ML) processor. Compared to Cortex-A76, Cortex-A77 yields up to 20% improved IPC performance with similar efficiency. The new IP core is basically an upgrade over A76 with […]
SiFive RISC-V Processors to Support Imagination PowerVR GPU and NNA IP Cores
RISC-V is getting more popular and mature as development progress, but if you want a system with RISC-V and a GPU so far you had to use a PCIe graphics card which is not cost-effective nor practical for most applications based on RISC-V processor. What is needed is some GPU IP that will glue with RISC-V core. Developing a new GPU is not an easy task (understatement of the month) so it would make sense to go with solutions available on the market. However, Arm Mali is tied to Arm Cortex cores and Arm is unlikely to want to help RISC-V take away their market share, and Adreno and VideoCore are owned by respectively Qualcomm and Broadcom which are unwilling to provide their GPU IP to third parties. This basically leaves us with Vivante and Imagination. Vivante may have made the most sense since open-source graphics drivers do exist (Etnaviv), […]
Embedded Linux Conference & Open Source Summit 2019 Schedule
In the last few years, I covered the Embedded Linux Conference and IoT Summit schedules since both were happening at the same time and in the same location. But the Linux Foundation have recently announced the Embedded Linux Conference will combine with the Open Source Summit, so the IoT Summit appears to have been phased out. The full schedule for the events taking place on August 21 – 23, 2019 at the Hilton San Diego Bayfront, USA, has also been released, so I’ll create a virtual schedule with some of the sessions most relevant to this blog. Wednesday August 21, 2019 11:30 – 12:05 – What’s New with U-Boot? by Simon Glass, Google LLC U-Boot is a widely used bootloader in embedded systems. Many users are unaware of the wide feature-set of U-Boot, particularly features added in the last few years. This talk aims to bring users (and prospective users) […]
Panfrost is an Open Source Driver for Arm Mali Midgard GPUs
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 […]