From our first contribution to Kernel 2.6.31 to our recent contributions to Kernel 5.5, Collabora has long been actively involved in the development of the Linux Kernel, contributing an average of 50 patches per release.
With a vast array of projects that require working directly with the Linux Kernel, Collabora engineers regularly contribute patches upstream, with the objective of improving the Kernel and reducing the burden of maintenance for our customers. As such, in addition to their day-to-day projects, Collabora engineers have, to this day, successfully contributed nearly 750 patches.
Collabora’s kernel team members are active and long-time contributors, having contributed more than 1,400 patches combined. Although these numbers are high, they do not account for Linux kernel development work that haven’t been submitted upstream. Though Collabora always prefer to submit patches upstream on behalf of its customers, we also understand that sometimes circumstances are such that it may not alway be feasible at the time the patches are created. Collabora has done extensive work on the Linux kernel for customers outside of upstream. Many of our current and previous customers use a production Kernel that is behind upstream and they turn to Collabora to help them make the most of the SoCs they choose for their products.
Combined, the upstream and non-upstream experiences gives Collabora a rock solid background on the Linux Kernel and its support for many different environments, whether it be Intel architecture or ARM and its many different SoCs. TI OMAP, Samsung Exynos, NVidia Tegra, Renesas R-Car, Freescale iMX, as well as SoCs from Mediatek, Rockchip, Broadcom and Atmel are some of the chips Collabora has worked on recently to help its customers achieve their goals.
When it comes to areas of expertise within the Linux Kernel, Collabora has an extensive presence in many different subsystems starting with DRM, Video4Linux2 and ALSA - with work in both core parts and drivers. WIth regards to SoCs boards support, Collabora helped customers mainline the support of their board either by improving Device Tree files or adding new drivers for many different devices such as, Camera, Display, Watchdog, Network, Storage, Power Supply and Real Time Clocks, among others. Collabora helped not only with specific drivers development but with optimization of the kernel in general, such as the optimization of SoCs device initialization during boot, optimization of the suspend and resume to memory code paths and improvements to the Common Clock Framework. Lastly, on the Network side, Collabora has extensive experience working with the Bluetooth and NFC protocols within the Kernel.
Collabora believes that continuous testing is primordial to ensure everything we do in the Linux Kernel is stable and functional. To meet this requirement, Collabora created a Kernel testing infrastructure based on Open Source solutions, such as LAVA and Jenkins. This infrastructure is part of the KernelCI initiative and allows both Collabora and upstream developers to rapidly test kernel changes on a large number of different boards remotely.
As a long-time member of the Linux Kernel community, Collabora has built a solid reputation among subsystem maintainers. That reputation allows Collabora to work closely with them to obtain their input when needed to ease the upstreaming process of a contribution. An efficient upstreaming process is highly beneficial, both for the community and for Collabora’s customers, allowing them to focus on what really matters to make their products successful.
Whether it be the design, the implementation, the QA, or the maintenance phase, Collabora has the knowledge and expertise to support its customers from start to finish and beyond. Through our capacity to use and maintain upstream components in your platforms, we ensure that our customer's solution will be fully functional, healthy and low maintenance for as long as those components are live.