Graphics/Multimedia: PipeWire, libei, and lavapipe (UPDATED)
-
PipeWire 0.3.71
This is a bugfix release that is API and ABI compatible with previous 0.3.x releases.
-
libei 1.0.0
libei 1.0.0 RC1 is now available. libei is a library to send Emulated Input (EI) to a matching Emulated Input Server (EIS) which can receive those events with libeis, also part of this project.
-
Dave Airlie (blogspot): lavapipe and sparse memory bindings
Mike nerdsniped me into wondering how hard sparse memory support would be in lavapipe.
The answer is unfortunately extremely.
Sparse binding essentially allows creating a vulkan buffer/image of a certain size, then plugging in chunks of memory to back it in page-size multiple chunks.
This works great with GPU APIs where we've designed this, but it's actually hard to pull off on the CPU.
Currently lavapipe allocates memory with an aligned malloc. It allocates objects with no backing and non-sparse bindings connect objects to the malloced memory.
UPDATE
-
PipeWire Adds Zero Latency JACK D-Bus Bridge, Performance Tweaks
For the uninitiated, PipeWire is a multimedia framework capable of handling audio and video streams on Linux systems, serving as a replacement for older technologies like PulseAudio and JACK.
An increasing number of desktop Linux distributions use PipeWire as their default audio stack. This includes “big players” like Fedora Workstation and Ubuntu.
In this post I share a quick overview of the latest release.