run pipewire as system service & remove libpulse daemons

This commit is contained in:
sulincix committed 2024-09-29 18:51:09 +00:00
1 parent 4c2c5a8bcb
commit 597cf65d79
5 files changed
+64 -21

No files matched your search

+4
View File
@@ -32,5 +32,9 @@ build(){
package(){
ninja -C build install
# remove pulseaudio service and binaries (We uses pipewire-pulse)
rm -f $DESTDIR/usr/bin/start-pulseaudio-x11
rm -f $DESTDIR/usr/bin/pulseaudio
rm -rf $DESTDIR/etc/xdg
}
+25 -8
View File
@@ -1,9 +1,8 @@
#!/bin/sh
# we must exit if cinnamon desktop detected
if [ "$XDG_CURRENT_DESKTOP" == "X-Cinnamon" ]; then
exit 0
fi
#!/bin/bash
export PIPEWIRE_RUNTIME_DIR=/run/pipewire
export XDG_RUNTIME_DIR=/run/pipewire
export PULSE_RUNTIME_PATH=/run/pipewire/pulse
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
@@ -23,5 +22,23 @@ if [ -x /usr/bin/wireplumber ]; then
elif [ -x /usr/bin/pipewire-media-session ]; then
exec /usr/bin/pipewire-media-session &
fi
[ -f "/usr/share/pipewire/pipewire-pulse.conf" ] && exec /usr/bin/pipewire-pulse &
# wait until start pipewire
while ! [ -e /run/pipewire/pipewire-0 ] ; do
sleep 1
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 &
# wait until start pipewire-pulse
while ! [ -e /run/pipewire/pulse/native ] ; do
sleep 1
done
chgrp audio -R /run/pipewire/pulse
chmod 775 /run/pipewire/pulse
fi
wait
-8
View File
@@ -1,8 +0,0 @@
[Desktop Entry]
Version=1.0
Name=Pipewire
Comment=Start Pipewire
Exec=/usr/libexec/pipewire-launcher
Terminal=false
Type=Application
X-KDE-autostart-phase=1
+22
View File
@@ -0,0 +1,22 @@
#!/sbin/openrc-run
name="pipewire"
description="PipeWire multimedia server"
pidfile="/run/${name}.pid"
command="/usr/libexec/pipewire-launcher"
command_background=true
supervisor=supervise-daemon
command_user="pipewire:audio"
user="audio"
group="audio"
depend() {
need dbus
}
start_pre() {
checkpath --directory --mode 0755 --owner=pipewire:audio /run/${name}
}
+13 -5
View File
@@ -8,7 +8,7 @@ email='bayramk@gmail.com'
maintainer='bk'
license=('GPLv3')
source=("https://gitlab.freedesktop.org/pipewire/pipewire/-/archive/$version/pipewire-$version.tar.gz"
"pipewire.desktop"
"pipewire.initd"
"pipewire-launcher.sh")
depends=(lilv libpulse alsa-lib dbus)
makedepends=()
@@ -45,10 +45,18 @@ build(){
package(){
ninja -C build install
mkdir -p ${DESTDIR}/usr/libexec ${DESTDIR}/etc/xdg/autostart/
# pipewire launcher from alpine linux
mkdir -p ${DESTDIR}/usr/libexec \
${DESTDIR}/etc/init.d \
${DESTDIR}/etc/profile.d \
${DESTDIR}/etc/passwd.d
# pipewire launcher from alpine linux (with same modifications)
install ../pipewire-launcher.sh ${DESTDIR}/usr/libexec/pipewire-launcher
install ../pipewire.desktop ${DESTDIR}/etc/xdg/autostart/
# pipewire system service
install ../pipewire.initd ${DESTDIR}/etc/init.d/pipewire
# environment variable
echo "export PIPEWIRE_RUNTOME_DIR=/run/pipewire" > ${DESTDIR}/etc/profile.d/pipewire.sh
echo "export PULSE_SERVER=unix:/run/pipewire/pulse/native" >> ${DESTDIR}/etc/profile.d/pipewire.sh
# pipewire user (uid same with audio group)
echo "pipewire:x:29:29::/run/pipewire:/bin/false" > "$DESTDIR"/etc/passwd.d/pipewire
}