replace wireplumber as user daemon
This commit is contained in:
1 parent
597cf65d79
commit
226c90fca7
3 files changed
+25
-15
No files matched your search
@@ -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
|
||||
|
||||
@@ -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
|
||||
@@ -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/
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user