Thank you. Where can I track this problem? I haven’t found a bug report about that.
This is tracked in Add dependency on pulseaudio until echo cancellation is supported in pipewire (#9) · Issues · Mobian Team / devices / librem5-support · GitLab and I have already fixed this in my personal repo
See Mobian on Librem 5 - #44 by praveen.arimbrathodi for instructions.
It is not really a fix, crimson chose to stay on old pulseaudio, where as debian trixie moved to new pipewire which is not configured correctly to have echo cancellation.
We have setup a bounty here Echo cancellation with pipewire - Open Collective for motivating someone to implement this.
Thank you for your detailed answers. However, I didn’t have the echo problem on the Pinephone whereas I was already using Pipewire and Mobian Trixie, I remember having switched to Pipewire manually many months ago. I cannot disable the speaker when calling with the Librem 5, it seems to drive things worse. In my humble opinion, the bounty is a good idea.
This post explains that it’s not really echo cancellation missing from pipewire.
Modem is accessed differently in pinephone and Librem 5, also the component that sits between modem and pipewire might be different too (the answer above shows Librem 5 is using wys, not sure if pinephone also uses it).
Basically echo is not canceled when pipewire is used, the actual bug may be else where or just a missing configuration of pipewire, but at the end of the day you get echo when using pipewire and it is fixed when switching back to pulseaudio.
It’s nothing but a missing bit of plumbing in PipeWire’s PulseAudio server implementation. Making it handle filter.want and filter.apply properties will just make it work with wys as-is (unless you’ll hit some yet unknown bugs in the process, of course). In PulseAudio’s original implementation, this logic resides in module-filter-heuristics and module-filter-apply modules.
I assume that the current situation in Crimson is temporary, will Pure implement the missing bit in order to reenable Pipewire without losing the echo cancellation?
Maybe a bit offtopic here, but as an experiment, I manually upgraded the postmarketOS kernel to the version in the latest pureos release (6.6.92pureos01) and did a battery consumption test over night with:
- modem disabled (via killswitch)
- wifi/bt disabled (via software)
- sensors enabled
The battery went down from 80% to 48% in 10 hours (and 4 minutes which I neglect because the battery percentage is not so accurate either). This would yield a consumption of 3,2%/hour or a battery total lifetime of aprox 31 hours in this mode.
I wish Purism would upstream the filter to view mobile only applications in (Gnome) Software into Debian.
Since crimson is alpha and unofficial backports has newer phosh, I flashed crimson and upgraded to unofficial today. Major issues I had with mobian trixie were,
- If you keep Librem 5 charging overnight - if you forget to disconnect at morning, the phone gets powered off. I am yet to check if this is still an issue with crimson.
- Headphones were not auto detected and if you remove headphones, the audio output defaults to modem and you have to remember to switch manually to speaker or earpiece.
I still have to get wake up from suspend patch for gnome clocks. cc @galilley consider including patched version of gnome clocks (phosh nightly repo has those patches) in your repo.
Wow! Happy to hear that you are testing backports!
Could you give me the actual link for the patch to get wakeup by gnome clocks? I was confused about… The hack with Wacked worked in Byzantium
but failed in Crimson
. At the same time I’ve read notes about the canonical way using systemd finally realized, but I lost these messages. Thanks in advance!
You can build from Making sure you're not a bot! @agx maintains this branch and provides packages for trixie (phosh nightly repo).
Note that this needs recent systemd, IIRC the first reported version is 254 while I assume crimson (being based on Debian oldstable) uses 252. One can use the setcap
workaround though:
setcap 'cap_wake_alarm=ep' /usr/bin/gnome-clocks
which also works on older systemd. Just add that to debian/postinst
.
If one wants to update PureOS I’d backport the mobian package (where I added the patches you pointed to).
Crimson backports have systemd
version254.22
, exactly the same as Bookworm backports
. So, it must be ok.
…and to do that, vala needs to be updated too (to be more exact, its built-in vapis).
I have decided against doing so as it makes much more sense to spend resources towards progressing to dawn instead.
I’m just uploaded into Crimson backports gnome-clocks
package rebuilded from the phosh nightly repo
as was proposed by @praveen.arimbrathodi . Looks like it version really works! Please check!
upd: the drawback is gnome-clocks starts immediately after login and gnss works all time…
Not sure this is related, but after installing gnome-clocks, audio devices vanished. Tried all the systemctl commands mentioned in README, but no change. So flashed crimson again, will run it without backports for now.