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.
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.
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.
August 10, 2023 by Paweł Wieczorek | Blog
Collabora's main testing laboratory has grown to automate testing on over 150 devices of about 30 different types. The lab receives job submissions from several CI systems, e.g. KernelCI, MesaCI, and Apertis QA.
August 09, 2023 by Edmund Smith | Blog
Rust is a modern language known for its memory safety, efficiency, and wide range of high-level features. But many beginners also run into something else in Rust: how surprisingly difficult it is to represent some common designs.
August 03, 2023 by Marcus Edel | Blog
At Collabora, we're committed to bringing people together. That's why we're pushing state-of-the-art machine-learning techniques like Large Language Models, Speech Recognition, and Speech-Synthesis techniques.
July 31, 2023 by Eugen Hristev | Blog
I have been working on getting U-boot upstream up to speed for the Radxa Rock-5B Rockchip RK3588 board. One of the cool features that I recently published upstream is the ability to boot the board without any kind of non-volatile media (NVM) used.
July 18, 2023 by Eugen Hristev | Blog
I previously talked about getting the bigger brother Rock 5B into mainline U-boot; this time I worked on the Rock 5A, an even tinier SBC based on Rockchip's RK3588S SoC that is one step closer to getting accepted.
June 20, 2023 by Daniel Almeida | Blog
Powered by Rust, the video codec stack on ARCVM is now bringing faster and more reliable video decoding on Chrome OS. Here's how Collabora has been helping shape video virtualization for Chromebooks, and what it means for end users.
June 15, 2023 by Ashok Sidipotu | Blog
Event Dispatcher, part of the upcoming WirePlumber 0.5 release, is a custom PipeWire event scheduling mechanism designed to address many of the fundamental issues in WirePlumber.
June 08, 2023 by Vineet Suryan | Blog
Contrary to traditional software development, data is more important than code in machine learning. Building a high-performing model requires using reliable, precisely labelled data but poor-quality data is not always obvious.
December 20, 2023 by Faith Ekstrand | News & Events
As 2023 draws to a close, I wanted to give a quick update on NVK, what's happened this year, and where we'll be headed in 2024. While previous posts have focused primarily on the technical details, this post will be more geared towards users.
December 07, 2023 by Mark Filion | News & Events
Collabora is headed to California to take part in the inaugural edition of AI.dev: Open Source GenAI & ML Summit, a new event which aims to bring together the brightest developers from around the world to shape the trajectory of open source AI.
November 27, 2023 by George Kiagiadakis | News & Events
It is with the utmost excitement that we witness the release of PipeWire 1.0, the first officially stable release of this noteworthy inter-process multimedia streaming framework after many years of development.
November 21, 2023 by Kara Bembridge | News & Events
This week, the Debian project takes over Cambridge as MiniDebConf kicks off right in our own British backyard! Organized by Debian project members, MiniDebConfs aim to achieve similar objectives to those of the annual Debian conference, DebConf.
November 20, 2023 by Faith Ekstrand | News & Events
As of today, NVK is now an officially conformant implementation of the Vulkan 1.0 API on NVIDIA Turing hardware. This is the first time any Nouveau driver has gotten the Khronos conformance badge on any API.
November 09, 2023 by Kara Bembridge | News & Events
To ensure the Linux kernel is running smoothly, it requires maintenance from a variety of levels. Those working on the lower levels, or the plumber layers, of the kernel will have a chance to convene next week at the annual Linux Plumbers Conference.
November 02, 2023 by Vineet Suryan | News & Events
MLBench enables developers and maintainers to effortlessly gauge how their frameworks perform compared to other implementations, prior code versions, or across different boards, with respect to both runtime performance and other metrics.
October 31, 2023 by Laura Nao | News & Events
Linux Kernel 6.6 has arrived, bringing a significant amount of new features and performance enhancements. Collabora has actively contributed many patches, including work on MediaTek and Rockchip.
October 12, 2023 by Kara Bembridge | News & Events
The fall conference season continues next week with the X.Org Developer's Conference, taking place from October 17 to 19 in A Coruna, Spain. Sponsored by Collabora, this event brings together developers with an interest in open graphics.
September 21, 2023 by Kara Bembridge | News & Events
Sunny Spain will have multimedia developers on speed dial next week for the 11th edition of the GStreamer Conference, taking place at the Palexco Convention Centre in A Coruña from September 25 to 26.
September 19, 2023 by Kara Bembridge | News & Events
The world-renowned culinary scene in The City of Light will be getting a pack of different types of chefs next week for Kernel Recipes and Embedded Recipes. Kernel Recipes kicks off on September 25, then Embedded Recipes from September 28 to 29.
September 11, 2023 by Kara Bembridge | News & Events
Collabora is headed to Amsterdam! This year, we will be showcasing some of our recent work on the DAB protocol, as well as the software integration of LCEVC, MPEG's novel enhancement codec, into the GStreamer multimedia framework.
Here are the events we'll be attending in the coming weeks – come say hello!
February 26-29, Seattle, WA, USA
April 9-11, Nuremberg, Germany