diff --git a/media/video/pipewire/pipewire-launcher.sh b/media/video/pipewire/pipewire-launcher.sh index fa2ea9bc..95d1ab67 100644 --- a/media/video/pipewire/pipewire-launcher.sh +++ b/media/video/pipewire/pipewire-launcher.sh @@ -6,22 +6,21 @@ umask 002 # We need to kill any existing pipewire instance to restore sound pkill -u "${USER}" -fx /usr/bin/pipewire-pulse 1>/dev/null 2>&1 -pkill -u "${USER}" -fx /usr/bin/pipewire-media-session 1>/dev/null 2>&1 -pkill -u "${USER}" -fx /usr/bin/wireplumber 1>/dev/null 2>&1 pkill -u "${USER}" -fx /usr/bin/pipewire 1>/dev/null 2>&1 -exec /usr/bin/pipewire & +dbus='' +if [ -f /usr/bin/dbus-run-session ] ; then + dbus='/usr/bin/dbus-run-session' +fi + + +exec $dbus /usr/bin/pipewire & # wait for pipewire to start before attempting to start related daemons while [ "$(pgrep -f /usr/bin/pipewire)" = "" ]; do sleep 1 done -if [ -x /usr/bin/wireplumber ]; then - exec /usr/bin/wireplumber & -elif [ -x /usr/bin/pipewire-media-session ]; then - exec /usr/bin/pipewire-media-session & -fi # wait until start pipewire while ! [ -e /run/pipewire/pipewire-0 ] ; do sleep 1 @@ -29,11 +28,7 @@ done chgrp audio -R /run/pipewire/ # start pipewire-pulse if [ -f "/usr/share/pipewire/pipewire-pulse.conf" ] ; then - dbus='' - if [ -f /usr/bin/dbus-run-session ] ; then - dbus='/usr/bin/dbus-run-session' - fi - exec $dus /usr/bin/pipewire-pulse & + exec $dbus /usr/bin/pipewire-pulse & # wait until start pipewire-pulse while ! [ -e /run/pipewire/pulse/native ] ; do sleep 1 diff --git a/media/video/wireplumber/wireplumber.desktop b/media/video/wireplumber/wireplumber.desktop new file mode 100644 index 00000000..08fd58af --- /dev/null +++ b/media/video/wireplumber/wireplumber.desktop @@ -0,0 +1,10 @@ +[Desktop Entry] +Version=1.0 +Name=Wireplumber +Comment=Start Wireplumber +Exec=/usr/bin/wireplumber +Terminal=false +Type=Application +X-KDE-autostart-phase=1 +X-GNOME-HiddenUnderSystemd=true +X-systemd-skip=true diff --git a/media/video/wireplumber/ympbuild b/media/video/wireplumber/ympbuild index 6389d956..eebfdf15 100644 --- a/media/video/wireplumber/ympbuild +++ b/media/video/wireplumber/ympbuild @@ -7,10 +7,12 @@ description='Session / policy manager implementation for PipeWire' email='bayramk@gmail.com' maintainer='bk' license=('GPLv3') -source=("https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/$name-$version.tar.gz") +source=("https://gitlab.freedesktop.org/pipewire/wireplumber/-/archive/$version/$name-$version.tar.gz" + "wireplumber.desktop") depends=(pipewire) makedepends=() -sha256sums=('ce7b7217d880bed1438e408ea412716a259cb46b09f597bfd652a577dc60185c') +sha256sums=('ce7b7217d880bed1438e408ea412716a259cb46b09f597bfd652a577dc60185c' + 'SKIP') group=(media.video) uses=() arch=('x86_64') @@ -36,5 +38,8 @@ build(){ package(){ ninja -C build install + # install autostart file + mkdir -p $DESTDIR/etc/xdg/autostart + install ../wireplumber.desktop $DESTDIR/etc/xdg/autostart/ }