News & Blog

News, Events & Blogs

News & Blog

The latest from our Open Source experts

Search the newsroom

An eBPF overview, part 5: Tracing user processes

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.

An eBPF overview, part 5: Tracing user processes

Linux Kernel 5.1

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.

Linux Kernel 5.1

CEF on Wayland upstreamed

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.

CEF on Wayland upstreamed

Collabora & GStreamer 1.16

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.

Collabora & GStreamer 1.16

An eBPF overview, part 4: Working with embedded systems

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.

An eBPF overview, part 4: Working with embedded systems

Running Android and Wayland on embedded devices

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.

Running Android and Wayland on embedded devices

An eBPF overview, part 3: Walking up the software stack

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.

An eBPF overview, part 3: Walking up the software stack

GStreamer buffer flow analyzer

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.

GStreamer buffer flow analyzer

Weston debugging and tracing on-the-fly

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.

Weston debugging and tracing on-the-fly

Quick hack: git-pw

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.

Quick hack: git-pw

An eBPF overview, part 2: Machine & bytecode

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.

An eBPF overview, part 2: Machine & bytecode

GStreamer support for the RIST Specification

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.

GStreamer support for the RIST Specification

Continuous 3D Hand Pose Tracking using Machine Learning & Monado

April 20, 2021 by Marcus Edel  |   Blog

As part of a project backed by INVEST-AI, a program managed by IVADO Labs, we have developed a multi-stage neural network-based solution that accurately locates and tracks the hands despite complex background noise and occlusion between hands.

Continuous 3D Hand Pose Tracking using Machine Learning & Monado

An easy to use MTP implementation for your next embedded Linux project

April 13, 2021 by Andrzej Pietrasiewicz  |   Blog

Did you know you could run a permissively-licensed MTP implementation with minimal dependencies on an embedded device? Here's a step-by-step guide on how to easily run cmtp-responder on a Rock Pi 4 or any other board equipped with a UDC.

An easy to use MTP implementation for your next embedded Linux project

Rust: integrating LLVM source-base code coverage with GitLab

March 24, 2021 by Guillaume Desmottes  |   Blog

Earlier this year, the Rust compiler gained support for LLVM source-base code coverage. In this post we'll explain how to setup a CI job in a Rust project to feed source-base coverage information to GitLab.

Rust: integrating LLVM source-base code coverage with GitLab

Build and run GTK 4 applications with Visual Studio

March 18, 2021 by Xavier Claessens  |   Blog

Over the past few months, I've been working on a side project to improve Meson sub-project support. The best stress test is to build projects on Windows, without msys2, because it has no dependencies or tools installed (e.g. pkg-config).

Build and run GTK 4 applications with Visual Studio

New features, changes & improvements to KernelCI's UI

March 04, 2021 by Alexandra Pereira  |   Blog

The most complete automated testing and continuous integration tool for the Linux kernel continues to evolve at a rapid pace. Here's a look at the latest improvements to the KernelCI dashboard, the main web interface used by the project.

New features, changes & improvements to KernelCI's UI

Asymmetric Multi Processing with Linux & Zephyr on the STM32MP1

March 03, 2021 by Arnaud Ferraris  |   Blog

In the embedded world, many modern SoCs such as the ST Microelectronics STM32MP1 now include coprocessor cores which can be used for a wide range of tasks and can offload some of the work from the main processor.

Asymmetric Multi Processing with Linux & Zephyr on the STM32MP1

Adding HEVC/H.265 support for NXP's i.MX 8M

February 17, 2021 by Benjamin Gaignard  |   Blog

Our recent efforts on the Hantro kernel driver have resulted in the addition of H.264 decoding support and multiple performance improvements. We are now introducing High Efficiency Video Coding, also known as H.265, decoding support on NXP's i.MX8 M.

Adding HEVC/H.265 support for NXP's i.MX 8M

Network adaptive streaming with Hwangsaeul

February 08, 2021 by Jakub Adam  |   Blog

Hwangsaeul, or H8L, a remote surveillance streaming solution, utilizes the capability of libsrt to collect statistics from open SRT sockets and by continuously analyzing the available data tries to detect potential connectivity issues.

Network adaptive streaming with Hwangsaeul

Trimming apitrace workload captures for better Mesa testing

February 01, 2021 by Gert Wollny  |   Blog

Complex, real-world correctness tests and performance analysis are now possible thanks to gltrim, a new tool recently added to apitrace, designed to trim replayable traces to single, user-defined frames.

Trimming apitrace workload captures for better Mesa testing

GStreamer on Windows: adding WebRTC support to a gst-build install

January 28, 2021 by Aaron Boxer  |   Blog

Earlier this week, WebRTC became an official W3C and IETF standard. GStreamer has a powerful and rapidly maturing WebRTC implementation. So, the obvious question is: how do we build this on Windows?

GStreamer on Windows: adding WebRTC support to a gst-build install

Implementing a performance boosting algorithm in Coccinelle

January 21, 2021 by Jaskaran Singh  |   Blog

Last year, from June to September, I worked on the kernel development tool Coccinelle under Collabora. I implemented a performance boosting algorithm for one of Coccinelle's use cases. Here's a look at this work.

Implementing a performance boosting algorithm in Coccinelle

Desktop OpenGL 3.1 on Mali GPUs with Panfrost

January 13, 2021 by Alyssa Rosenzweig  |   Blog

The open source Panfrost driver for Arm Mali Midgard and Bifrost GPUs now provides non-conformant OpenGL ES 3.0 on Bifrost and desktop OpenGL 3.1 on Midgard (Mali T760 and newer) and Bifrost, in time for Mesa's first release of 2021.

Desktop OpenGL 3.1 on Mali GPUs with Panfrost

Search the newsroom

Upcoming Events

Here are the events we'll be attending in the coming weeks – come say hello!

NeurIPS

December 10-15, Vancouver, Canada

FOSDEM

February 1-2, Brussels, Belgium

 

Featured Video

Open Since 2005 logo

Our website only uses a strictly necessary session cookie provided by our CMS system. To find out more please follow this link.

Collabora Limited © 2005-2024. All rights reserved. Privacy Notice. Sitemap.