ports/contrib (3.6): [notify] pipewire: 0.3.38 -> 0.3.39; breaking changes inside! look at README.md before updating this port
commit cadf20560b8c818952d2c5d367ec5889fd011754 Author: Tim Biermann <tbier@posteo.de> Date: Thu Oct 21 17:26:38 2021 +0200 [notify] pipewire: 0.3.38 -> 0.3.39; breaking changes inside! look at README.md before updating this port diff --git a/pipewire/.footprint b/pipewire/.footprint index e81694289..45c726672 100644 --- a/pipewire/.footprint +++ b/pipewire/.footprint @@ -10,7 +10,6 @@ drwxr-xr-x root/root lib/udev/rules.d/ drwxr-xr-x root/root usr/ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/pipewire --rwxr-xr-x root/root usr/bin/pipewire-media-session -rwxr-xr-x root/root usr/bin/pipewire-pulse -rwxr-xr-x root/root usr/bin/pw-cli -rwxr-xr-x root/root usr/bin/pw-dot @@ -23,6 +22,7 @@ drwxr-xr-x root/root usr/bin/ -rwxr-xr-x root/root usr/bin/pw-profiler -rwxr-xr-x root/root usr/bin/pw-reserve -rwxr-xr-x root/root usr/bin/pw-top +-rwxr-xr-x root/root usr/bin/pw-v4l2 -rwxr-xr-x root/root usr/bin/spa-acp-tool -rwxr-xr-x root/root usr/bin/spa-inspect -rwxr-xr-x root/root usr/bin/spa-json-dump @@ -189,8 +189,8 @@ drwxr-xr-x root/root usr/lib/alsa-lib/ -rwxr-xr-x root/root usr/lib/alsa-lib/libasound_module_ctl_pipewire.so -rwxr-xr-x root/root usr/lib/alsa-lib/libasound_module_pcm_pipewire.so lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so -> libpipewire-0.3.so.0 -lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so.0 -> libpipewire-0.3.so.0.338.0 --rwxr-xr-x root/root usr/lib/libpipewire-0.3.so.0.338.0 +lrwxrwxrwx root/root usr/lib/libpipewire-0.3.so.0 -> libpipewire-0.3.so.0.339.0 +-rwxr-xr-x root/root usr/lib/libpipewire-0.3.so.0.339.0 drwxr-xr-x root/root usr/lib/pipewire-0.3/ -rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-access.so -rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-adapter.so @@ -213,6 +213,8 @@ drwxr-xr-x root/root usr/lib/pipewire-0.3/ -rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-spa-device.so -rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-spa-node-factory.so -rwxr-xr-x root/root usr/lib/pipewire-0.3/libpipewire-module-spa-node.so +drwxr-xr-x root/root usr/lib/pipewire-0.3/v4l2/ +-rwxr-xr-x root/root usr/lib/pipewire-0.3/v4l2/libpw-v4l2.so drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/libpipewire-0.3.pc -rw-r--r-- root/root usr/lib/pkgconfig/libspa-0.2.pc @@ -327,12 +329,6 @@ drwxr-xr-x root/root usr/share/pipewire/filter-chain/ -rw-r--r-- root/root usr/share/pipewire/filter-chain/source-rnnoise.conf -rw-r--r-- root/root usr/share/pipewire/jack.conf drwxr-xr-x root/root usr/share/pipewire/media-session.d/ --rw-r--r-- root/root usr/share/pipewire/media-session.d/alsa-monitor.conf --rw-r--r-- root/root usr/share/pipewire/media-session.d/bluez-monitor.conf --rw-r--r-- root/root usr/share/pipewire/media-session.d/media-session.conf --rw-r--r-- root/root usr/share/pipewire/media-session.d/v4l2-monitor.conf -rw-r--r-- root/root usr/share/pipewire/media-session.d/with-alsa (EMPTY) --rw-r--r-- root/root usr/share/pipewire/media-session.d/with-jack (EMPTY) --rw-r--r-- root/root usr/share/pipewire/media-session.d/with-pulseaudio (EMPTY) -rw-r--r-- root/root usr/share/pipewire/pipewire-pulse.conf -rw-r--r-- root/root usr/share/pipewire/pipewire.conf diff --git a/pipewire/.signature b/pipewire/.signature index e91d14ff2..835f88cad 100644 --- a/pipewire/.signature +++ b/pipewire/.signature @@ -1,5 +1,5 @@ untrusted comment: verify with /etc/ports/contrib.pub -RWSagIOpLGJF3yZDCcUfLG1MlpG2YOK8yT8bftHlzv2sXNYHcgzI+rqiJr8JxMAvZ6OEJfl4hb+EEwnImqTUf+RNWYPWvB8+MgE= -SHA256 (Pkgfile) = 58710e1afb787aabd5569ccb4adf0673f477ba5c86bd74ab3a1ed0dcec61fff4 -SHA256 (.footprint) = 2341235a056e1074b13b0b41c4926d800b276c6749246f12bb39e220c48577da -SHA256 (pipewire-0.3.38.tar.gz) = 2a2424cea5bfdca88503fd8616fff891aa8355e850cab19e875050fe60c35ce7 +RWSagIOpLGJF36wz+VZpffOsPuHBtwnMQPd7GyLHHAngiLUQ02LvMlycnnZjujJ9cZHvkk2EwkfBhEn//iL2sB+ujewN71Jrtw4= +SHA256 (Pkgfile) = ec89bd0191c08cb937bcab8733ebe70d7137e8cb162608908f140c26241319c5 +SHA256 (.footprint) = 68d0f37ef1bcdcf1c61aec4711cde2b9f26618844c5de725f2b09d85ffb0de2d +SHA256 (pipewire-0.3.39.tar.gz) = 2112173c7d5e89b28ec289a25d30f2be5340e2ca6d104511d176324ffd0f968a diff --git a/pipewire/Pkgfile b/pipewire/Pkgfile index 769655bfa..52bc48e3b 100644 --- a/pipewire/Pkgfile +++ b/pipewire/Pkgfile @@ -2,29 +2,30 @@ # URL: https://pipewire.org # Maintainer: Tim Biermann, tbier at posteo dot de # Depends on: alsa-utils dbus fdk-aac ffmpeg glib lame libva libvpx libwebp x264 x265 -# Optional: alsa-ucm-conf bluez gst-plugins-base jack libldac pulseaudio rtkit v4l2 vulkan-loader wireplumber +# Optional: alsa-ucm-conf avahi bluez gst-plugins-base jack libldac pulseaudio rtkit v4l2 vulkan-loader wireplumber name=pipewire -version=0.3.38 +version=0.3.39 release=1 source=(https://github.com/PipeWire/pipewire/archive/$version/$name-$version.tar.gz) build() { + prt-get isinst avahi || PKGMK_PW+=' -Davahi=disabled' prt-get isinst bluez || PKGMK_PW+=' -Dbluez5=disabled' prt-get isinst gst-plugins-base || PKGMK_PW+=' -Dgstreamer=disabled' prt-get isinst jack || PKGMK_PW+=' -Dpipewire-jack=disabled -Djack=disabled' - prt-get isinst pulseaudio || PKGMK_PW+=' -Dpipewire-pulseaudio=disabled' + prt-get isinst pulseaudio || PKGMK_PW+=' -Dlibpulse=disabled' prt-get isinst v4l-utils || PKGMK_PW+=' -Dv4l2=disabled' - prt-get isinst vulkan-loader || PKGMK_PW+=' -Dpipewire-vulkan=disabled -Dvulkan=disabled' + prt-get isinst vulkan-loader || PKGMK_PW+=' -Dvulkan=disabled -Dvulkan=disabled' meson setup $name-$version build $PKGMK_PW \ -D prefix=/usr \ --buildtype=plain \ - --wrap-mode=nodownload \ -D b_lto=true \ -D b_pie=true \ -D docs=disabled \ - -D tests=disabled + -D tests=disabled \ + -D session-managers="" # will remove executable pipewire-media-session # -D examples=false \ diff --git a/pipewire/README.md b/pipewire/README.md index 6daa9c232..5f6477522 100644 --- a/pipewire/README.md +++ b/pipewire/README.md @@ -1,9 +1,15 @@ contrib/pipewire how to ==================== -Consider reading online [CRUX wiki](https://crux.nu/Wiki/Pipewire) +## Breaking changes -# Intro +Since pipewire 0.3.39, the default „example“ session manager was outsourced to be it's own subproject. +Right now, you have two choices: the example `media-session` or `wireplumber`. +This port does not decide for you, instead it builds with none and you are free to choose yours. + +Note that you **need to choose**. Without a session manager, your audio and video setup **will stop working**! + +## Intro `pipewire` is a modern multimedia server. Quoting gentoo wiki, it's strenghts are:
- Minimal latency capture/playback of audio and video - Real-time multimedia processing @@ -15,12 +21,13 @@ Getting `pipewire` to run is relatively easy on `CRUX`. This is a simple guide a
This might also be considered a WIP entry. You can help by sharing your experiences and thoughts. -# Prerequisites +## Prerequisites - working kernel with alsa audio - `opt/alsa-utils` will be installed by default as a dependency and needs to be configured by the user - currently, pipewires default config makes use of `opt/alsa-ucm-conf`, consider installing that alongside the default dependency `opt/alsa-utils` + - pipewire requires a session-manager to run to operate correctly. You can choose between `contrib/media-session` and `contrib/wireplumber` freely. -## Optional prerequisites +### Optional prerequisites - pipewire needs pulseaudio to be built with xorg-libxtst around to have the pulseaudio portal available - `prt-get depinst xorg-libxtst && prt-get update -fr pulseaudio` - `contrib/rtkit` and a realtime compatible kernel to help with latency, add your user to `rtkit group` to be able to make use of it @@ -30,7 +37,7 @@ This might also be considered a WIP entry. You can help by sharing your experien - [linuxaudio.org wiki](https://wiki.linuxaudio.org/wiki/system_configuration#the_kernel) - please look at `contrib/pipewire/Pkgfile` for further optional dependencies listed and rebuild the package after installing new optional dependencies -# Running pipewire +## Running pipewire `pipewire` will always leverage `alsa`, so you should configure that first. Use `alsactl store` to store those settings, and configure `/etc/rc.conf` to start `/etc/rc.d/alsa` by default. While you are in `rc.conf`, make sure you start `/etc/rc.d/dbus` too, if you haven't already. Resources: @@ -38,10 +45,12 @@ Resources: - [Gentoo wiki](https://wiki.gentoo.org/wiki/ALSA) - [Arch wiki](https://wiki.archlinux.org/index.php/Advanced_Linux_Sound_Architecture) -Currently, pipewires default config format might always change, so it is advised to keep an eye on `rejmerge` to keep your configs updated. -The default config can be modified in directly `/etc/pipewire`. The configuration of `/etc/pipewire` can be copied over to `$XDG_CONFIG_HOME/pipewire`, which should most likely point you to `$HOME/config/pipewire`. +Currently, pipewires default config format might always change, so it is advised to keep an eye on `rejmerge` to keep your configs updated. +The default config can be copied from `/usr/share/pipewire` to `/etc/pipewire` to be modified. The configuration of `/etc/pipewire` can be copied over to `$XDG_CONFIG_HOME/pipewire`, which should most likely point you to `$HOME/config/pipewire`. There you will need to enable a session manager and optionally enable pulseaudio support for example. -Normally, you wouldn't need to change anything to run `pipewire` as an a/v-server, so in the simplest setup it should suffice to run `/usr/bin/pipewire` from a users shell or script (for example I have this in my `i3` config: `exec "/usr/bin/pipewire"`), just make sure that whatever session you are running will be executed as a `dbus-user-session` too (for example from my `~/.xinitrc`: `exec dbus-run-session -- i3`) +With your configuration in place you need to run `/usr/bin/pipewire` from a users shell or script (for example I have this in my `i3` config: `exec "/usr/bin/pipewire"`), just make sure that whatever session you are running will be executed as a `dbus-user-session` too (for example from my `~/.xinitrc`: `exec dbus-run-session -- i3`). + +You can verify your running pipewire session by examining the output of `pw-dump`. ## Running pipewire-pulse as a pulseaudio-server If you are a `pulseaudio`-user, make sure it won't autostart with your session. For `pipewire` to handle `pulse-clients`, you will need to run `/usr/bin/pipewire-pulse` as well. Verify that it is working with `pactl info` which should now report: `Server Name: PulseAudio (on PipeWire 0.3.22)`. Now you can use tools like `contrib/pavucontrol` or `contrib/ncpamixer` to control your typical sources and sink settings, ports like `opt/firefox-bin` and whatever else uses `pulseaudio` should work ootb for you too. @@ -60,11 +69,15 @@ To help configuring, consider reading through the following resources alongside - [Gentoo wiki](https://wiki.gentoo.org/wiki/PipeWire) # tl;dr -> "I don't have any time to read up on stuff myself, tell me what I need to do right now to get this hot mess!" -some user +> „I don't have any time to read up on stuff myself, tell me what I need to do right now to get this hot mess!“ -some user + + - optional: `prt-get depinst xorg-libxtst pulseaudio` et al, see Pkgfile - install `prt-get depinst pipewire` - - optional: `prt-get depinst xorg-libxtst pulseaudio` et al - - execute while executing your X11/Wayland-Session: `/usr/bin/pipewire` + - install a session manager, you don't need both! + - `prt-get depinst media-session` or `prt-get depinst wireplumber` + - make changes to your config per usual + - execute while starting your X11/Wayland-Session: `/usr/bin/pipewire` - optional: execute in addition to have pulseaudio-server support: `/usr/bin/pipewire-pulse` -// vim:filetype=markdown +// vim:filetype=markdow // End of file
participants (1)
-
crux@crux.nu