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.
April 15, 2019 by Adrian Ratiu | Blog
The second part of this series takes a more in-depth look at the eBPF VM and program studied in the first part. Having this low level knowledge is not mandatory but can be a very useful foundation for the rest of the series.
April 09, 2019 by Nicolas Dufresne | News & Events
Collabora contributes elements implementing the RIST Simple Profile to GStreamer. This specification adds retransmissions to RTP streams in a way that it compatible with existing broadcast encoders and decoders.
April 05, 2019 by Adrian Ratiu | Blog
Interested in learning more about low-level specifics of the eBPF stack? Read on as we take a deep dive, from its VM mechanisms and tools, to running traces on remote, resource-constrained embedded devices.
April 01, 2019 by Robert Foss | Blog
It's now possible to run Android applications in the same graphical environment as regular Wayland Linux applications with full 3D acceleration. Here's a look at SPURV, our experimental containerized Android environment.
March 29, 2019 by Mark Filion | News & Events
Next week, Collaborans will be in Bangkok, Thailand, to participate in the 25th edition of Linaro Connect, a gathering of the world's leading open source engineers working on Arm. Tomeu Vizoso and Gustavo Padovan will be in attendance to present Panfrost.
March 27, 2019 by Andrzej Pietrasiewicz | Blog
In the previous post I introduced you to the subject of USB gadgets implemented as machines running Linux. In this post, we look at how to implement your very own USB function with FunctionFS and how to integrate that with systemd.
March 20, 2019 by André Almeida | Blog
In this tutorial, we'll look at how to create a functional and simple Arch Linux virtual machine image, that can have network access, display graphical windows and share a folder with the host.
March 18, 2019 by Jakob Bornecrantz | News & Events
Following the release of the OpenXR 0.90 Provisional Specification by The Khronos Group, Collabora is proud to announce Monado, an open source implementation of the newly released OpenXR spec.
March 13, 2019 by Mark Filion | News & Events
Tomorrow, March 14, Collabora will be in Düsseldorf, Germany, to take part and exhibit at the second edition of the Renesas European R-Car Consortium Forum!
March 13, 2019 by Robert Foss | Blog
During the past few months significant progress has been made on the Open Source Arm Mali GPU driver front, culminating in the Panfrost driver targeting Mali T and G-series of GPUs being available now.
March 12, 2019 by Helen Koike | Blog
With just a few simple steps, you can compile and boot a Raspberry Pi using the Linux kernel mainline source code. Here's how.
August 06, 2025 by Daniel Almeida | Blog
This second post in the Tyr series dives deeper into GPU driver internals by using the Vulkan-based VkCube application to explain how User Mode Drivers (UMDs) and Kernel Mode Drivers (KMDs) work together to execute GPU workloads.
July 22, 2025 by Olivier Crête | Blog
Getting into kernel development can be daunting. There are layers upon layers of knowledge to master, but no clear roadmap, especially when it comes to debugging drivers or navigating userspace-kernel issues.
July 15, 2025 by Olivier Crête | Blog
This past May, we met with the community at the GStreamer Spring Hackfest in Nice, France, and were able to make great strides, including the integration of AI/ML workflows in GStreamer.
July 03, 2025 by George Kiagiadakis | Blog
As part of the activities Embedded Recipes in Nice, France, Collabora hosted a PipeWire workshop/hackfest, an opportunity for attendees to meet face-to-face with PipeWire developers and participate in direct discussions about the future of PipeWire.
June 25, 2025 by Tathagata Roy | Blog
In collaboration with Inria, the French Institute for Research in Computer Science and Automation, Tathagata Roy shares the progress made over the past year on the CoccinelleForRust project, co-sponsored by Collabora
June 23, 2025 by Nicolas Dufresne | Blog
Last month in Nice, active media developers came together for the annual Linux Media Summit to exchange insights and tackle ongoing challenges in the media subsystem. Here’s a brief summary of the key discussions and upcoming areas of focus.
June 09, 2025 by Gustavo Noronha | Blog
In this final article based on Matt Godbolt's talk on making APIs easy to use and hard to misuse, I will discuss locking, an area where C++ has produced some interesting ideas, most notably something called RAII — Resource Acquisition Is Initialization.
May 21, 2025 by Gustavo Noronha | Blog
In this second article of a three-part series, I look at how Matt Godbolt uses modern C++ features to try to protect against misusing an API that deals with destructive state transition based on a talk he gave on making code easy to use and hard to misuse.
May 12, 2025 by Aaron Boxer | Blog
Powerful video analytics pipelines are easy to make when you're well-equipped. Combining GStreamer and Machine Learning frameworks are the perfect duo to run complex models across multiple streams.
May 06, 2025 by Gustavo Noronha | Blog
Gustavo Noronha helps break down C++ and shows how that knowledge can open up new possibilities with Rust.
April 29, 2025 by George Kiagiadakis | Blog
Configuring WirePlumber on embedded Linux systems can be somewhat confusing. We take a moment to demystify this process for a particular use case.
April 24, 2025 by Martyn Welch | Blog
Collabora's Board Farm demo, showcasing our recent hardware enablement and continuous integration efforts, has undergone serious development over the years. Here's a look at notable changes and improvements made for Embedded World 2025.
Here are the events we'll be attending in the coming weeks – come say hello!
August 25-27, Amsterdam, Netherlands
September 12-15, Amsterdam, Netherlands
September 16, Amsterdam, Netherlands
September 17-18, Lyon, France