We're hiring!
*

Kernel 5.17: Solid & steady

Sebastian Fricke avatar

Sebastian Fricke
March 31, 2022

Share this post:

While eastern Europe has experienced ghastly events that have shaken the world, the latest Linux kernel release could aptly be named "Solid & Steady". Some of the new features that have been provided by the community include:

  • Steam Deck users, among others, will experience a nice enhancement of their battery lifetime, due to the new AMD P-State driver.
  • The random number generator switched to BLAKE2 from SHA-1, which is not only more secure but also faster.
  • The real-time Linux project has added an analysis tool to evaluate properties for safety-critical systems.
  • The VP9 codec uAPI has been merged, as well as support for the Rockchip Video decoder and the Hantro decoder.

As usual, Collabora also contributed to various areas of the Kernel for the latest release. Let's take a look!

VP9 codec support

Our CODEC team has pushed forward VP9 hardware codec support on the Linux kernel. The fine-tuned VP9 uABI has been released, enabling decoders to enqueue encoded frames without waiting until a previous frame completes. This is due to the improved probabilities update process, which frees the userland from the dependency on the previously decoded frames.

In addition, video decoders on Rockchip SoCs (RK3399: RkVDEC), NXP SoCs (IMX8MQ: Hantro), and several others now offer hardware support for decoding VP9 byte-streams.

As the new Kernel drivers are stateless, the driver requires a user-space application to handle the state (picture order, references, etc.) of the decoder. There are multiple available solutions. One notable option is GStreamer, which includes support for managing a VP9 hardware decoder, a feature contributed by our CODEC team at the end of last year.

Google's VP9 codec, which is heavily used on YouTube, is a major competitor to the widely popular HEVC codec. It is specialized for high-resolution video and provides better compression efficiency than codecs like MPEG-4.

Fixing issues on Chromebooks

The handy laptop/tablet machines running Chrome OS, which play an important role, especially in the education sector, have received some vital fixes and cleanups from our engineer AngeloGioacchino Del Regno.

He has been able to resolve multiple display-related issues. It was a regression from the 5.15 release (November 2021), hindering MediaTek devices from making use of their MIPI DSI. There were rendering issues where some layers were not properly drawn to the screen on MT8173 devices, and a regression from the 5.14 release (August 2021) was blocking the MIPI display serial interface to 0 for MT8192 devices.

Another important fix was to sort out a regression from 5.15, which resulted in Qualcomm devices with DSI displays being unable to boot. The DSI host had been moved up in the probing order, which failed because a required interrupt controller was not initialized at that point.

A nice boot performance boost has been merged for Chromebooks with the CR50 TPM (Google Titan H1), which reduces the boot time by up to 60 seconds for some cases. Setting the quality parameter for its Random Number Generator (RNG) enabling it to be used as a source for the entropy pool.

HID devices bottleneck

Previously it was impossible to perform concurrent read-only operations on the same HID device or even on different HID devices (HID devices are usually user inputs like keyboards, mouses, and joysticks). This proved to be a bottleneck for modern virtual reality devices, as these can include a multitude of different HID devices trying to work simultaneously. André Almeida solved this by improving the locking mechanism of an internal table. The mutex that protected HID devices from being deleted while in use has been replaced with a read-write semaphore, thus protecting the table from concurrent write operations while allowing simultaneous read-only operations.

The performance figures of this change are enormous; tests with 5 HID devices running in parallel showed an almost fourfold increase in speed.

Below is a full list of contributions made by Collaborans for the 5.17 release, as recorded in the git commit history:

Authored (64):

Andrzej Pietrasiewicz (8):

André Almeida (1):

AngeloGioacchino Del Regno (16):

Ariel D'Alessandro (10):

Arnaud Ferraris (2):

Benjamin Gaignard (3):

Dafna Hirschfeld (9):

Martyn Welch (1):

Muhammad Usama Anjum (8):

Nícolas F. R. A. Prado (3):

Robert Beckett (1):

Shreeya Patel (1):

Sjoerd Simons (1):

Maintainer Committed (45):

Alyssa Rosenzweig (1):

Gabriel Krisman Bertazi (12):

Sebastian Reichel (32):

Signed-off-by (4):

Muhammad Usama Anjum (1):

Sebastian Reichel (3):

Reviewed-by (22):

Andrzej Pietrasiewicz (5):

André Almeida (1):

AngeloGioacchino Del Regno (3):

Arnaud Ferraris (1):

Benjamin Gaignard (3):

Christopher Obbard (1):

Dmitry Osipenko (1):

Gabriel Krisman Bertazi (4):

Nícolas F. R. A. Prado (1):

Sebastian Reichel (2):

Acked-by (29):

Andrzej Pietrasiewicz (2):

AngeloGioacchino Del Regno (3):

Boris Brezillon (1):

Daniel Stone (3):

Nicolas Dufresne (2):

Pekka Paalanen (14):

Sebastian Reichel (4):

Tested-by (10):

Alyssa Rosenzweig (1):

Andrzej Pietrasiewicz (1):

AngeloGioacchino Del Regno (1):

Nicolas Dufresne (1):

Nícolas F. R. A. Prado (5):

Ritesh Raj Sarraf (1):

Reported-by (1):

Guillaume Tucker (1):

 

Comments (0)


Add a Comment






Allowed tags: <b><i><br>Add a new comment:


 

Search the newsroom

Latest News & Events

Talks of the town: Software engineering edition

17/05/2022

Less than a day away, May 18th looks to be a very busy time. With Live Embedded Event and Embedded Vision Summit taking place almost simultaneously,…

PipeWire: Bluetooth support status update

29/04/2022

Over the last two years, Bluetooth® audio support has steadily grown in PipeWire and has become a featureful, stable, conformant, open source…

SocketCAN x Kubernetes

27/04/2022

Looking to use hardware-backed and virtual SocketCAN interfaces inside your Kubernetes Pods? A new device plugin now allows processes inside…

Open Since 2005 logo

We use cookies on this website to ensure that you get the best experience. By continuing to use this website you are consenting to the use of these cookies. To find out more please follow this link.

Collabora Ltd © 2005-2022. All rights reserved. Privacy Notice. Sitemap.