Currently, this patch does nothing because pipewire is a hard dependancy of sxmo. Im posting this patch for feedback. Do we want to we want to move pipewire to _pmb_recommends so that it's installed by default but can be uninstalled by the user for pulseaudio? Is there a better way to solve this? v2 of vitali64's patch: https://lists.sr.ht/~mil/sxmo-devel/%3C0JYiwHI0go3eGvKgdShjn-tzqbhxetYnNs6koDZgDnd7LpGykuemurfyyPUK3DgbILPWcxmehB6_ctjEZQZUQVav4npdnUbErFr9fVW43IY%3D%40protonmail.com%3E As they say: PipeWire is still not usable on some devices such as the Poco F1, which makes it crash every 15 seconds on my setup. PulseAudio in the other hand outputs better sound quality. Co-authored-by: vitali64pm <firstname.lastname@example.org> --- configs/default_hooks/sxmo_hook_start.sh | 10 +++++++--- configs/superd/services/pulseaudio.service | 7 +++++++ 2 files changed, 14 insertions(+), 3 deletions(-) create mode 100644 configs/superd/services/pulseaudio.service diff --git a/configs/default_hooks/sxmo_hook_start.sh b/configs/default_hooks/sxmo_hook_start.sh index 67a9b14..1d46a7f 100644 --- a/configs/default_hooks/sxmo_hook_start.sh +++ b/configs/default_hooks/sxmo_hook_start.sh @@ -75,9 +75,13 @@ superctl start sxmo_notificationmonitor # To setup initial lock state sxmo_hook_unlock.sh -superctl start pipewire -superctl start pipewire-pulse -superctl start wireplumber +if [ "$(command -v pulseaudio)" ]; then + superctl start pulseaudio +elif [ "$(command -v pipewire)" ]; then + superctl start pipewire + superctl start pipewire-pulse + superctl start wireplumber +fi # Verify modemmanager and eg25-manager are running if ! sxmo_modemdaemons.sh status; then diff --git a/configs/superd/services/pulseaudio.service b/configs/superd/services/pulseaudio.service new file mode 100644 index 0000000..6f65feb --- /dev/null +++ b/configs/superd/services/pulseaudio.service @@ -0,0 +1,7 @@ +[Unit] +Description=general purpose sound server intended to run as a middleware between your applications and your hardware devices + +[Service] +Type=simple +Restart=always +ExecStart=/usr/bin/pulseaudio -- 2.36.1
sxmo-utils/patches/.build.yml: SUCCESS in 28s [Add Pulseaudio support] v2 from [Anjandev Momi] : https://lists.sr.ht/~mil/sxmo-devel/patches/32906 : email@example.com ✓ #778201 SUCCESS sxmo-utils/patches/.build.yml https://builds.sr.ht/~mil/job/778201
Greetings Anjan, > PipeWire is still not usable on some devices such as the Poco F1, > > which makes it crash every 15 seconds on my setup. That problem got fixed by switching from wireplumber to pipewire-media-session. About the low volume: I think this is related to the Alsa UCM maybe. How does sxmo handle calls (that problem isn't present when calling on speakers)? I've also seen that the UCM the beryllium uses sets the volume to 35, maybe pipewire is using that as the max? But for the audio distortion, I don't think I can do much about it, it sometimes gets fixed by switching Alsa use-cases. It may be a problem with PipeWire itself. I don't think we should merge this though, at least not yet (also we should use pulseaudio as a *fallback*, not by default if installed). One more thing. This command: $ aplay -D hw:0,0 /usr/share/sounds/alsa/Front_* works perfectly fine and plays the audio files at max and without any distortion (using alsa directly). I'll post more when I learn more about what's going on. Have a nice day! -- Ferass.
Hi again! I think I found a solution for the audio distortion: set "Configuration" to 4 if it isn't set in alsamixer. I also found a solution for the low sound on headphones, just set "RX1 Digital Volume" to the volume you want and do the same for "RX2 Digital Volume". Have a nice day! -- Ferass.