Sailfish OS beta1 release

Sailfish OS beta1 release is now ready. Installation and update instructions can be found at Adaptations/libhybris/Install SailfishOS for fp2 - Mer Wiki. Highlights of the new release:

  • Updated to Sailfish OS
  • Based on Android 6 (18.04 release)
  • Compass sensor fixed
  • Improved virtual keyboard feedback
  • WebGL fixed in browser

Important notes for updating from Sailfish OS releases before (alpha5)! Please be very careful when during update about flashing the Android system.img. During update process Android system.img needs to be flashed right after updating Sailfish OS and shutting down the device. Do not flash system.img before Sailfish OS update.

Known issues:

  • Youtube videos crashes browser when seeking
  • Camera configuration detection for secondary (front) camera sometimes fails (only during camera module change, update or installation)
    • To solve the issue remove /etc/droid-cameradetect-module-main.conf and /etc/droid-cameradetect-module-front.conf and run “systemctl restart droid-cameradetect”
    • Repeat the previous instruction until both cameras work (configuration is at /etc/dconf/db/vendor.d/jolla-camera-hw.txt and the validity of resolutions for secondary camera can be checked also manually)

Congrats on making the step from alpha to beta! :tada: :clap:

1 Like

@mal: Thank you mal. Updated without any problem. Everything i tested works fine.

I ask at together whether it is posible to get SailfishOS for Fairphone2 with the same conditions as Jolla sell SailfishX for sony devices.

So there will be no problems with HW or SW support. And we will get the foreign licence software ;-).

May be your work will be honored that way …

@mal: hello mal, has anything changed on unlock mechanism? My phone did no play a ‘pling’ when i unlock it as on all versions befor.

Other system sounds are there …

Did i miss something on the ‘official’ jolla release notes?

I don’t know much about that unlock mechanism as I don’t use any lock code on any of my devices. Maybe some some other people can tell if there is some change in that.

Thanks again for the update @mal.

I just installed it on my FP2 and I think it went well. There were two glitches:
I did not have a network connection before i ran “ssu release”, and it returned a warning:

[nemo@Sailfish ~]$ ssu release
WARNING: ssu.ini does not seem to be writable. Setting values might not work.
Changing release from to
Your device is now in release mode!
[D] unknown:0 - "No carrier"

Just to be sure i made a (wifi) connection and ran it again.

During the actual update, when it was updating the package voicecall-ui-jolla i lost my ssh connection, or actually my usb connection. It stayed unstable until i rebooted. After a reconnection i ran version --dup again and it reported nothing to update, so i guess everything went well.

After the reboot i did some tests and everything worked well.

That error says you didn’t run the command as root (using devel-su) which might be needed I think, not completely sure if that requires root permissions. I always run all of the commands as root. Check output of “ssu lr” to see if the repo URLs changed to correct version. If those are still pointing to the old version then run “devel-su ssu release”, that probably should be changed in instructions if that is the case.

Oh, i’m sorry, i wasn’t clear in what i meant. I meant the “[D] unknown:0 - “No carrier”” line. That disappeared when i made the connection. As far as i can see (i don’t have much experience yet) the warning about ssu.ini doesn’t affect the update process.

I just noticed a minor issue after the update: It seems impossible to use a song from my music library as a ringtone (using Settings -> Sounds and feedback -> select ringtone, select from music library, select a song). After selecting the song the ringtone overview displays “no sound” instead of the selected song. I store all music on the SD card, I don’t know if moving it to the internal flash changes the behaviour.
For now i’m stuck with the default supplied ringtones.

I’ve been testing with the ringtones and the issue seems to be a bit different than i described in my previous post.
From my complete collection of music (844 mp3’s on the sdcard), just a few songs don’t work as a ringtone. As a coincidence those were exactly the songs i tested with :roll_eyes:
The songs that don’t work also don’t play in the media player, and i don’t understand why. I encode all the songs myself and always use the same software (ffmpeg) and settings, and they all have similar id3 tags.
Does anyone have an idea on how to troubleshoot this?

Checking journalctl output (as root using devel-su) might tell something, if not then sending one of the problematic files to me for testing would help.

Thanks for the hint @mal, that gave me the information i needed. My problem is solved now, and will share information here in case someone else has the same issue.
TL;DR: I had filesystem errors, used fsck to fix them.

As per your suggestion i started monitoring journalctl -f which showed:

Jul 14 16:08:51 Sailfish estart[13504]: [W] unknown:0 - GStreamer; Unable to pause - "file:///media/sdcard/fc711556-c219-4271-85f6-ecb3fe058b50/Music/Nightwish - Imaginaerum/11 - Last Ride Of The Day - Imaginaerum - Nightwish.mp3"
Jul 14 16:08:51 Sailfish estart[13504]: [W] unknown:0 - Error: "Resource not found."
Jul 14 16:08:51 Sailfish estart[13504]: [W] unknown:0 - GStreamer; Unable to pause - "file:///media/sdcard/fc711556-c219-4271-85f6-ecb3fe058b50/Music/Nightwish - Imaginaerum/11 - Last Ride Of The Day - Imaginaerum - Nightwish.mp3"
Jul 14 16:08:51 Sailfish estart[13504]: [W] unknown:0 - GStreamer; Unable to play - "file:///media/sdcard/fc711556-c219-4271-85f6-ecb3fe058b50/Music/Nightwish - Imaginaerum/11 - Last Ride Of The Day - Imaginaerum - Nightwish.mp3"
Jul 14 16:08:51 Sailfish estart[13504]: [W] unknown:0 - Error: "Resource not found."

This showed a clear hint something is wrong with the file so i checked that out, and found that all the permissions were marked with question marks, like this output (from a different directory):

-rw-r--r-- 1 nemo nemo 6333497 Apr 24 12:08 08 - Sinead - The Unforgiving - Within Temptation.mp3
-????????? ? ?    ?          ?            ? 09 - Lost - The Unforgiving - Within Temptation.mp3
-rw-r--r-- 1 nemo nemo 6156700 Apr 24 12:08 10 - Murder - The Unforgiving - Within Temptation.mp3

Then i found out that the command find . -nouser helped me to find all those files, however the output is a bit unusual:

find: ./Within Temptation - The Unforgiving/09 - Lost - The Unforgiving - Within Temptation.mp3: No such file or directory
find: ./Linkin Park - The Hunting Party/02 - All For Nothing - The Hunting Party CD - Linkin Park.mp3: No such file or directory
find: ./Nightwish - Imaginaerum/11 - Last Ride Of The Day - Imaginaerum - Nightwish.mp3: No such file or directory
find: ./Typisch_Negentig/3-05 - Fiesta (De Los Tamborileros) - Typisch Negentig - Sunclub.mp3: No such file or directory
find: ./Top1000_2015/5-12 - Bad Day - Het beste uit de top 1000 2015 - Daniel Powter.mp3: No such file or directory
find: ./Top1000_2015/2-08 - 'K Heb Je Lief - Het beste uit de top 1000 2015 - Paul de Leeuw.mp3: No such file or directory

Note that these are actually errors instead of the usual file list given by find. These are exactly the files i had problems with, so i tried to delete them so i could copy them again … but even as root this is impossible.

Then i decided to unmount the card and run fsck:

[root@Sailfish ~]# umount /media/sdcard/fc711556-c219-4271-85f6-ecb3fe058b50/
[root@Sailfish ~]# fsck /dev/mmcblk1p1
fsck from util-linux 2.31
e2fsck 1.43.1 (08-Jun-2016)
/dev/mmcblk1p1 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
/dev/mmcblk1p1: 1095/1954064 files (11.1% non-contiguous), 3956874/7814144 blocks

After that i mounted the card again (via the settings gui) and everything was fixed, the files are still there, and i can play them with the media player and set them as ringtone.


I’ve did a small test with the compass sensor which is working since this release. My impression is that it’s about 130 degrees off.

First i compared the compass in my car with the compass in gpsinfo, and they gave very different readings, like one reporting north, while the other reported south.
Second, i compared the osmscout map with the compass. I looked at the map and turned myself until i was facing (approximately) north, given the map and my knowledge of my neighbourhood. Then i looked at gpsinfo and it reported 130 degrees. Of course this method is not super accurate, so a few ten’s of degrees margin should be taken into account.

Based on my testing you usually need to rotate the device randomly around each axis a few times after starting an app which uses the compass so the compass sensor can calibrate itself properly after a reboot, but after that it should show correct direction. Without any rotation of the device it usually doesn’t show correct values.


Thanks @mal, you are right (as usual :slight_smile: ). After rotating my phone a bit in all directions it gives the right values.

1 Like

hey, is it possible to use lineageos system.img, to have the kernel updates?
also do you think for security is the old modem danferous to use?
besides that im super happy with sailfishos thanks mal

| Sailfish OS (Mouhijoki)
Successfully upgraded via ssh :slight_smile:


Is there some way to save the calibration of the compass sensor (even if i have to write an app for it)?
Right now, the lost calibration sort of defeats the purpose of having the compass in the first place. To be able to know if calibration is ok, i have to know (for example) where the north is, and if i know that i don’t need the compass. But if i don’t, i don’t know if the compass is calibrated correctly, and can’t trust the readings it gives me.

I don’t really see rotating the device a few times randomly before using the compass as that big of an issue. The compass calibration is handled inside firmware or Android side so not sure if it’s possible to store that anywhere.
In theory it would be possible to calculate the compass heading from the raw sensor data (magnetometer, accelerometer and gyroscope) in sailfish but that would require some work, I know a library that has the formulas needed for that included but I’m still not sure if it’s worth the effort.

Just saying … It’s most probably not the compass “losing” values or data at play here, it’s the magnetic field of the Earth that’s being kind of elusive (extreme example).

A smartphone’s compass feature tries to measure the magnetic field of the Earth to get a heading to the poles, but that process is sensible to interference by other magnetism or ferromagnetic materials in the vicinity (perhaps even in the phone itself).
Calibrating the compass takes this possible interference out of the equation and should give a correct heading directly afterwards.
If you change your location or stay long enough in the same place, calibration can be necessary again, because the magnetic situation is not static.

Calibrating the compass to be sure it points in the right direction is basic smartphone usage. I had to do this on a Nokia 500 (Symbian OS), I have to do this on a Lumia 640 (Windows), and I have to do this on the Fairphone 2 (several flavours of Android).
On Android there’s additionally something like Sky Map, which can help you if you are in doubt … if it showed the Sun or the Moon where they clearly aren’t, the compass would most probably be off :slight_smile: .
On Sailfish OS … I don’t know … just calibrate to be safe :slight_smile: .


Of course the effort to rotate the device is not the problem. The problem is that even after doing it a few times, sometimes the calibration is still not ok. So then you have the issue that you either can’t trust the reading because you don’t know if the calibration is ok, or the issue that you already know what’s where and you don’t need a compass to tell you :slight_smile:

I’m quite sure this is not a SailfishOS issue, my jolla 1 doesn’t need calibration every time, and gives the right values immediately.