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
2 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
1 Like