Using Sailfish OS on the FP2 - Experiences and Issues

Hi berta !
Even if the wiki advice to downgrade to FPOpenOS 16.06, it is not clear to me if this step is really mandatory. From my experience I installed SailfishOS on top of FPOpenOS 16.10 (it was current version at that time) and it worked flawlessly, without any issue/error message.

You donā€™t need to downgrade the base Android before installing Sailfish OS, it should work quite ok even with the new release as long as you install the the old firmware partition images (the ones in http://storage.googleapis.com/fairphone-updates/FP2-gms59-1.5.1-manual.zip just remove flashing of system, aboot, boot and rcovery from the installation script included in that zip). Sailfish cannot benefit from the proximity sensor calibration since we need to use the old firmware due to the battery drain issue if latest firmware is used. Iā€™m going to release the Sailfish OS 2.0.5.6 alpha3 soon, itā€™s now waiting for some testing by Fairphone before release, in my opinion itā€™s ready for release. Itā€™s already possible to update to that using the instructions in wiki but there might be some issues with repos on the device after the upgrade, Iā€™ll write instructions about that when the release is done.

4 Likes

What do you mean by very few applications available in Store? There used to be a bug that causes many apps to be missing but that was fixed a long time ago.

1 Like

I checked up andā€¦ you are right, there are plenty apps in the storeā€¦ My apologies !! :blush:


Actually I realize i didnā€™t look at this store since I upgraded to 2.0.4.14ā€¦ Perhaps the bug you mention was still present in the version 2.0.1.11/alpha2 ? Or I just wasnā€™t waiting enough for the list to be populated ? In my memory only some apps developed by Jolla were displayedā€¦ Anyway now I have the whole list, thank you !!

By the way, I just noticed that in Settings / Account / Add Account there is a CalDAV and CardDAV support, that is awesome :slight_smile:
EDIT: Iā€™ve an error with CalDAV, I managed to add CardDAV only.

Mal- stikes again!

alpha3 (Sailfish 2.0.5.6) is avaiabale now
https://wiki.merproject.org/wiki/Adaptations/libhybris/Install_SailfishOS_for_fp2

9 Likes

Works like a charm :-).
Many thanks to mal- ā€¦ again ā€¦

2 Likes

Hey, thank you very much for your answer an your work!! It worked for me. :wink:
One of the greatest moments was, when I was asked if I would like to import contacts form my N900! :slight_smile:

I switch between FOSOS and SailfishOS by restoring different boot partitions. After I installed I noticed, that the camera in FOSOS was not working anymore (ā€œUse by an other appā€), in SailfishOS it worked. (The flashlight didnā€™t work, too.)

Yesterday I tried to update FOSOS and unfortunately a lot went wrong. :disappointed:
I started by flashing the firmeware images out of
ā€œfp2-sibon-16.11.0-manual-userdebug.zipā€.
After I compiled the source and flashed the new images I was not able to install or update any apps. So I tried to restore some old backups of boot,system and data several times and flashed again.
Now, I can install and update apps, but Bluetooth is not working (com.andoird,bluetooth crushes) and I also noticed that the Update of FOSOS didnā€™t work, although I did never receive any errors.

Obviously I messed it up all by myself, by doing things I donā€™t understand in every detail. But thatā€™s learning.

It would be great, if anybody could give me an advise how I could solve all this problems :wink: without a factory reset.
Thank you very much!

Here are some errors I got with adb logcat, when I was unable to install apps. Maybe that helps.

E/System ( 6824): Uncaught exception thrown by finalizer
E/System ( 6824): java.lang.NullPointerException: Attempt to invoke virtual method ā€˜void dalvik.system.CloseGuard.close()ā€™ on a null object reference
E/System ( 6824): at java.io.FileOutputStream.close(FileOutputStream.java:132)
E/System ( 6824): at android.os.ParcelFileDescriptor$AutoCloseOutputStream.close(ParcelFileDescriptor.java:835)
E/System ( 6824): at java.io.FileOutputStream.finalize(FileOutputStream.java:152)
E/System ( 6824): at java.lang.Daemons$FinalizerDaemon.doFinalize(Daemons.java:191)
E/System ( 6824): at java.lang.Daemons$FinalizerDaemon.run(Daemons.java:174)
E/System ( 6824): at java.lang.Thread.run(Thread.java:818)

What Iā€™m still wondering about most is, that the update of the FOSOS (fastboot flashall ā†’ reboot ā†’ optimizing apps) doesnā€™t give any errors, but doesnā€™t take place anyway???

In the meantime I got bluetooth working again by flashing and falshing an applieng old backups. Unfortunately SailfishOS is gone as a result, too, but Iā€™m looking forward to install it again!! :wink:

1 Like

Switching between FP Open and Sailfish would not work.

Sailfish you flash on top of Fairphone Open replacing boot.img (kernel) and userdata.img (Sailfish Image)

The only possibility is:

Install Fairphone Open. Make a backup of all partitions with TWRP.

Install Sailfish on Top of Fairphone Open

Make a second bakup of Sailfish.

Now you can change by restoring the full backup of FP Open or Sailfish.
Thats not so cool, i think, but there is no other possibility.

2 Likes

So are you saying it wonā€™t work with multiboot solutions in the future either?

1 Like

Maybe some clever apps will provide Multiboot in the future, atm. this is not possible

1 Like

If the creator of efidroid adds support, it will be possible. But he first aims to get Ubuntu Touch working afaik. Also donā€™t expect anything in a timespan less than 6 months.

2 Likes

There is some misunderstanding here, itā€™s completely possible to switch between FP Open and Sailfish OS by changing the boot.img. If you install Sailfish OS from recovery using the zip it does not overwrite userdata partition it just stores Sailfish OS in there in a special folder. Only thing you shouldnā€™t do is erase userdata partition, that will remove also Sailfish OS completely.

3 Likes

At least MultiROM can be made to work with Sailfish OS without problems. Not sure about other methods.

2 Likes

Thanks Mal, that was not clear for me. Thanks for figuring this out!

Hmmā€¦ i have 2 TWRP Backups:

One from Sailfish OS 2.0.5.6 and one from FP Open 16.12

When i restore boot.img (Kernel) from the FP Open 16.12 Backup it didnā€™t boot at all. I stuck on Fairphone logo.
After i wipe the userdata with fastboot -w - it boots normal to the Fairphone Open 16.12

So i need to restore boot.img and userdata.img to be able to switch between Fairphone Open and Sailfish.
But there also can be something wrong with my userdata.

1 Like

This is what I did and what worked for me with FP Open 16.11., till I tried to update to Fairphone Open 16.12. I think I switched between both OS about 8 times by just restoring different boot backups.

But the Update to FP Open 16.12 doesnā€™t work for me. I donā€™t know why.

@mal: Do you mind explaining what kind of special folder SailfishOS uses?

1 Like

Found it by mysel. The Folder is: ā€œ/data/.stowaways/sailfishosā€. Because of the ā€œ.ā€ itā€™s hidden.
The updater-script copies hybris-boot.img to /dev/block/platform/msm_sdcc.1/by-name/boot,
sailfishos-rootfs.tar.bz2 is extracted form sailfishos-fp2-sibon-release-2.0.5.6-alpha3.tar.bz2 and copied to /data/sailfishos-rootfs.tar.bz2 an again extracted by updater-unpack.sh to the folder mentioned above.

As you can see there SailfishOS just uses one folder an changes the boot partition.

3 Likes

The OS itself runs fine and I really like it. But there is no email client and no xmpp client with gpg support. Ok, there is mutt, but I donā€™t want to use a console client on the phone. The lack of encrypted communications on SF makes me stay on FP open for now. I hope, there will be support for encryption in the near future. I will keep an eye on it. SF is definitive the better OS for me. But I need this features.

BTW: Must I update the underlying Android when a new SF version arrives, that needs (or recommends) a newer one than the installed? Or is it updated OTA with the new SF version?

The only problem I have with SFOS on FP2 is jolla camera not working :cry:
The camera screen is just black.

When I run in terminal I get:

[D] QGstreamerVideoWindow::QGstreamerVideoWindow:72 - No m_videoSink available!
[W] unknown:201 - file:///usr/lib/qt5/qml/Sailfish/Silica/TouchInteractionHint.qml:201:17: QML PauseAnimation: Cannot set a duration of < 0
[W] unknown:17 - file:///usr/share/jolla-camera/pages/capture/CaptureOverlay.qml:17:1: QML CaptureOverlay: Binding loop detected for property ā€œ_startTimeā€
[W] CameraBinSession::processBusMessage:1051 - CameraBin error: ā€œCould not initialize supporting library.ā€

Anyone else experience this issue?

1 Like