Sebastian Fricke
March 31, 2022
Reading time:
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:
As usual, Collabora also contributed to various areas of the Kernel for the latest release. Let's take a look!
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.
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.
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.
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):
Alyssa Rosenzweig (1):
Gabriel Krisman Bertazi (12):
Sebastian Reichel (32):
Muhammad Usama Anjum (1):
Sebastian Reichel (3):
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):
Andrzej Pietrasiewicz (2):
AngeloGioacchino Del Regno (3):
Boris Brezillon (1):
Daniel Stone (3):
Nicolas Dufresne (2):
Pekka Paalanen (14):
Sebastian Reichel (4):
Alyssa Rosenzweig (1):
Andrzej Pietrasiewicz (1):
AngeloGioacchino Del Regno (1):
Nicolas Dufresne (1):
Nícolas F. R. A. Prado (5):
Ritesh Raj Sarraf (1):
Guillaume Tucker (1):
03/10/2024
For the first time in over a decade, the GStreamer Conference will be taking place in North America, and we're prepped and ready with no…
19/09/2024
The latest 6.11 kernel release is here! This release improves performance, security, and hardware compatibility, increasing the kernel's…
18/09/2024
It is now possible to start kicking the tires on Vulkan with an open source driver on Arm Mali-G610 and Mali-G310 GPUs. The Panfrost project…
Comments (0)
Add a Comment