pipewire/doc/dox/internals
Jonas Ådahl 58b958860e stream: Add DRM device negotiation
A DMA buffer from a DRM device are typically accessed using API related
to a DRM device, e.g. Vulkan or EGL. To create such a context for using
with a PipeWire stream that passed DRM device DMA buffers applications
have so far usually guessed or made use of the same context as the
stream content will be presented. This has mostly been the Wayland
EGL/Vulkan context, and while this has most of the time worked, it's
somewhat by accident, and for reliable operation, PipeWire must be aware
of what DRM device a DMA buffer should be accessed using.

To address this, introduce device ID negotation, allowing sources and
sinks to negotiate what DRM device is supported, and what formats and
modifiers are supported by them.

This will allow applications to stop relying on luck or the windowing
system to figure out how to access the DMA buffers. It also paves the
way for being able to use multiple GPUs for different video streams,
depending on what the sources and sinks support.
2026-01-14 08:15:43 +00:00
..
access.dox doc: internals/access: update documentation vs current state 2023-11-29 18:51:35 +02:00
audio.dox doc: reorganize files 2023-11-19 16:39:15 +00:00
daemon.dox Fix typos 2024-05-22 09:19:34 +02:00
design.dox doc: link to the protocol message documentation 2025-03-11 16:26:06 +01:00
dma-buf.dox stream: Add DRM device negotiation 2026-01-14 08:15:43 +00:00
driver.dox doc: spa: Fix offset in driver documentation 2025-08-05 17:54:56 +00:00
index.dox doc: spa: Add more docs about SPA_IO_Clock and driver operations 2025-07-16 10:58:48 +02:00
latency.dox doc: mention async link latency in latency doc 2025-09-16 14:09:08 +02:00
library.dox Fix typos 2024-05-22 09:19:34 +02:00
midi.dox docs: fix some typos 2025-05-23 16:40:20 +02:00
objects.dox doc: reorganize files 2023-11-19 16:39:15 +00:00
portal.dox doc: fix xdg-desktop-portal documentation links 2023-11-21 21:25:13 +01:00
protocol.dox stream: generate PeerCapbility for old servers 2025-11-21 10:19:36 +01:00
pulseaudio.dox doc: reorganize files 2023-11-19 16:39:15 +00:00
scheduling.dox doc: fix some spelling, grammar and formatting mistakes 2025-09-22 11:24:23 +02:00
session-manager.dox doc: reorganize files 2023-11-19 16:39:15 +00:00
tag.dox doc: fix end of page for tag doc 2025-05-14 18:23:41 +02:00