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.
![A roadmap for VirtIO Video on ChromeOS: part 2 A roadmap for VirtIO Video on ChromeOS: part 2]()
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.
![Persian Rug, Part 2 - Other ways to make object soups in Rust Persian Rug, Part 2 - Other ways to make object soups in Rust]()
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.
![WhisperSpeech: Exploring new horizons in text-to-speech tech WhisperSpeech: Exploring new horizons in text-to-speech tech]()
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.
![Bridging IIO and Input in Linux Bridging IIO and Input in Linux]()
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.
![Pushing testing laboratory performance limits by benchmarking LAVA - Part 1 Pushing testing laboratory performance limits by benchmarking LAVA - Part 1]()
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.
![Persian Rug - It really ties the Rust room together Persian Rug - It really ties the Rust room together]()
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.
![Triple Threat: The Power of Transcription, Summary, and Translation Triple Threat: The Power of Transcription, Summary, and Translation]()
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.
![Booting on Radxa's Rock-5B without any media used Booting on Radxa's Rock-5B without any media 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.
![Radxa's Rock 5A one step closer to U-boot mainline Radxa's Rock 5A one step closer to U-boot mainline]()
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.
![A roadmap for VirtIO Video on Chrome OS, part 1 A roadmap for VirtIO Video on Chrome OS, part 1]()
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.
![WirePlumber's Event Dispatcher: a new, simplified way of handling PipeWire events WirePlumber's Event Dispatcher: a new, simplified way of handling PipeWire events]()
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.
![MLfix to quickly fix datasets MLfix to quickly fix datasets]()