Using Sailfish OS on the FP2 - Experiences and Issues

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

had the same problem and believe it was some package that i installed. but i could not reproduce it so far, after a second complete reinstall. but i didnt install all apps yet. just the bare minimum that i need.

1 Like

One other question, maybe anybody had the same experience:

In my case, the “mobile data”-button is not always visible in the event-view.

After rebooting the phone it is visible most times, but if I loose the mobile-data-connection it’s getting hidden suddenly and doesn’t appear anymore…

It’s not a bug, it’s a feature? :slight_smile:

This problem is fixed with the latest alpha3 (SailfishOS 2.0.5.6)

1 Like

@gomerust has the same Problem. We a trying to solve this since 2 month. Looks like on app or package from Sailfish break the camera.

We made a test: after a complete fresh installation - camera is working