Louis-Alexis Eyraud
December 03, 2025
Reading time:
The Linux kernel’s newest release is here, packed with new features, enhanced hardware support, and numerous improvements. As the last release for 2025, it has also been promoted to being this year's Long Term Support (LTS) kernel. It will be supported for at least 2 years through December 2027.
Some highlights from this release include:
For a full overview of what landed this release, please refer to LWN's articles:
As always, this new version includes multiple contributions from Collabora, with no less than 17 authored contributors, so let's take a quick look!
Daniel Almeida contributed to the Tyr driver introduction, a Rust-written driver for Arm Mali CSF-based GPUs. It is a port of the Panthor driver and therefore exposes Panthor's uAPI and name to userspace, and the product of a joint effort between Collabora, Arm, and Google engineers. Check out his previous blog posts to learn more about this driver:
He also reviewed several Rust-related contributions.
Boris Brezillon posted and reviewed fixes for the Panthor and gpuvm drivers. A notable fix he provided is for increased security in the Panthor driver to prevent potential data leaks or buffer corruption.
Robert Mader fixed the writeback connector cloning support in the VKMS driver.
Collabora engineers continued hardware enablement and improved support for MediaTek SoCs. Kernel 6.18 adds new hardware support for the MediaTek Dimensity 9400 (MT6991) and the MediaTek Kompanio Ultra (MT8196) SoCs.
AngeloGioacchino Del Regno added support for the system timers, PCI-Express Gen3, and I2C controller found in these SoCs and, in preparation for also adding support for their Power Domain controllers, he also refactored the MediaTek power domain controller driver, improving it for the currently supported MediaTek SoCs at the same time.
Nicolas Frattaroli contributed support for CPU frequency control on the MT8196 SoC, allowing the processor to adjust the CPU clock rate dynamically based on CPU load. In addition, he developed and submitted a mailbox driver, which allows Linux to communicate with the embedded "GPUEB" controller on MT8196. This driver is a prerequisite for enabling GPU frequency control on that SoC in the next kernel release cycle.
Laura Nao added support for the clock controllers on the MediaTek MT8196 platform, including support for the hardware voting mechanism used to control certain clock muxes and gates, as well as the fence mechanism for tracking PLL and mux gate readiness.
Julien Massot enabled the UFS storage, GPIO keys, and PMIC keys support for the MT8395-based Radxa NIO 12L board.
Nícolas F. R. A. Prado fixed a regression in the MediaTek MDP3 driver, which provides hardware-accelerated pixel format conversion for buffers on the MT8188 SoC, restoring functionality on platforms using this chip.
Ariel D'Alessandro disabled the currently broken ARM Frame Buffer Compression (AFBC) support in the MediaTek DRM driver, which caused display issues for several MediaTek Genio SoC series with recent Mesa releases.
Louis-Alexis Eyraud sent fixes for the MT8189 and MT8196 SoC pin control driver.
Finally, AngeloGioacchino Del Regno, Ariel D'Alessandro, and Julien Massot worked together to resolve many devicetree and bindings static analysis issues for several MediaTek SoC and boards.
Sebastian Reichel added the USB-C support for ROCK 5B/5B+/5T boards. The work on this started over 2 years ago, as the simple hardware design is quite complex to support on the software side properly. He will discuss further plans at Linux Plumbers Conference with the goal of reducing unwanted hardware resets. Enabling USB-C support also came at a good time, because Andy Yan from Rockchip managed to upstream the DisplayPort (DP) Controller in this cycle, which is needed for the USB-C DP AltMode. Although this enablement will require a few more small changes. Apart from the USB-C work, he enabled the watchdog for all RK3576-based boards and fixed several Ethernet-related issues on the RK3576 EVB1 board to get it working reliably.
Nicolas Frattaroli did some minor device tree work to enable the neural processing unit (NPU) on the Radxa ROCK 5B board. He also added LPDDR5 memory support to the rockchip-dfi driver for RK3588, which is used to measure memory bandwidth, and fixed the memory cycle counter in it. He continued improving support for the thermal sensors on RK3576 SoCs by enabling them in the device tree. Lastly, he contributed many code refactoring patches to various Rockchip-related drivers, making them use new bitfield macros he introduced that reduce code duplication and do additional compile-time error checking.
Finally, Michael Riesch added the MIPI CSI-2 DPHY support for Rockchip RK3588. This is the first part required for supporting camera sensors on the RK3588.
Daniel Almeida added the basic Rust abstractions to register USB devices in Rust.
Cristian Ciocaltea upstreamed the last remaining bits to ensure proper audio jack handling on the Sony DualSense PS5 controller when operating in USB mode. Despite being a UAC1 device, hence unable to advertise jack detection capabilities, the controller is now able to report jack events via HID, which are further hooked into a couple of virtual mixer controls created by a quirk in the generic USB audio driver that Cristian landed in v6.17. He also provided the required ALSA Use Case Manager (UCM) configuration to support switching the audio profiles between external headphones/headset and internal speaker/microphone.
Unrelated to the above, Cristian fixed an issue with the USB/IP Virtual Host Controller Interface driver that, in some cases, could leave a system in a broken suspend state with an unrecoverable resume.
Daniel Almeida improved the current Rust API for regulators and added the Rust abstractions for IRQ handlers.
Cristian Ciocaltea addressed multiple issues in the Nuvoton NAU88L21 audio codec driver related to interrupt handling and jack hotplug detection reliability, while providing a quirk to allow bypassing the broken debounce circuit on Valve Steam Deck.
Frédéric Danis fixed a regression in the Bluetooth L2CAP protocol regarding configuration request and response timeouts.
Vignesh Raman fixed an issue concerning broken merge request checks in DRM continuous integration tests.
Muhammad Usama Anjum optimized the resume from hibernation for ath11k and fixed multiple code issues in several self-tests.
Martyn Welch fixed an issue in the Goodix driver so it no longer tries to set the reset pin as "input", as it causes issues when there is no pull up resistor installed on the board.
AngeloGioacchino Del Regno:
Ariel D'Alessandro:
Boris Brezillon:
Cristian Ciocaltea:
Daniel Almeida:
Frédéric Danis:
Julien Massot:
Laura Nao:
Louis-Alexis Eyraud:
Martyn Welch:
Michael Riesch:
Muhammad Usama Anjum:
Nicolas Frattaroli:
Nícolas F. R. A. Prado:
Robert Mader:
Sebastian Reichel:
Vignesh Raman:
Dmitry Osipenko:
Sebastian Reichel:
Daniel Almeida:
Nicolas Dufresne:
Sebastian Reichel:
AngeloGioacchino Del Regno:
AngeloGioacchino Del Regno:
Boris Brezillon:
Cristian Ciocaltea:
Daniel Almeida:
Daniel Stone:
Detlev Casanova:
Faith Ekstrand:
Michael Riesch:
Nicolas Dufresne:
Nicolas Frattaroli:
Nícolas F. R. A. Prado:
Robert Beckett:
Sebastian Reichel:
Sjoerd Simons:
Boris Brezillon:
Daniel Almeida:
Daniel Stone:
Dmitry Osipenko:
Nicolas Dufresne:
Sebastian Reichel:
Cristian Ciocaltea:
Daniel Almeida:
Louis-Alexis Eyraud:
Nicolas Frattaroli:
Ritesh Raj Sarraf:
Sebastian Reichel:
Sjoerd Simons:
Valentine Burley:
Sebastian Reichel:
Sjoerd Simons:
Valentine Burley:
03/12/2025
In the latest Linux kernel release, Collabora’s engineering team delivers multiple contributions including Tyr, a Rust driver for CSF-based…
27/11/2025
Collabora will be at Embedded Software Engineering Kongress! Catch our talk as we share our expertise in training large open source models.
19/11/2025
The Tyr prototype has now progressed from basic GPU job execution to running GNOME, Weston, and full-screen 3D games like SuperTuxKart,…
Comments (0)
Add a Comment