chore: Update steamdeck-dsp

This commit is contained in:
Kyle Gospodnetich 2024-04-18 23:36:15 -07:00
parent e036e1cff3
commit 9535b6d69f
5 changed files with 154 additions and 41 deletions

View File

@ -731,9 +731,11 @@ RUN curl -Lo /tmp/image-info.sh https://raw.githubusercontent.com/ublue-os/bazzi
systemctl disable gdm.service && \
systemctl enable sddm.service \
; fi && \
systemctl enable wireplumber-workaround.service && \
systemctl enable bazzite-autologin.service && \
systemctl enable wireplumber-workaround.service && \
systemctl enable wireplumber-sysconf.service && \
systemctl enable pipewire-workaround.service && \
systemctl enable pipewire-sysconf.service && \
systemctl enable btrfs-dedup@run-media-mmcblk0p1.timer && \
systemctl enable ds-inhibit.service && \
systemctl enable cec-onboot.service && \

View File

@ -1,13 +1,77 @@
diff --git a/pipewire-confs/hardware-profiles/pipewire-hwconfig b/pipewire-confs/hardware-profiles/pipewire-hwconfig
index ac7adb6..d46bb14 100755
--- a/pipewire-confs/hardware-profiles/pipewire-hwconfig
+++ b/pipewire-confs/hardware-profiles/pipewire-hwconfig
@@ -51,40 +51,24 @@ dmi_info ()
install_hwprofile ()
{
local -r prpath="$1"
- local -r runconf=/run/pipewire
+ local -r confdir=/usr/share/pipewire
local confd
local cffile
- echo "Installing pipewire hardware profile from '$prpath' in $runconf"
-
- rm -rf $runconf
+ echo "Installing pipewire hardware profile from '$prpath' in $confdir"
for confd in "${confdirs[@]}"
do
if [ -d "$prpath"/"$confd" ]
then
- mkdir -p $runconf/"$confd"
+ mkdir -p $confdir/"$confd"
for cffile in "$prpath"/"$confd"/*.conf
do
- [ -f "$cffile" ] && cp -av "$cffile" $runconf/"$confd"
+ [ -f "$cffile" ] && /usr/bin/cp -avf "$cffile" $confdir/"$confd"
done
fi
done
-
- cat - <<EOF > $runconf/README
-This configuration was:
-
- - installed in $runconf
- - by $0
- - from $prpath
-
-It will be regenerated every time the system restarts.
-
-To alter it permanently either:
- - edit $prpath
- - override in \$XDG_CONFIG_HOME/pipewire/
-EOF
}
unidentified ()
diff --git a/pipewire-confs/systemd/system/pipewire-sysconf.service b/pipewire-confs/systemd/system/pipewire-sysconf.service
index abc1f5d..6678964 100644
--- a/pipewire-confs/systemd/system/pipewire-sysconf.service
+++ b/pipewire-confs/systemd/system/pipewire-sysconf.service
@@ -11,7 +11,7 @@
Description=Hardware Specific Pipewire Configuration
After=multi-user.target
Requisite=multi-user.target
-ConditionPathIsDirectory=/run
+Requires=pipewire-workaround.service
Before=shutdown.target
[Service]
diff --git a/wireplumber/hardware-profiles/wireplumber-hwconfig b/wireplumber/hardware-profiles/wireplumber-hwconfig
index 3f03354..1e43489 100755
--- a/wireplumber/hardware-profiles/wireplumber-hwconfig
+++ b/wireplumber/hardware-profiles/wireplumber-hwconfig
@@ -45,39 +45,23 @@
@@ -46,49 +46,33 @@ dmi_info ()
install_hwprofile ()
{
local -r prpath="$1"
- local -r runconf=/run/wireplumber
+ local -r confdir=/usr/share/wireplumber
local confd
local conffile
local cffile
- echo "Installing wireplumber hardware profile from '$prpath' in $runconf"
-
@ -20,11 +84,22 @@
then
- mkdir -p $runconf/"$confd"
+ mkdir -p $confdir/"$confd"
for conffile in "$prpath"/"$confd"/*.lua
do
- cp -av $conffile $runconf/"$confd"
+ /usr/bin/cp -avf $conffile $confdir/"$confd"
done
case $confd in
*.lua.d)
for cffile in "$prpath"/"$confd"/*.lua
do
- [ -f "$cffile" ] && cp -av "$cffile" $runconf/"$confd"
+ [ -f "$cffile" ] && /usr/bin/cp -avf "$cffile" $confdir/"$confd"
done
;;
*.conf.d)
for cffile in "$prpath"/"$confd"/*.conf
do
- [ -f "$cffile" ] && cp -av "$cffile" $runconf/"$confd"
+ [ -f "$cffile" ] && /usr/bin/cp -avf "$cffile" $confdir/"$confd"
done
;;
esac
fi
done
-
@ -44,6 +119,8 @@
}
unidentified ()
diff --git a/wireplumber/systemd/system/wireplumber-sysconf.service b/wireplumber/systemd/system/wireplumber-sysconf.service
index 0e3f481..63595c3 100644
--- a/wireplumber/systemd/system/wireplumber-sysconf.service
+++ b/wireplumber/systemd/system/wireplumber-sysconf.service
@@ -11,7 +11,7 @@

View File

@ -1,7 +1,30 @@
diff --git a/pipewire-confs/filter-chain-mic.conf b/pipewire-confs/filter-chain-mic.conf
index 0b9fcac..0859402 100644
--- a/pipewire-confs/filter-chain-mic.conf
+++ b/pipewire-confs/filter-chain-mic.conf
diff --git a/pipewire-confs/hardware-profiles/pipewire-hwconfig b/pipewire-confs/hardware-profiles/pipewire-hwconfig
index 11c8bd2..ac7adb6 100755
--- a/pipewire-confs/hardware-profiles/pipewire-hwconfig
+++ b/pipewire-confs/hardware-profiles/pipewire-hwconfig
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
set -eu
diff --git a/pipewire-confs/hardware-profiles/valve-galileo/pipewire.conf.d/filter-chain.conf b/pipewire-confs/hardware-profiles/valve-galileo/pipewire.conf.d/filter-chain.conf
index 9246254..51cc545 100644
--- a/pipewire-confs/hardware-profiles/valve-galileo/pipewire.conf.d/filter-chain.conf
+++ b/pipewire-confs/hardware-profiles/valve-galileo/pipewire.conf.d/filter-chain.conf
@@ -14,7 +14,7 @@ context.modules = [
{
type = ladspa
name = rnnoise
- plugin = /usr/lib/ladspa/librnnoise_ladspa.so
+ plugin = /usr/lib64/ladspa/librnnoise_ladspa.so
label = noise_suppressor_stereo
control = {
"VAD Threshold (%)" = 23.0
diff --git a/pipewire-confs/hardware-profiles/valve-jupiter/pipewire.conf.d/filter-chain.conf b/pipewire-confs/hardware-profiles/valve-jupiter/pipewire.conf.d/filter-chain.conf
index b64aa42..c9b611d 100644
--- a/pipewire-confs/hardware-profiles/valve-jupiter/pipewire.conf.d/filter-chain.conf
+++ b/pipewire-confs/hardware-profiles/valve-jupiter/pipewire.conf.d/filter-chain.conf
@@ -14,7 +14,7 @@ context.modules = [
{
type = ladspa
@ -31,37 +54,26 @@ index 591514a..6678045 100755
+cp -r bin/lv2/g++/valve_deck_microphone.lv2 $LIB_DIR/lv2/valve_deck_microphone.dsp
+cp -r bin/svg $LIB_DIR/lv2/svg
+cp version.txt $LIB_DIR/lv2/valve_audio_dsp_version.txt
diff --git a/ucm2/conf.d/sof-nau8821-max/HiFi.conf b/ucm2/conf.d/sof-nau8821-max/HiFi.conf
index 48412ee..f0c5b82 100644
--- a/ucm2/conf.d/sof-nau8821-max/HiFi.conf
+++ b/ucm2/conf.d/sof-nau8821-max/HiFi.conf
@@ -32,7 +32,7 @@ SectionDevice."Headphones".0 {
Value {
PlaybackPriority 200
PlaybackPCM "hw:${CardId},0"
- JackControl "Headset Jack"
+ JackControl "Headphone Jack"
}
ConflictingDevice [
]
@@ -89,7 +89,7 @@ SectionDevice."Headset" {
Value {
CapturePriority 300
CapturePCM "hw:${CardId},0"
- JackControl "Headset Jack"
+ JackControl "Headset Mic Jack"
}
ConflictingDevice [
]
diff -Naur a/wireplumber/systemd/system/wireplumber-sysconf.service b/wireplumber/systemd/system/wireplumber-sysconf.service
diff --git a/wireplumber/hardware-profiles/wireplumber-hwconfig b/wireplumber/hardware-profiles/wireplumber-hwconfig
index 842edb2..3f03354 100755
--- a/wireplumber/hardware-profiles/wireplumber-hwconfig
+++ b/wireplumber/hardware-profiles/wireplumber-hwconfig
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/bash
set -eu
diff --git a/wireplumber/systemd/system/wireplumber-sysconf.service b/wireplumber/systemd/system/wireplumber-sysconf.service
index 4ba3ad6..0e3f481 100644
--- a/wireplumber/systemd/system/wireplumber-sysconf.service
+++ b/wireplumber/systemd/system/wireplumber-sysconf.service
@@ -17,7 +17,7 @@
@@ -17,7 +17,7 @@ Before=shutdown.target
[Service]
Type=oneshot
RemainAfterExit=yes
-ExecStart=/usr/share/wireplumber/hardware-profiles/wireplumber-hwconfig
+ExecStart=/usr/libexec/wireplumber-hwconfig
+ExecStart=/usr/libexec/hwsupport/wireplumber-hwconfig
[Install]
WantedBy=multi-user.target

View File

@ -43,24 +43,29 @@ xz --check=crc32 %{buildroot}%{_prefix}/lib/firmware/amd/sof/*
xz --check=crc32 %{buildroot}%{_prefix}/lib/firmware/amd/sof-tplg/*
rm -f %{buildroot}%{_unitdir}/multi-user.target.wants/wireplumber-sysconf.service
rm -f %{buildroot}%{_sysconfdir}/wireplumber
mkdir -p %{buildroot}%{_libexecdir}
mv %{buildroot}%{_datadir}/wireplumber/hardware-profiles/wireplumber-hwconfig %{buildroot}%{_libexecdir}/wireplumber-hwconfig
rm -f %{buildroot}%{_unitdir}/multi-user.target.wants/pipewire-sysconf.service
rm -f %{buildroot}%{_sysconfdir}/pipewire
mkdir -p %{buildroot}%{_libexecdir}/hwsupport
mv %{buildroot}%{_datadir}/wireplumber/hardware-profiles/wireplumber-hwconfig %{buildroot}%{_libexecdir}/hwsupport/wireplumber-hwconfig
mv %{buildroot}%{_datadir}/pipewire/hardware-profiles/pipewire-hwconfig %{buildroot}%{_libexecdir}/hwsupport/pipewire-hwconfig
# This lists all the files that are included in the rpm package and that
# are going to be installed into target system where the rpm is installed.
%files
%license LICENSE
%{_prefix}/lib/firmware/amd/*
%{_libexecdir}/wireplumber-hwconfig
%{_libexecdir}/hwsupport/wireplumber-hwconfig
%{_libexecdir}/hwsupport/pipewire-hwconfig
%{_libdir}/lv2/svg/valve_deck_*
%{_libdir}/lv2/valve_*
%{_datadir}/alsa/ucm2/conf.d/acp5x/*.conf
%{_datadir}/alsa/ucm2/conf.d/sof-nau8821-max/*.conf
%{_datadir}/pipewire/pipewire.conf.d/*.conf
%{_datadir}/wireplumber/hardware-profiles/*
%{_datadir}/wireplumber/main.lua.d/*.lua
%{_datadir}/wireplumber/scripts/*.lua
%{_unitdir}/wireplumber-sysconf.service
%{_datadir}/pipewire/hardware-profiles/*
%{_unitdir}/pipewire-sysconf.service
%post
%systemd_post wireplumber-sysconf.service

View File

@ -0,0 +1,17 @@
[Unit]
Description=Workaround pipewire needing to be written into by steamdeck-dsp
ConditionPathExists=/usr/share/pipewire
After=local-fs.target
[Service]
Type=oneshot
# Copy if it doesn't exist
ExecStartPre=/usr/bin/bash -c "[ -d /usr/local/share/.pipewire ] || /usr/bin/cp -r /usr/share/pipewire /usr/local/share/.pipewire"
ExecStart=/usr/bin/mount --bind /usr/local/share/.pipewire /usr/share/pipewire
# Clean-up after ourselves
ExecStop=/usr/bin/umount /usr/share/pipewire
ExecStop=/usr/bin/rm -r /usr/local/share/.pipewire
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target