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.
September 13, 2016 by Gustavo Padovan | Blog
When it comes to buffer sharing synchronization in the kernel there are two ways of doing it: Implicit Fencing and Explicit Fencing. The difference between them relies on the fact that the kernel may or may not share synchronization information with userspace,…
September 02, 2016 by Robert Foss | Blog
Developing Linux for Android on Qemu allows you to do some things that are not necessarily possible using the stock emulator. For my purposes I need access to a GPU and be able to modify the driver, which is where Virgilrenderer and Qemu comes in handy.
August 23, 2016 by Helen Fornazier | Blog
Nowadays, in Google Cloud Engine (GCE), it is possible to attach a local SSD with the NVMe interface to your virtual machine. Unfortunately, you only get a good number of iops (input/output operations per second) if you instantiate a machine with nvme-backports-debian-7-wheezy…
August 12, 2016 by Philip Withnall | Blog
I have recently been involved in reviewing some large feature patchsets for a project at work, and thought it might be interesting to discuss some of the principles we have been trying to stick to when going about these reviews.
August 05, 2016 by Timothy Arceri | Blog
For years the open source Linux OpenGL drivers have been playing catchup to the proprietary drivers and in the case of Intel hardware to the Windows driver. Recently, a major milestone was reached in bridging this gap with the enablement of OpenGL 4.4…
July 26, 2016 by Gustavo Padovan | Blog
Linux Kernel 4.7 was released this week with a total of 36 contributions from five Collabora engineers. It includes the first contributions from Helen as Collaboran and the first ever contributions on the kernel from Robert Foss. Here are some of the…
July 08, 2016 by Nicolas Dufresne | Blog
For a long time I believed that echo cancellers had no place inside GStreamer. The theory was that GStreamer was too high level and would never be able to provide accurate enough delay information for any canceller to work.
July 04, 2016 by Lubosz Sarnecki | Blog
The dawn of VR video players demand new features in terms of projection and hardware access. In his recent R&D work, a Collaboran implemented a way to view spherical videos with GStreamer on a Virtual Reality headset. In this article, he gives his thoughts…
June 27, 2016 by Frédéric Plourde | Blog
I’ve been fortunate enough lately to attend the largest virtual reality professional event/conference : SVVR. This virtual reality conference’s been held each year in the Silicon Valley for 3 years now. This year, it showcased more than 100 VR companies…
June 22, 2016 by Simon McVittie | Blog
I'm back from the GTK hackfest in Toronto, Canada and mostly recovered from jetlag, so it's time to write up my notes on what we discussed there.
June 19, 2016 by Guillaume Desmottes | Blog
At Collabora, our multimedia team is always looking to improve QA tools in GStreamer. This blog introduces a new QA tool: a GStreamer tracer to track leaked objects.
June 10, 2016 by Helen Fornazier | Blog
When the kernel crashes, it's good to know how to analyze the log and to discover exactly where the error occurred. This blog post shows a simple technique to retrieve the buggy line from the addresses shown in the log and also enabling specifics logs…
June 21, 2021 by Shreeya Patel | News & Events
Earlier this month, Collabora took part in the very first KernelCI hackfest, initiated as a joint effort with the Google Chrome OS team. Here's a look at what led to our participation and what was accomplished.
June 21, 2021 by Erica Ryoo | News & Events
Despite the many obstacles brought on by the pandemic, Collabora has continued to grow its teams for the road ahead. Join us in welcoming Kiril, Benjamin, Daniel, Shreeya, Ariel, Nicolas and James!
June 07, 2021 by Alexandros Frantzis | News & Events
We first announced our work on the driver last December, and posted an update earlier this year. We are now happy to announce a second update for this driver, adding several major features which increase its scope and utility.
June 02, 2021 by Marius Vlad | News & Events
Simplifying AGL's existing Wayland-based graphical stack and avoiding the use of modules that aren't maintained upstream has lead to the creation of a new compositor based on libweston, bringing more reliable and fine-grained system control.
May 27, 2021 by Rohan Garg | News & Events
Thanks to a new, low overhead extension in Mesa, OpenGL and Vulkan applications can now talk to each other, bringing more flexibility to application developers while easing the transition path between the industry-standard Khronos® APIs.
May 04, 2021 by Ariel D'Alessandro | News & Events
With their latest contributions all around the kernel, notably to the Video4Linux APIs and hardware enablement, Collaborans continue to expand on their efforts to close the gap between hardware support on vendor trees and mainline.
March 25, 2021 by Boris Brezillon | News & Events
The Panfrost project started as a reverse engineering effort to understand Arm Mali Midgard and Bifrost GPU internals. With the driver getting more and more mature, the natural next step was to work on an Open Source Vulkan driver for those GPUs.
March 22, 2021 by Mark Filion | News & Events
Join us this week at the Spring edition of Linaro Virtual Connect, as we discuss bringing stateless video decoding support to Linux, and take a look at where we are, and what's to come, for open drivers for Arm GPUs.
March 10, 2021 by Erik Faye-Lund | News & Events
One year ago, we announced a new partnership with Microsoft to build OpenGL mapping layers to DirectX 12. Today, we're excited to share that the we have passed the OpenGL 3.3 conformance tests, and have now upstreamed the D3D12 driver in Mesa 3D!
February 19, 2021 by Alexandros Frantzis | News & Events
Two months ago we announced a first proposal for a Wayland driver for Wine, the compatibility layer for Windows applications. Here's an update on this effort, which contains more details and instructions for building and running the Wayland driver.
February 17, 2021 by Ezequiel Garcia | News & Events
The first kernel release of 2021 brings a number of highlights contributed by Collaborans, including the new Syscall User Dispatch mechanism, and the destaging of both the H.264 stateless decoding interface and the Rockchip ISP driver.
February 15, 2021 by Jakob Bornecrantz | News & Events
Monado, the OpenXR runtime for Linux, is now officially conformant! In recognition of this milestone, a first major release version of the OpenXR runtime for Linux is now available, bringing with it a SteamVR driver!
Here are the events we'll be attending in the coming weeks – come say hello!
May 8-9, Stuttgart, Germany
May 12-14, Seoul, South Korea
May 13, Nice, France
May 14-16, Nice, France
May 16-18, Nice, France