Sailfish OS for Fairphones devices

Ah, you were faster :wink:

@mal Even when the homescreen is in landscape mode, there is no clock on the home screen.

@Thra11 @Pasik2 Clock should now be visible if you update your FP4 and reboot (or instead of reboot run “dconf update” as root). The reason for missing clock was an old clock configuration option which was not working correctly anymore so removing it fixed the clock. A bit interesting that I never noticed the missing clock during my testing.

There is no need for any patches to move clock away from notch, that is now automatic if notch configuration is correctly done (it is correct on Fairphones).

8 Likes

Not sure what the issue is in Fotokopierer app, the issue seems to happen only on FP5 while FP4 works correctly.

2 Likes

Thanks for your answer. I found that the problem is not only in Fotokopierer, but also in CodeReader, Foilauth and maybe some other apps which I don’t know. I think they all user the same module for scanning via camera, at least all interfaces look the same.

On the other hand, apps like AdvancedCamera and Stopmotion work fine.

1 Like

I’m curious to know if there is any progress ? My FP2 is waiting for the 5.* release :smiling_face_with_three_hearts:

As usual, thank you for all the hard work :wink:

1 Like

Has anyone got waydroid to run on Sailfish on the FP4? I tried following the instructions at GitHub - sailfishos-open/waydroid: Waydroid packaging for Sailfish OS, choosing waydroid-gbinder-config-hybris.

The UI never appears, and devel-su waydroid logcat shows constant crashes/tombstones.

I’m a little surprised to see that after waydroid init the config and status say MAINLINE, since I believe this is a hybris device, not mainline:

[defaultuser@Fairphone4 ~]$ waydroid status
Session:	RUNNING
Container:	RUNNING
Vendor type:	MAINLINE
IP address:	UNKNOWN
Session user:	defaultuser(100000)
Wayland display:	../../display/wayland-0

Is that wrong? If so, how do I change it to HYBRIS?

For what it’s worth, waydroid did run on this device when it was running Ubuntu Touch.

Looks fine for me. That install waydroid-settings or waydroid-runner. I would prefer waydroid-settings

Hello !
I have the same behaviour as yours on my FP4, waydroid doesn’t start at all.
[17:53:29] Failed to get service waydroidplatform, trying again...

I asked IA for some help (let’s use the technology :wink: ) and after making me do some tests like those:

ls -l /dev/binderfs/
crw-rw-rw-    1 root     root      502,   1 Jun  4 15:30 binder
crw-------    1 root     root      502,   0 Jun  4 15:30 binder-control
drwxr-xr-x    3 root     root             0 Jun  4 15:30 binder_logs
crw-rw-rw-    1 root     root      502,   3 Jun  4 15:30 hwbinder
crw-------    1 root     root      502,   6 Jun  4 15:30 hwpuddlejumper
crw-------    1 root     root      502,   4 Jun  4 15:30 puddlejumper
crw-rw-rw-    1 root     root      502,   2 Jun  4 15:30 vndbinder
crw-------    1 root     root      502,   5 Jun  4 15:30 vndpuddlejumper
for mod in veth xt_CHECKSUM nf_conntrack_bridge br_netfilter; do
    devel-su modinfo $mod 2>/dev/null && echo "✅ $mod" || echo "❌ $mod";
done

name:           veth
filename:       (builtin)
✅ veth
name:           xt_CHECKSUM
filename:       (builtin)
✅ xt_CHECKSUM
❌ nf_conntrack_bridge
❌ br_netfilter
devel-su grep -q "binder_ioctl" /proc/kallsyms && echo "✅ Binder IPC present" || echo "❌ No Binder IPC"
✅ Binder IPC present

devel-su grep -q binderfs /proc/filesystems && echo "✅ BinderFS supported" || echo "❌ No BinderFS"
❌ No BinderFS

IA concluded that there is something wrong with the FP4 kernel:

1. Binder System Status

Feature Status Verdict
Binder IPC (binder_ioctl) :white_check_mark: Present Fully functional
Binder device nodes :white_check_mark: Present (binder, vndbinder, etc.) Correctly configured
BinderFS :x: Missing Requires workaround

2. Network Stack Status

Feature Config Status Verdict
CONFIG_VETH :white_check_mark: =y Virtual Ethernet supported
CONFIG_NETFILTER_XT_TARGET_CHECKSUM :white_check_mark: =y Checksum offloading enabled
CONFIG_BRIDGE_NETFILTER :x: not set Critical missing feature
CONFIG_NF_CONNTRACK_BRIDGE :x: Not found Breaks container networking

3. Key Findings from Config

CONFIG_ANDROID_BINDER_IPC=y # Core binder present
CONFIG_ANDROID_BINDERFS=y # Config says yes but not in /proc/filesystems?!
CONFIG_ANDROID_BINDER_DEVICES="binder,vndbinder,hwbinder,puddlejumper..." # Custom nodes


The Paradox Explained

Your kernel is compiled with BinderFS support (CONFIG_ANDROID_BINDERFS=y), but:

  1. Not showing in /proc/filesystems → Possibly disabled at runtime
  2. puddlejumper nodes exist → Hybris-style binder implementation
3 Likes

After examining FP4 kernel messages ( devel-su dmesg | grep -i binder), IA suggested this:

Based on your extensive diagnostic output, we can conclude that Waydroid cannot function properly on your current SailfishOS installation due to fundamental incompatibilities in the kernel’s binder implementation. Here’s the technical analysis and your available options:

Root Cause Analysis

  1. Binder IOCTL Failures
    The constant ioctl 40046210 returned -22 errors (EINVAL) indicate:
  • The kernel’s binder driver is rejecting Waydroid’s requests
  • Possible version mismatch between binder protocol and userspace
  1. Transaction Failures
    transaction failed 29189/-22 confirms the binder communication channel is broken
  2. Hybris Incompatibility
    Despite having binder devices, the SailfishOS implementation appears to be:
  • Modified for specific Android compatibility layers
  • Missing critical BinderFS features Waydroid requires

Definitive Conclusions

  1. Not Fixable at userspace level - requires kernel modifications
  2. Two binder implementations conflict (native Android vs. Waydroid expected behavior)
  3. Network isolation impossible without BRIDGE_NETFILTER

[…]

If considering rebuild custom kernel, must enable:

CONFIG_BRIDGE_NETFILTER=y 
CONFIG_NF_CONNTRACK_BRIDGE=y 
CONFIG_NF_TABLES=y 
CONFIG_NETFILTER_XT_MATCH_PHYSDEV=y
2 Likes

@mal Is it possible to add charging mode thresholds to the FP5 Port?
i use this function a lot and its really prolongs battery life.

2 Likes

The configuration for charging control is already on the device but it seems there is some possible race condition or something during boot and the charging control is not working always. It can be made to work by running “systemctl restart mce” as root. I will try to figure out how to fix the issue.

6 Likes

Thanks for the answer @mal and thanks for working on this.
btw.: Could you please update FP4 and FP5 Repos to the new minor update 5.0.0.68 ? Thanks

3 Likes

Charging control should now work on FP5 in 5.0 releases. When updating to 5.0.0.68 first update again from repos of 5.0.0.67 or any other older 5.0 release and then update to 5.0.0.68. There are some changes to repos which would otherwise cause a bit of an issue during update (because one compatibility symlink is missing from build system).

9 Likes

very cool. dozen of new packages, new kernel image, charging control works now. You made my day again, @mal !

6 Likes

Soon (June 25) Fairphone 6 will be announced. It will be a different phone, more flexible, less expensive too.
As I am looking for a new phone that I can use for some years without too much hassle and with the possibility to export Threema Libre to it complete with the possibility to make video calls, I wonder if Jolla cannot make an official port plus Android support for this new phone.
Many people are fed up with being forced to buy a new device every two years.
I think this fairphone 6 could be a good opportunity for Jolla Sailfish to become more popular.

13 Likes

Fridlmue, if I had seen your post I had written my post differently. I agree with you, it would be good if Jolla/Sailfish stepped in the same boat as the Fairphone 6. The phone market is saturated and this can give Sailfish a better future.

5 Likes

Sorry - but Sailfish-on-Xperia is not driving that behavior in the slightest.
The latest fully supported Xperia had its support come out 3 years ago and is still doing fine.

Perhaps Fairphone is better - but be honest in your arguments. None of what you write is a differentiating factor.

3 Likes

Well, by the end of the week that’s going to be 5 years, by law, in the EU:

https://www.heise.de/en/news/Guaranteed-updates-and-repairability-for-smartphones-in-the-EU-from-June-20-10447853.html

Mee too and therefore some Xperia 10’s in use since 5 1/2 years and still working fine.