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.
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.
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.
January 11, 2022 by Mark Filion | News & Events
The new year has only just begun, and already our first conference of 2022 is on the horizon. Join us at linux.conf.au, as we discuss bringing WebM Alpha support to GStreamer, and provide a status update on the futex2 syscall.
December 22, 2021 by Gustavo Padovan | News & Events
With over 350 patches authored and nearly 200 reviewed and tested in multiple subsystems, 2021 was a great year for Linux kernel development at Collabora. Here is a look at some of our achievements during the year.
December 20, 2021 by Christoph Haag | News & Events
The Linux desktop in VR goes headless! Introducing wxrd, a standalone Wayland compositor for xrdesktop based on wlroots, with minimal dependencies.
December 08, 2021 by Mark Filion | News & Events
A year of online conferences that began with linux.conf.au will end on a high note next week as Collaborans present three talks at Open Source Summit Japan + Automotive Linux Summit 2021. Join us!
November 10, 2021 by Sebastian Reichel | News & Events
It might be smaller than the last few kernels, but with well above 10,000 non-merge changes, the latest Linux kernel release still packs a punch. Released on October 31, kernel 5.15 brings lots of exciting new features.
November 02, 2021 by George Kiagiadakis | News & Events
Today marks a very exciting day as Fedora 35 has now been released, and with it comes WirePlumber as the default session manager for PipeWire! Under development by Collabora since 2019, WirePlumber has now entered the linux desktop space.
September 24, 2021 by Mark Filion | News & Events
Collaborans will be actively participating in next week's activities with seven talks on topics including Rust build scripts, embedded deep learning on GStreamer, HEVC decoding on mainline Linux, PipeWire and WirePlumber, and more.
September 21, 2021 by Alyssa Rosenzweig | News & Events
This important milestone is a step forward for the open source driver, as it now certifies Panfrost for use in commercial products containing Mali G52 and paves the way for further conformance submissions on other Mali GPUs.
September 16, 2021 by Stéphane Cerveau | News & Events
GStreamer can be tricky to ship in a constrained device. Thanks to a partnership with Huawei, you can now use gst-build to generate a minimal GStreamer build, tailored to a specific application, or set of applications. Here's how.
September 07, 2021 by Nícolas F. R. A. Prado | News & Events
With an ever-increasing interest in more modern hardware support, and a more reliable kernel that is thoroughly tested, contributions by Collabora's developers continue to help make this a reality for the Linux kernel.
September 01, 2021 by Mark Filion | News & Events
September's busy conference schedule kicks off next week with the Fall edition of Linaro Virtual Connect. Join us as we look at how to master your PipeWire streams with WirePlumber, and de-mystify GFX virtualization with VirGL!
July 20, 2021 by Alyssa Rosenzweig | News & Events
After a month of reverse-engineering the Arm Mali G78, we’re excited to release documentation on the Valhall instruction set, available as a PDF, as well as a Valhall assembler and disassembler to be used as a reverse-engineering aid.
Here are the events we'll be attending in the coming weeks – come say hello!
November 23-26, Cambridge, UK
December 12-13, San Jose, California