mirror of
https://gitlab.freedesktop.org/pipewire/wireplumber.git
synced 2025-12-20 15:50:03 +01:00
README.md: add instructions on building and running
This commit is contained in:
parent
75d2aef0c1
commit
06e100a38e
1 changed files with 97 additions and 0 deletions
97
README.md
97
README.md
|
|
@ -2,3 +2,100 @@
|
||||||
|
|
||||||
WirePlumber is a session / policy manager implementation for
|
WirePlumber is a session / policy manager implementation for
|
||||||
[PipeWire](https://pipewire.org).
|
[PipeWire](https://pipewire.org).
|
||||||
|
|
||||||
|
# Compiling and Running
|
||||||
|
|
||||||
|
## Dependencies
|
||||||
|
|
||||||
|
In order to compile WirePlumber you will need:
|
||||||
|
|
||||||
|
* GLib >= 2.58
|
||||||
|
* PipeWire 0.3 (master)
|
||||||
|
|
||||||
|
At the moment, due to heavy development of both PipeWire and WirePlumber,
|
||||||
|
it is not always the case that the latest master of WirePlumber works with the
|
||||||
|
latest master of PipeWire. The safest PipeWire branch to use with WirePlumber
|
||||||
|
master is the `agl-next` branch from
|
||||||
|
[my personal clone](https://gitlab.freedesktop.org/gkiagia/pipewire)
|
||||||
|
|
||||||
|
## Compilation
|
||||||
|
|
||||||
|
WirePlumber uses the meson build system. For compatibility and ease of use,
|
||||||
|
though, a Makefile is also provided. The Makefile works only after the initial
|
||||||
|
configuration of the project with meson.
|
||||||
|
|
||||||
|
Here is the very basic sequence of compiling for the first time:
|
||||||
|
```
|
||||||
|
$ meson build
|
||||||
|
$ make
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running automated tests
|
||||||
|
|
||||||
|
WirePlumber has a few automated tests that you can easily run with:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ make test
|
||||||
|
```
|
||||||
|
|
||||||
|
## Running
|
||||||
|
|
||||||
|
1. First of all, you will need to run PipeWire. PipeWire itself comes with
|
||||||
|
an example session manager that you will need to disable in order to run
|
||||||
|
WirePlumber. This can be achieved by editing `src/daemon/pipewire.conf.in`
|
||||||
|
on the PipeWire git tree to disable the execution of the session manager:
|
||||||
|
|
||||||
|
```
|
||||||
|
diff --git a/src/daemon/pipewire.conf.in b/src/daemon/pipewire.conf.in
|
||||||
|
index bf64c574..e733e76c 100644
|
||||||
|
--- a/src/daemon/pipewire.conf.in
|
||||||
|
+++ b/src/daemon/pipewire.conf.in
|
||||||
|
@@ -24,4 +24,4 @@ load-module libpipewire-module-access
|
||||||
|
load-module libpipewire-module-adapter
|
||||||
|
load-module libpipewire-module-link-factory
|
||||||
|
load-module libpipewire-module-session-manager
|
||||||
|
-exec build/src/examples/media-session
|
||||||
|
+#exec build/src/examples/media-session
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Second, you will need to run pipewire: in the **pipewire** source tree, do `make run`
|
||||||
|
|
||||||
|
3. Without stopping pipewire, in the **wireplumber** source tree, do `make run`
|
||||||
|
|
||||||
|
## Testing with an audio client
|
||||||
|
|
||||||
|
The easiest way to test that things are working is to start a gstreamer pipeline
|
||||||
|
that outputs a test sound to pipewire.
|
||||||
|
|
||||||
|
In the **pipewire** source tree, do:
|
||||||
|
|
||||||
|
```
|
||||||
|
$ make shell
|
||||||
|
$ gst-launch-1.0 audiotestsrc ! pwaudiosink
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that `pwaudiosink` is currently only available in the `agl-next` branch.
|
||||||
|
|
||||||
|
## Debugging
|
||||||
|
|
||||||
|
The Makefile included with WirePlumber also supports the `gdb` and `valgrind`
|
||||||
|
targets. So, instead of `make run` you can do `make gdb` or `make valgrind`
|
||||||
|
to do some debugging.
|
||||||
|
|
||||||
|
Getting debug messages on the command line is a matter of setting the
|
||||||
|
`G_MESSAGES_DEBUG` environment variable as documented in the GLib documentation.
|
||||||
|
Usually you can just do:
|
||||||
|
|
||||||
|
```
|
||||||
|
G_MESSAGES_DEBUG=all make run
|
||||||
|
```
|
||||||
|
|
||||||
|
Note that this only gives out WirePlumber's debug messages. If you want to also
|
||||||
|
see *libpipewire*'s debug messages, then you can also set:
|
||||||
|
|
||||||
|
```
|
||||||
|
PIPEWIRE_DEBUG=4 G_MESSAGES_DEBUG=all make run
|
||||||
|
```
|
||||||
|
|
||||||
|
... where `PIPEWIRE_DEBUG` can be set to a value between 1 and 5, with 5 being the
|
||||||
|
most verbose and 1 the least verbose.
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue