News & Blog

News, Events & Blogs

News & Blog

The latest from our Open Source experts

Search the newsroom

Showcasing the STM32MP1 at Embedded World

March 13, 2023 by Mark Filion  |   News & Events

As a recent new member of STMicroelectronics' Partner Program, we're excited to be showcasing the STM32MP1 at Embedded World this week, our first demo featuring the STM32 platform.

Showcasing the STM32MP1 at Embedded World

Implementing Vulkan extensions for NVK

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.

Implementing Vulkan extensions for NVK

Connecting at Embedded World 2023

March 09, 2023 by Kara Bembridge  |   News & Events

Nestled in the historic city of Nuremberg, the annual Embedded World conference will be taking place from March 14 to 16. Collabora will be set up in Hall 4, Booth 4-404, with plenty of space to connect and multiple demos to showcase

Connecting at Embedded World 2023

Oxidizing bmap-tools: rewriting a Python project in Rust

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.

Oxidizing bmap-tools: rewriting a Python project in Rust

Monado's "Mercury" hand tracking now ready for use!

February 24, 2023 by Moses Turner  |   News & Events

Work on this new tracking method started around January 2022. Now, after a little over a year of development, Monado's "Mercury" hand tracking is finally ready for the public to use!

Monado's "Mercury" hand tracking now ready for use!

PanCSF: A new DRM driver for Mali CSF-based GPUs

February 23, 2023 by Boris Brezillon  |   News & Events

A look into the new job-scheduling model with Mali GPUs, their support in the new PanCSF DRM driver, and what it means as the rest of the ecosystem also moves to firmware-assisted scheduling.

PanCSF: A new DRM driver for Mali CSF-based GPUs

Kernel 6.2: More Rust support for drivers

February 21, 2023 by Daniel Almeida  |   News & Events

With more SoC support, a new V4L2 driver and a new dma-buf locking convention among its contributions, Collabora was one of the most active employers for this latest kernel development cycle.

Kernel 6.2: More Rust support for drivers

The futex_waitv() syscall and gaming on Linux

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.

The futex_waitv() syscall and gaming on Linux

GStreamer 1.22: Bigger and better!

February 08, 2023 by Olivier Crête  |   News & Events

Improved support for hardware accelerated video decoders, new GTK+ integration for Wayland rendering, and further Meson enhancements to make GStreamer shine on embedded, Collabora's multimedia team made a number of key contributions for this latest release.

GStreamer 1.22: Bigger and better!

Exploring Rust for Vulkan drivers, part 1

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.

Exploring Rust for Vulkan drivers, part 1

FOSDEM back in full force for 2023

January 20, 2023 by Kara Bembridge  |   News & Events

After two years of hosting the event virtually, Brussels will once again welcome attendees on February 4 & 5 on the old stomping grounds of the ULB Solbosch Campus. Collabora will be presenting 8 different talks, in 7 devrooms as well as on the main track!

FOSDEM back in full force for 2023

Labeling tools are great, but what about quality checks?

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.

Labeling tools are great, but what about quality checks?

High bitrate video streaming with GStreamer's RTP elements

August 20, 2020 by Antonio Ospite  |   Blog

Key performance improvements and fixes to GStreamer's RTP stack have landed in GStreamer 1.18, due in the coming months. The latest enhancements provide an important boost in throughput, opening the gate to high bitrate video streaming.

High bitrate video streaming with GStreamer's RTP elements

Understanding computer vision & AI, part 1

August 13, 2020 by Marcus Edel  |   Blog

Following our recent presentation at OSSummit, many showed interest in learning more about solving real-world problems with computer vision. Here is a new blog series, on computer vision, object detection, and building a system on the edge.

Understanding computer vision & AI, part 1

Testing Weston DRM/KMS backends with virtme and VKMS

August 07, 2020 by Leandro Ribeiro  |   Blog

Recent work in Weston, the industry-standard Wayland compositor, has enabled DRM/KMS backends to be tested in the absence of real hardware, enabling more battle testing of corner-case and error conditions within automated testing frameworks.

Testing Weston DRM/KMS backends with virtme and VKMS

An introduction to Linux kernel initcalls

July 14, 2020 by Mylène Josserand  |   Blog

Initcalls, which serve to call functions during boot, were implemented early on in the development of the Linux Kernel. Read on as we take a closer look, including their purpose, their usage, ways to debug them (using initcall_debug or FTrace), and more.

An introduction to Linux kernel initcalls

Deep dive into OpenGL over DirectX layering

July 09, 2020 by Louis-Francis Ratté-Boulianne  |   Blog

Earlier this year, we announced a new project with Microsoft: the implementation of OpenCL & OpenGL to DirectX translation layers. Here's the latest on this work, including the steps taken to improve the performance of the OpenGL-On-D3D12 driver.

Deep dive into OpenGL over DirectX layering

Using syzkaller, part 4: Driver fuzzing

June 26, 2020 by Ricardo Cañuelo Navarro  |   Blog

Syzkaller is much needed tool for Linux kernel testing and debugging. With some work, it can also be enhanced to find bugs in specific drivers, such as V4L2. Here's how.

Using syzkaller, part 4: Driver fuzzing

Cross building Rust GStreamer plugins for the Raspberry Pi

June 23, 2020 by Guillaume Desmottes  |   Blog

Previously, we discussed about how Rust can be a great language for embedded programming. In this article, we'll explain an easy setup to cross build Rust code depending on system libraries, a common requirement when working on embedded systems.

Cross building Rust GStreamer plugins for the Raspberry Pi

Generating MPEG-DASH streams for Open Source adaptive streaming with GStreamer

June 12, 2020 by Stéphane Cerveau  |   Blog

Adaptive streaming is a technique to provide flexibility and scalability by offering variable bit-rate streams to the client. Here's a quick guide on how to generate a MPEG-DASH stream (the most completely adaptive streaming technique) using GStreamer.

Generating MPEG-DASH streams for Open Source adaptive streaming with GStreamer

Bifrost meets GNOME: Onward & upward to zero graphics blobs

June 05, 2020 by Alyssa Rosenzweig  |   Blog

With only free software, a Mali G31 chip can now run Wayland compositors with zero-copy graphics, including GNOME 3. We can run every scene in glmark2-es2, 3D games like Neverball can be played, and video players mpv and Kodi are now supported.

Bifrost meets GNOME: Onward & upward to zero graphics blobs

Using regmaps to make Linux drivers more generic

May 27, 2020 by Adrian Ratiu  |   Blog

Device drivers can support more revisions and SoC platforms by abstracting away specific hardware interface layouts. Let's examine a specific instance of this process, namely the effort to make the MIPI DSI host controller driver more generic.

Using regmaps to make Linux drivers more generic

Cross-compiling with gst-build and GStreamer

May 15, 2020 by Stéphane Cerveau  |   Blog

gst-build is one of the main build systems used by the community to develop the GStreamer platform. In my last blog post, I presented gst-build and explained how to get started with it. Now, let's get straight to the point regarding cross-compilation.

Cross-compiling with gst-build and GStreamer

Using syzkaller, part 3: Fuzzing your changes

May 12, 2020 by Andre Almeida  |   Blog

In part 2 of this series on syzkaller, we looked at how to install the tool and use it to improve our code base. Now, how does syzkaller report a bug it finds in the execution path of a system call? Let's add a new syscall description and see how it goes.

Using syzkaller, part 3: Fuzzing your changes

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.