Showing headlines posted by mfilion
« Previous ( 1 2 3 4 ... 5 ) Next »GStreamer 1.20: Embedded & WebRTC lead the way
Released earlier this month, GStreamer 1.20 is the fruitful result of 17 months of hard work from the entire community. Over 250 developers contributed to make this release happen, and once again, Collabora had more contributors than any other organization. Our team's work focused on two areas in which we believe GStreamer shines the brightest: embedded systems, and network streaming, in particular WebRTC. Here's a recap of where Collabora made its mark.
Landing a new syscall, part 1: What is futex?
Over the past 18 months, Collabora has been on a roller-coaster ride developing futex2, a new set of system calls. As part of this prolonged effort, the futex_waitv() syscall has now successfully landed in Linux 5.16. A followup of the initial futex syscall, this new interface aims to overcome long term issues that have been limiting the way applications use the Linux kernel. But what exactly is futex? This series of posts will help answer that and other questions around this tricky function.
Writing an open source GPU driver – without the hardware
Until now, no Valhall devices (Mali-G57, Mali-G78) ran mainline Linux - whilst this made driver development obviously difficult, there’s no better time to write drivers than before the devices even get into the hands of end users. Here's a tale from Alyssa Rosenzweig, on how she wrote an open source GPU driver – without the hardware.
A Pixel's Color & new documentation repository
Working on Wayland and Weston color management and HDR support has been full of learning new concepts and terms. Many of them crucial for understanding how color works, and what the values in a pixel actually mean. With color knowledge being surprisingly scarce, Pekka Paalanen has written "A Pixel's Color", an introduction to people who are already familiar with computer graphics in general, images in memory, and maybe window systems, but never really thought what the values in a pixel actually mean or what they are doing wrong with them.
Wine on Wayland year-end update: improved functionality & stability
Just over a year ago, Collabora announced our effort to implement a Wayland driver for Wine. Since then a lot of work has been done to improve the functionality and stability of the driver, and to provide a cleaner and more upstreamable patchset. This work continues as we expand our testing and receive valuable feedback from the community. Here's the latest, along with a new demo showcasing accelerated WebGL rendering in Chrome, GOG GALAXY 2.0 & more.
Meet wxrd, a standalone Wayland compositor for xrdesktop
The Linux desktop in VR goes headless! Introducing wxrd, a standalone Wayland compositor for xrdesktop based on wlroots, with minimal dependencies.
Venus on QEMU: Enabling the new virtual Vukan driver
Running graphics applications on a virtual machine can be annoying as they are generally greedy of computing resources, and that can slow you down or give you a bad experience in terms of graphics performance. Being able to accelerate all this by offloading the workload to the hardware can be a great deal. The VirtIO-GPU virtual GPU device comes into play here, allowing a Guest OS to send graphics commands to it through OpenGL or Vulkan. While we are already there with OpenGL, we can not say the same for Vulkan. Well, until now.
Kernel 5.15: A small but mighty Halloween release
It might be smaller then the last few kernels, but with well above 10,000 non-merge changes, the latest Linux kernel release still packs a punch. Released on October 31, kernel 5.15 brings lots of exciting new features. Here's a look at contributions made by Collaborans for this release.
WirePlumber in Fedora 35
Today marks a very exciting day as Fedora 35 has now been released, and with it comes WirePlumber as the default session manager for PipeWire! Under development by Collabora since 2019, WirePlumber has now entered the linux desktop space.
Run your own CI pipeline with GStreamer's new monorepo
Maintaining a non-trivial set of GStreamer patches can be tricky. Thanks to the recent move to a single, unified git repo, you can now easily run a GStreamer continuous integration pipeline on your own GitLab instance. Here's how.
Improving test coverage for cameras in KernelCI
Put simply, libcamera is a library that handles acquiring, configuring and capturing frames from a camera. Camera pipelines have become increasingly complex, and traditionally this complexity has been exposed by the kernel through the V4L2 APIs, for applications to deal with directly. libcamera is the layer in-between V4L2 and the application so that camera handling can become simple. Here's a look at recent work to improve testing in libcamera and automating it through KernelCI.
A tale of two toolchains and glibc
Over the past few years, the LLVM toolchain has seen increasing development and adoption alongside the older, more established GNU toolchain. The emergence of this new two major toolchain world is bringing challenges and questions for projects that need to support both, in particular the GNU C library (glibc), which only supports GCC.
Is it worth it to fix glibc (and other projects which support only GCC) to build with LLVM? Is it better to just replace them with alternatives already supporting LLVM? Is it best to use both GCC and LLVM, each for their respective supported projects?
Is it worth it to fix glibc (and other projects which support only GCC) to build with LLVM? Is it better to just replace them with alternatives already supporting LLVM? Is it best to use both GCC and LLVM, each for their respective supported projects?
An xrdesktop summer of code
This summer, xrdesktop, the Open Source project bringing the Linux desktop to VR on Valve's SteamVR & Monado, took part for the first time in Google Summer of Code (GSoC). Here's a recap of what accomplished, which saw both students, Remco and Manas, successfully complete their projects and submit merge requests, implementing all new features to xrdesktop.
Reverse-engineering the Arm Mali G78
After a month of reverse-engineering the Arm Mali G78, Collabora has released documentation on the Valhall instruction set, as well as a Valhall assembler and disassembler to be used as a reverse-engineering aid.
A very successful first KernelCI hackfest
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 was accomplished, including new tests added, coverage extended, and more.
Bag of Freebies for XR Hand Tracking: Machine Learning & OpenXR
In our previous post, we presented a project backed by INVEST-AI which introduces a multi-stage neural network-based solution. Now let's dive into the machine learning details of our innovative, open source hand-tracking pipeline.
Testing cameras with lc-compliance on KernelCI
Earlier this month, the very first KernelCI sprint or "hackfest" was held virtually, with more than a dozen engineers & developers from different communities in attendance. Initiated as a joint effort by the Google Chrome OS team and Collabora, the sprint's main objective was to extend KernelCI's coverage, including adding new tests such as the ability to detect regressions on the Linux kernel that can directly affect cameras.
Zink: Summer 2021 update
It's been a busy 18 months in the world of Zink (OpenGL-On-Vulkan) since the last update. Here's a review of where things stand, including upstream development, OpenGL 4.6 & GLES 3.1 support & more.
Open Source OpenGL ES 3.1 on Mali GPUs with Panfrost
Panfrost, the open source driver for Arm Mali, now supports OpenGL ES 3.1 on both Midgard (Mali T760 and newer) and Bifrost (Mali G31, G52, G76) GPUs. OpenGL ES 3.1 adds a number of features on top of OpenGL ES 3.0, notably including compute shaders. While Panfrost has had limited support for compute shaders on Midgard for use in TensorFlow Lite, the latest work extends the support to more GPUs and adds complementary features required by the OpenGL ES 3.1 specification, like indirect draws and no-attachment framebuffers.
A libweston-based compositor for Automotive Grade Linux
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.