June 26, 2020 by Ricardo Cañuelo Navarro | Blog
Syzkaller is much needed tool for Linux kernel testing and debugging. With some work, it can also be enhanced to find bugs in specific drivers, such as V4L2. Here's how.
June 23, 2020 by Guillaume Desmottes | Blog
Previously, we discussed about how Rust can be a great language for embedded programming. In this article, we'll explain an easy setup to cross build Rust code depending on system libraries, a common requirement when working on embedded systems.
June 18, 2020 by Mark Filion | News & Events
Collabora will be presenting on five separate occasions during the virtual editions of Embedded Linux Conference North America and Open Source Summit North America, taking place later this month.
June 12, 2020 by Stéphane Cerveau | Blog
Adaptive streaming is a technique to provide flexibility and scalability by offering variable bit-rate streams to the client. Here's a quick guide on how to generate a MPEG-DASH stream (the most completely adaptive streaming technique) using GStreamer.
June 05, 2020 by Alyssa Rosenzweig | Blog
With only free software, a Mali G31 chip can now run Wayland compositors with zero-copy graphics, including GNOME 3. We can run every scene in glmark2-es2, 3D games like Neverball can be played, and video players mpv and Kodi are now supported.
June 04, 2020 by Andrzej Pietrasiewicz | News & Events
This latest release is the first to contain development work accomplished amid the lockdown measures. Despite these significant changes, Collaborans have also been steadfast in their contributions, with multiple projects progressing.
June 01, 2020 by Mark Filion | News & Events
Coding hss begun for this year's Google Summer of Code (GSoC) projects, announced earlier last month. The 2020 edition selected 1,199 students from 66 countries, to work with 199 mentoring organizations over the course of the summer.
May 29, 2020 by Jakob Bornecrantz | News & Events
With the excellent (online) edition of Augmented World Expo 2020 in full swing this week, what better time to announce version 0.2 of the Monado OpenXR runtime for Linux. It's been a very busy three months since the last Monado developer update!
May 27, 2020 by Adrian Ratiu | Blog
Device drivers can support more revisions and SoC platforms by abstracting away specific hardware interface layouts. Let's examine a specific instance of this process, namely the effort to make the MIPI DSI host controller driver more generic.
May 18, 2020 by Mark Filion | News & Events
A few weeks ago, Ryan Pavlik presented "Unifying Reality: Building Experiences with OpenXR", a master class on OpenXR, the open standard API for building VR and AR experiences that work across devices, now and into the future.
May 15, 2020 by Stéphane Cerveau | Blog
gst-build is one of the main build systems used by the community to develop the GStreamer platform. In my last blog post, I presented gst-build and explained how to get started with it. Now, let's get straight to the point regarding cross-compilation.
May 12, 2020 by Andre Almeida | Blog
In part 2 of this series on syzkaller, we looked at how to install the tool and use it to improve our code base. Now, how does syzkaller report a bug it finds in the execution path of a system call? Let's add a new syscall description and see how it goes.
February 19, 2024 by George Kiagiadakis | Blog
Back in 2022, after a series of issues were found in its design, I made the call to rework some of WirePlumber's fundamentals in order to allow it to grow. So where are we now? And what's next? Let's dive in!
February 08, 2024 by Helen Koike | Blog
Continuing our Kernel Integration series, we're excited to introduce DRM-CI, a groundbreaking solution that enables developers to test their graphics subsystem patches across numerous devices within the community's shared infrastructure.
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.
Here are the events we'll be attending in the coming weeks – come say hello!
December 10-15, Vancouver, Canada
February 1-2, Brussels, Belgium