May 23, 2019 by Ezequiel Garcia | Blog
With virtme, you can run a custom built kernel on top of our running root filesystem. In this post, we explore another example of virtme in action, and see how to test Video4Linux2 drivers on bleeding edge GStreamer builds.
May 16, 2019 by Andrzej Pietrasiewicz | Blog
Introducing cmtp-responder - a permissively licensed Media Transfer Protocol (MTP) responder implementation which allows embedded devices to provide MTP services and supports a core set of MTP operations.
May 14, 2019 by Adrian Ratiu | Blog
Up until now, talking in-depth about userspace tracing was deliberately avoided because it merits special treatment, hence this part devoted to it. We'll now look at the why of it, and we'll examine eBPF user tracing in two categories: static and dynamic.
May 09, 2019 by André Almeida | News & Events
Earlier this week, Linux Kernel 5.1 was released, and with it came over 13,000 commits from developers all around the world, including Collaborans. This time around, no less than 12 different developers contributed commits (64), sign-offs (111) & more.
May 08, 2019 by Santosh Mahto | Blog
After a successful team effort, the patch enabling the Chromium Embedded Framework (CEF) Ozone builds to run with different platform backends, such as Wayland, has finally landed upstream.
May 06, 2019 by Aaron Boxer | News & Events
After a year-long development cycle, the much anticipated release was made available recently. With it came a number of exciting new features we're especially proud of, including per-element latency tracer and support for planar or non-interleaved audio.
May 06, 2019 by Adrian Ratiu | Blog
Now that we've studied the mainstream way of developing and using eBPF programs on top of the low-level VM mechanisms, we'll look at projects taking different approaches, attempting solutions to some of the unique problems faced by embedded Linux.
May 02, 2019 by Robert Foss | Blog
A previous post introduced the SPURV Android compatibility layer for Wayland based Linux environment. In this post, we're going to dig into how you can run an Android application on the very common i.MX6 based Nitrogen6_MAX board.
April 26, 2019 by Adrian Ratiu | Blog
In part 1 and 2 of this series, we took a condensed in-depth look at the eBPF VM. In part 3, we define the high-level components of an eBPF program, including the backend, loader, frontend and data structures.
April 25, 2019 by Guillaume Desmottes | Blog
GStreamer's logging system is an incredibly powerful ally when debugging but it can sometimes be a bit daunting to dig through the massive amount of generated logs. I often find myself writing small scripts processing gst logs when debugging.
April 24, 2019 by Marius Vlad | Blog
The recent release of version 6 of the Weston compositor has brought with it the weston-debug protocol, a new feature that allows developers and users alike to display on-the-fly various debugging (logging) information generated by the compositor.
April 18, 2019 by Ezequiel Garcia | Blog
A well-known Linux kernel developer once said, a poor craftsman famously complains about his tools, but a good craftsman knows how to choose excellent tools. Here's a python-based tool that integrates git and patchwork, and can greatly improve your toolbox.
January 23, 2024 by Edmund Smith | Blog
This is the fourth and final part in a series on persian-rug, a Rust crate for interconnected objects. We've touched on the two big limitations: lack of deletion and lack of enforced matching between proxies and containers. Let's look at other solutions.
January 16, 2024 by Faith Ekstrand | Blog
One of the key high-level challenges of building Mesa drivers these days is figuring out how to best share code between a Vulkan driver and a Gallium driver when Gallium isn't really capable of implementing Vulkan. Here's how.
December 19, 2023 by Mark Filion | Blog
Google Open Source have chosen their second group of winners for the 2023 Google Open Source Peer Bonus Program, and Arnaud Ferraris, Senior Software Engineer at Collabora and Mobian project lead, is among the recipients!
December 11, 2023 by Nícolas F. R. A. Prado | Blog
As we continue working to improve the kernel integration landscape on multiple fronts, this also means making better tests available for all. Working closely with the community, we have now landed a new, ready-to-use, kselftest in mainline Linux.
December 06, 2023 by George Kiagiadakis | Blog
We can now confidently say that PipeWire is here to stay. But of course it is not the end of the journey. There are many new areas to explore going forward, especially in WirePlumber and the ecosystem that builds around PipeWire.
December 05, 2023 by Edmund Smith | Blog
Our look at the Rust crate for interconnected objects continues, as we examine how persian-rug really does tie the room together by providing a convenient container solution with a safety net to go along with it.
December 01, 2023 by Gustavo Padovan | Blog
The testing ecosystem in the Linux kernel has been steadily growing, but are efforts sufficiently coordinated? How can we help developers and maintainers integrate code more efficiently? How can we mitigate maintainer burnout?
October 30, 2023 by Ashok Sidipotu | Blog
With the upcoming 0.5 release, WirePlumber's Lua scripts will be transformed with the new Event Dispatcher. More modular and extensible with very little redundant processing, they will look and feel completely different.
October 02, 2023 by Daniel Almeida | Blog
This second installment explores the Rust libraries Collabora developed to decode video and how these libraries are used within ARCVM to eventually remove CrosVM's dependency on the Chrome codec stack.
September 27, 2023 by Edmund Smith | Blog
Why is creating object graphs hard in Rust? In part 1, we looked at a basic pattern, where two types of objects refer to one another. In this part we'll follow up in more detail and examine the different approaches that can be applied.
September 13, 2023 by Jakub Piotr Clapa | Blog
Text-to-speech (TTS) models are playing a transformative role, from enriching audiobooks to enhancing podcasts and even improving interactions with chatbots. Meet WhisperSpeech, an Open Source text-to-speech model developed by Collabora.
August 21, 2023 by Eugen Hristev | Blog
In Linux, the Industrial Input/Output subsystem manages devices like Analog to Digital Converters, Light sensors, accelerometers, etc. On the other hand, the Input subsystem handles keyboards, mice, touchscreens, and any device that has a human interface.
September 15, 2025 by Kara Bembridge | News & Events
Visit us at the STMicroelectronics booth, where Collabora will highlight how the STM32MP2 chip empowers edge AI solutions for industrial applications.
September 09, 2025 by Dylan Aïssi | News & Events
The Debian Trixie release is jam-packed with new features thanks to the efforts of many. See where Collabora contributed to upgraded GNOME components, newer PipeWire versions, and more!
September 08, 2025 by Ariel D'Alessandro | News & Events
Addressing the need for reliable hardware testing for RISC-V adoption, the RISE Project and Collabora added two RISC-V boards to Collabora's LAVA testing lab.
September 03, 2025 by Kara Bembridge | News & Events
Collabora is headed to Amsterdam. Meet us at Booth A63 in Hall 14 as we showcase GStreamer Analytics combined with ML, hardware-accelerated video decoding in Dante Studio using GStreamer, remote rendering for standalone XR, and more!
August 19, 2025 by Kara Bembridge | News & Events
Collabora is heading to Amsterdam with talks, demos, and workshops covering Embedded Linux, KernelCI, Bluetooth & Auracast, mainline video capture for Rockchip, and more. Join us to see our latest open source work in action!
August 13, 2025 by Eric Smith | News & Events
The Mesa 25.2 release introduces support for AFBC compressed YUV textures in the Panfrost driver for ARM Mali GPUs, enabling more efficient memory bandwidth and power usage in video playback and real-time texture processing.
August 04, 2025 by Faith Ekstrand | News & Events
Starting with Mesa 25.2, NVK will now advertise support for Blackwell (RTX 50xx series) and Kepler (most GT and GTX 600 series, most GTX 700 series, and some GTX 800 series) GPUs.
July 31, 2025 by Julien Massot | News & Events
The latest Linux kernel brings enhanced MediaTek Platform enablement, Rockchip performance, and more. Collabora contributed to this release with no less than 22 authored contributors!
July 29, 2025 by Erik Faye-Lund | News & Events
PanVK has reached another milestone and will be officially supporting Vulkan 1.4 on V10! We're up-to-date with the latest version and are well caught up for this release.
July 09, 2025 by Kara Bembridge | News & Events
Collabora is proud to sponsor this year's annual Debian conference, taking place in Brest, France. Join us as we showcase the latest with Apertis, discuss Debian running on mobile devices, and more.
July 07, 2025 by Daniel Almeida | News & Events
The last year has seen substantial progress on the DRM infrastructure required to write GPU drivers in Rust. Developed in collaboration with Arm and Google, Tyr is a new Rust-based DRM driver targeting CSF-based Arm Mali GPUs.
July 02, 2025 by Mark Filion | News & Events
This partnership ensures customers can build embedded products with long-term maintenance viability that will meet the challenges of tomorrow, such as compliance with the CRA, all built on proven Toradex platforms and upstream-first software.
Here are the events we'll be attending in the coming weeks – come say hello!
December 11-13, Tokyo, Japan