Ubuntu 22.04 LTS to leverage zswap to run on Raspberry Pi 4 with 2GB RAM

Raspberry Pi 4 2GB Ubuntu 22.04

Canonical used to recommend Raspberry Pi 4 with at least 4GB RAM to run Ubuntu Desktop, but Ubuntu 22.04 LTS should run more smoothly on the Raspberry Pi 4 2GB as the company has enabled zswap by default to allow the Linux operating system to run better on systems with less memory. Canonical explains that zswap is essentially a compression tool. When a process is about to be moved to the swap file, zswap compresses it and checks whether the new, smaller size still needs to be moved or if it can stay in your RAM. It is much quicker to decompress a ‘zswapped’ page than it is to access the swap file so this is a great way of getting more bang for your buck from systems with smaller amounts of RAM. The good news is that you don’t even need to wait for Ubuntu 22.04 LTS to come […]

Linux 5.16 Release – Main Changes, Arm, RISC-V and MIPS architectures

Linux 5.16 release

Linus Torvalds has just announced the release of Linux 5.16: Not a lot here since -rc8, which is not unexpected. We had that extra week due to the holidays, and it’s not like we had lots of last-minute things that needed to be sorted out. So this mainly contains some driver fixes (mainly networking and rdma), a cgroup credential use fix, a few core networking fixes, a couple of last-minute reverts, and some other random noise. The appended shortlog is so small that you might as well scroll through it. This obviously means that the merge window for 5.17 opens tomorrow, and I’m happy to say I already have several pending early pull requests. I wish I had even more, because this merge window is going to be somewhat painful due to unfortunate travel for family reasons. So I’ll be doing most of it on the road on a laptop […]

The Linux kernel could soon be 50 to 80% faster to build

Linux kernel build faster

The Linux kernel takes around 5 minutes (without modules) to build on an Intel Core i5 Jasper Lake mini PC with 16 GB RAM and a fast SSD based on our recent review of Beelink GTi 11 mini PC. Kernel developers may have to build for different targets and configurations, plus all modules so the build times may add up. While it is always possible to throw more hardware to quicken the builds, it would be good if significantly faster builts could be achieved with software optimizations. That’s exactly what Ingo Molnar has been working on since late 2020 with his “Fast Kernel Headers” project aiming to eliminate the Linux kernel’s “Dependency Hell”. At the time he aimed for a 20% speedup, but a little over one year later, the results are much more impressive with 50 to 80% faster builds depending on the target platform (x86-64, arm64, etc…) and […]

Linux 5.15 LTS release – Main Changes, Arm, RISC-V and MIPS architectures

Linux 5.15

Linus Torvalds released Linux 5.15, an LTS version, this past Sunday: It’s been calm, and I have no excuse to add an extra rc, so here we are, with v5.15 pushed out, and the merge window starting tomorrow. Which is going to be a bit inconvenient for me, since I also have some conference travel coming up. But it’s only a couple of days and I’ll have my laptop with me. Sometimes the release timing works out, and sometimes it doesn’t.. Anyway, the last week of 5.15 was mainly networking and gpu fixes, with some random sprinkling of other things (a few btrfs reverts, some kvm updates, minor other fixes here and there – a few architecture fixes, couple of tracing, small driver fixes etc). Full shortlog appended. This release may have started out with some -Werror pain, but it calmed down fairly quickly and on the whole 5.15 was […]

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 […]

Smart Power 3 – A $45 smart power analysis tool for embedded systems developers

Smart Power 3

Hardkernel has launched a number of popular Arm SBC’s with the ODROID family over the years, but the Smart Power 3 is a different type of product, as the ESP32-based smart power meter can help embedded systems engineers optimize their hardware and software power consumption and/or check for spurious power peaks during boot up or shutdowns. In the past, we’ve reviewed relatively expansive tools like Qoitech Otii Arc or gone the DIY route,  but at $45, Hardkernel offers a power monitoring solution that’s both inexpensive and easy to use, albeit with fewer features than Qoitech’s device. Smart Power 3 specifications: MCU – ESP32 dual-core microcontroller via ESP32-WROOM-32E module Output Channels – 2x output channels (Max 50W + 50W) via 2x 4mm banana jacks each Output Voltage – 3V DC to input voltage – 1V Output Current – 3A max per channel Measurement Voltage, Current, Power Maximum sampling rate: 200Hz (5msec […]

Getting Started with the Yocto Linux BSP for Polarfire SoC FPGA Icicle Kit

Getting Started Guide PolarFire SoC FPGA Icicle Kit

Last month I received Microchip PolarFire SoC FPGA Icicle development kit that features PolarFire SoC FPGA with a Penta–core 64-bit RISC-V CPU subsystem and an FPGA with 254K LE, and booted it into the pre-installed Linux operating systems based on OpenEmbedded. Today, I’ll show how to get started with the Yocto BSP and run the EEMBC CoreMark benchmark, and I’ll check out the FPGA with Libero SoC Design Suite in a couple of weeks. Operating Systems supported by PolarFire SoC FPGA My initial idea was to focus this part of the review on Linux on RISC-V status, checking some system information, running some benchmarks (e.g. SBC-Bench), compiling the Linux kernel, and installing services like a LEMP stack (Linux, Nginx (pronounced Engine-X), MySQL, PHP) which could be used for WordPress hosting for instance. But then I looked at the operating systems supported with Microchip PolarFire SoC FPGA. There’s a Yocto Linux […]

Heatshrink – An ultra-lightweight compression library for embedded systems

Heatshrink

When I wrote about Bangle.js 2 JavaScript smartwatch yesterday, I noticed they used “Heatshrink compression” in ESPruino firmware.  I can’t remember ever reading about Heatshrink before, and indeed there are no results while searching on CNX Software. Heatshrink is an open-source data compression library designed for resources-constrained embedded systems that works with as little as 50 bytes of RAM. That’s impressive, so let’s investigate. The library is written in C language and was released about 8 years ago on Github with the following key features: Low memory usage – As low as 50 bytes with specific parameters, and usually under 300 bytes are needed. Incremental, bounded CPU use – Input data is processed in tiny bites Static or dynamic memory allocation Released under an ISC license which allows you to use the library freely, even in commercial products. The internal workings of the library are explained as follows: Heatshrink is […]

EmbeddedTS embedded systems design