pw-dump
Dump PipeWire object information
TLDR
Print a JSON representation of the default PipeWire instance's current state
Print a JSON representation of an object
Dump the current state monitoring changes, printing it again
Dump the current state of a remote instance to a file
Set a color configuration
Display help
SYNOPSIS
pw-dump [OPTIONS]
PARAMETERS
-h, --help
Show help options and exit.
-o, --output-file=FILE
Direct the output to the specified FILE instead of standard output (stdout).
-N, --no-colors
Disable colorized output, if applicable (output is typically non-colored by default).
-m, --monitor
Monitor for changes in the PipeWire graph and continuously dump new or updated information as it occurs.
-a, --full-dump
Perform a full dump, including all objects and details that might be omitted in a default, concise dump.
-i, --id=ID
Dump only the object with the specified ID (PipeWire object identifier).
DESCRIPTION
pw-dump is a powerful diagnostic tool for the PipeWire media server. It provides a comprehensive snapshot of the current state of the PipeWire daemon and its active objects, including nodes, ports, links, devices, and metadata. The output is typically presented in JSON format, making it easy to parse and analyze programmatically or inspect manually.
This utility is invaluable for debugging audio and video routing issues, understanding the intricate connections within the PipeWire graph, and verifying the configuration of sources, sinks, and processing modules. It allows users and developers to gain deep insights into how media streams are managed and processed by PipeWire, aiding in troubleshooting and development efforts.
CAVEATS
- Requires a running PipeWire daemon to function correctly.
- The output can be very large and verbose, especially for complex systems or when using the --full-dump option.
- Interpreting the JSON output requires familiarity with PipeWire's internal object model and graph structure.
- The user running pw-dump must have appropriate permissions to connect to the PipeWire socket.
OUTPUT FORMAT
The primary output format of pw-dump is JSON. This structured output typically contains an array of objects representing various PipeWire components (e.g., devices, nodes, ports, links, factories, modules, metadata). This machine-readable format is ideal for scripting, automated analysis, and integration into other diagnostic tools.
DEBUGGING AND TROUBLESHOOTING
pw-dump is an essential utility for debugging and troubleshooting audio and video issues on systems utilizing PipeWire. By providing a detailed view of the media graph, it helps identify misconfigurations, analyze data flow paths, and diagnose problems related to audio/video routing, device connectivity, and application interaction with the PipeWire daemon.
HISTORY
PipeWire, and consequently its associated tools like pw-dump, emerged as a modern multimedia framework for Linux, aiming to handle audio, video, and hardware access more efficiently than previous systems. Its development began around 2017 with an initial focus on Wayland screen sharing, eventually expanding to encompass professional audio and replace existing solutions like PulseAudio and JACK. pw-dump has been an integral part of the PipeWire debugging toolkit since its early stages, evolving with the framework to provide increasingly detailed insights into its internal operations and assist developers and users in understanding the system's state.