Fairphone 6 + PostmarketOS working audio calls!!!
At first, man thinks he controls the modem.But after the 20th reboot, man learns the modem controls him.
— Epictetus
So here it is! working VoLTE calls with audio on linux!
What a rollercoaster it has been i'll tell you that.
The frequency between my previous posts was only a few days, as you can see from the time since my last post this has been a far harder project.
But a successful one!
Now fully powered trough my new imsd project:
forgejo.catcrafts.net/Catcraft…
As i said in a my previous comment no matter what i did the regular modem route wasn't working, so i had to come up with my own.
This has several advantages however, call audio is now just routed trough wireplumber & pipewire, so its integrated much better.
Both inbound and outbound calls work.
How do i get this???
The patient route is waiting until my patches get accepted upstream, a few already have and are coming in 7.3 probably (pmos runs 7.0 currently still oof), a few will probably take longer, 7.4 or beyond.
but for the ones that want to jump right on ive published everything on my forgejo:
forgejo.catcrafts.net/Catcraft…
I will soon be publishing a shell script that does the entire installation soon for easy installation.
Sadly there is no way to just plug in an android and do it, so there are still a few manual steps needed, but i believe the path to adoption is reducing friction as much as possible, so ill do my best to make it as easy as possible to use.
imsd
So what is an "imsd"?
its a full userspace implementation of the IMS protocol, which drives VoLTE (4G) calls.
Normally the modem firmware drives this, but this is quite difficult to work with, now it runs fully via a standard daemon on linux!
Along with several d-bus helpers that integrate it with standard plasma-dialer.
if made a APKBUILD for pmos that is mutually exclusive with 81voltd, and loads imsd instead. so installation should be easy.
Now will this actually work?
That's where you come in!
I am just one guy with one phone with one carrier.
I can say it works on the Fairphone 6 with KPN. it might work with other carriers and other Qualcomm phones aswell, so potentially this could work for the entire linux phone ecosystem, but i have no way to test that.
If you end up trying it, no matter if it works or doesn't work, please send me a message or open a PR, then we can make sure it works for everyone!
donations
I really was surprised when people asked me this, i just see myself as a guy doing this in his free time, "why would people want to send donations to me?" i thought.
I still stand by my previous point, i have a job, and this project costs me nothing except for time, i don't have any costs. So i felt kinda guilty receiving money from people.
But i would much rather spend my time making software that benefits society instead of the B2B stuff i do at my job.
I really feel greedy for saying this, but if you want to send me a thank you then that is now possible at:
bunq.me/catcrafts
Please don't feel any pressure to do this, doesn't matter what i get im still continuing with this bring-up. And if you don't want to donate to me there are many linux organizations that could really use the support! In my eyes we are all in the same boat with the same goal.
If you do decide to, and i cannot express my gratitude enough if you do, please write in the description that it's a donation, as this makes tax easier.
What's next?
Ive got a bunch more stuff coming soon, while i haven't posted here in quite a while i've been plenty busy on the mailing list:
So except some more posts soon.
Bonus round
Having fully working hardware is great, but a phone that has no apps is pointless for most people, so i would like to start a discussion in the comments.
What apps do you need that are preventing you from switching to mobile linux?
reshared this
Peter Vágner
in reply to TheMightyCat • •@TheMightyCat Oh, this really sounds as a cool update.
It's a pity screen reader accessibility is not yet a thing on mobile linux at least I can't find someone making great progress with that.
TheMightyCat
in reply to Peter Vágner • • •Don't standard linux screen readers work?
I apologize as im not knowledgable about the screen reader space on Linux but thinking about it they should work? It's both wayland after all.
Peter Vágner
in reply to TheMightyCat • •@TheMightyCat Oh yes, thanks for your interest and a nice comment.
A somewhat simplified explanation of linux accessibility stack from an advanced user (not developer) looks like this:
Standard linux screen reader running alongside graphical desktop environments such as gnome or KDE is called orca. It uses a dependency called at-spi2-core for delivering and interpreting accessibility events from different toolkits such as GTK4, QT6 and similar.
Thus at-spi2-core has clients on both the sides. Orca usually consumes events and GUI toolkits and other standalone apps generate them.
For the full picture there are apps that communicate to at-spi2-core directly to provide its accessibility for example web browsers (Firefox, Chromium and webkit-gtk) and libreoffice are doing this.
The fact screen reader is interpreting accessibility events delivered to it through at-spi2-core is a nice thing and it's a huge part of the puzzle however screen reader has more functionality than dealing with the stream of accessibility events.
For example screen reader needs to be able to review the content by words, by lines and provide different navigation actions.
For that it needs to react to user key presses.
On wayland reacting to keypresses without having a control focused is a security risk thus a protocol extension has been developed which allows screen reader to ask at-spi2-core to coordinate grabbing the keys with the compositor. I don't fully understand this part so it may be a very rough explanation. However it's key point to understand that for touch screen operated device it's not enough to read what has happened in response to some touch screen gestures. We need an ability to review the screen content before executing actions. On different platforms such as android, IOS or Windows it's implemented in a way so touch interaction model works a bit differently when screen reader is running. This is not yet implemented for linux no matter which form factor.
Technically speaking if I would have an USB keyboard connected to the phone I would certainly be able to use parts of its graphical interface but that would not be practical enough.
Please excuse me for commenting on your announcement thread even adding such a long attempt at explaining my situation. I do really appreciate all the work and advancements you are releasing to the public.
It's just that I am partially saddened by the fact I can't experience this linux mobile movement on my own.
TheMightyCat
in reply to Peter Vágner • • •No need to apologize! Thank you for the detailed explanation!.
I was planning on working for Fcitx5 support too, and this might be somewhat in the same neighborhood? I don't want to make false promises so take this with a grain of salt but I'll see if I can maybe get spi2 to work.