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.
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.
May 03, 2023 by Rebecca Mckeever | Blog
NVK, an open-source Vulkan driver for NVIDIA hardware that is part of Mesa, now supports the Vulkan extension VK_KHR_multiview.
April 27, 2023 by Eugen Hristev | Blog
The beauty of Open Source is that we can reuse code written by many other people, keep their authorship, and credit them for their work, without needing to reinvent anything!
April 18, 2023 by Xavier Claessens | Blog
Want to develop your Meson project in a modern IDE? Make sure to install Meson VSCode extension which is now fully functional with the recent release of Meson 1.1.0!
April 05, 2023 by Vineet Suryan | Blog
Labeling errors are common in present open-source 3D perception datasets, which could have impactful consequences. To tackle this issue, we used Carlafox to automatically generate an error-free synthetic dataset for 3D perception.
March 10, 2023 by Rebecca McKeever | Blog
Since joining the graphics team at Collabora as a Software Engineering Intern last November, I have implemented several Vulkan API extensions for NVK, an open-source Vulkan driver for NVIDIA hardware in Mesa.
March 03, 2023 by Rafael Garcia Ruiz | Blog
Rewriting bmaptool in Rust to remove Python dependencies, create statically linked binary, and allow the bmap sparse file format to be used in other Rust projects.
February 17, 2023 by Muhammad Usama Anjum | Blog
Just over a year has passed since the futex_waitv() syscall, part of the new futex2 systems calls, landed in Linux 5.16. But why are both needed? What role do they play in the context of gaming on Linux? Let's find out.
February 02, 2023 by Faith Ekstrand | Blog
Over the course of the last decade, Rust has emerged as a new programming language for writing safe low-level code. This blog post is the first in a series exploring the area of using Rust to write Mesa Vulkan drivers.
January 17, 2023 by Jakub Piotr Cłapa | Blog
MLfix is an open-source tool that combines novel unsupervised machine-learning pipelines with a new user interface concept that, together, help annotators and machine-learning engineers identify and filter out label errors.
January 17, 2023 by Adrian Ratiu | Blog
Times are changing: LLVM has become more than a spare to GCC, such that glibc - the last big GCC bastion, is now working towards supporting LLVM as a first-class citizen.
January 11, 2023 by Jakob Bornecrantz | Blog
It's with excitement and nervousness that I'm writing this post, sitting on a plane heading to Boston where I will attend the MIT Reality Hack as a mentor.
December 20, 2022 by Mateo de Mayo | Blog
The development of Monado's inside-out tracking solution keeps improving and more devices are now supported. Here's an overview of where things stand, as presented at the FOSS XR conference in October.
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