[Xperia SP Android Development] maikoool:
Announcing Sailfish for the Sony Xperia SP

This is not Android!

This should be thought of as a development experiment. It may be useful if you are a developer and want to write/port apps the the Sailfish operating system. It is not an end-user product, however, if you wish to experiment and try something different then feel free!

Please do not contact Jolla Care or Jolla Developer Care, as this is not the Jolla phone

Update 15 Feb 2016

I've uploaded a new version of SailfishOS 2.0.0.10 to the Mega folder, called sailfishos-huashan-release-2.0.0.10-1.zip. This is again based off CM-12.1, the same release as stated below. This release fixes a kernel bug which lets a lot of the Sailfish system crash. This also fixes the wlan connectivity, startup-wizard which sets the themes, on-screen keyboard not popping up, and SIM unlock never asked. I've got a fix for the backlight in the works.

Update 14 Feb 2016

A very experimental CM-12.1 based SailfishOS 2.0.0.10 build is uploaded to the Mega folder linked below.

This version is based off cm-12.1-20160212-NIGHTLY-huashan.zip. I want to stress that many things in this build are broken.

Update 05 Feb 2016

This port is heavily outdated. I do not have much spare time on my hands to continue porting but I will try to post a nightly version soon.

This version was based on Sailfish 1.1.6 and CM-11.0, but the world has moved on to Sailfish 2.0 and CM-12.1, and so must this port.

There's a photo up on imgur:

http://i.imgur.com/Vg3SZ6w.jpg

Special thanks to:

All Cyanogenmod devs, since SailfishOS uses drivers from Cyanogenmod to talk with the phone's hardware

Everyone from the SailfishOS team/community, sledges and mal- in particular.

Known issues:

Half the backlight doesnt work, this is clearly visible at the top of the screen

Bluetooth isn't turned on, cause i've put no effort in for that so far

Camera doesn't work, cause it's not hooked up to interface.

No recovery inside hybris bootimage (you need to flash manually to return to cm/use recovery)

Settings hangs for few seconds on first start (this seems to be related to bluetooth not being set up)

What works:

Texting, calling, data over mobile network (2g and 3g tested, 4g should work but is untested)

Wifi, GPS (does take a while to get a fix though), most of the sensors (proximity, lightsensor etc)

The half of the display backlight that does work is adjusted based on lightsensor input.

Charging, bottom ledbar basic functionality, audio works, audio via 3'5 jack also works.

Installation:

Insert default warranty void message here. Your warranty is now void :P

I have not tested this on locked bootloaders, but since I needed to modify the kernel, I guess that you need an unlocked bootloader.

Note this is not an offical Sailfish OS build, and the Xperia SP is not the Jolla phone, so please don't report bugs to Jolla. If you want to report a bug, search for it first on bit.ly/port-bugs, if your bug is not yet there, you can add it there or post it in this thread (I'll try to keep the xda thread and bugzilla in sync).

The Sailfish OS image does not provide recovery, and since the Xperia SP does not have a recovery partition, you need a seperate bootimage with only recovery on it to flash cm/stock/sailfishos upgrade.

The Sailfish OS image is based on a specific version of Cyanogenmod 11, which you will need to flash first.

You can find all the required files in a Mega folder: http://mega.nz/#F!7YhSTDIA!Akpjs8s3qT5_nEkN04fQ-Q

You can find a bootimage with only TWRP recovery in it called recoveryboot.img

This image can be flashed with fastboot (with phone turned off, hold vol up and plug in usb), then `fastboot flash boot recoveryboot.img`. After that reboot the phone (fastboot reboot), and it will boot into recovery. If you already have recovery from cm, then you can use that as well.

First do a full wipe (make a backup first if needed, TWRP can do this ;), then install CM11, the specific version you need is called: cm-11-20150712-NIGHTLY-huashan.zip

There is no need to reboot cause you wont use CM11 anyway, so just proceed and flash the Sailfish OS image, which is called: sailfishos-huashan-release-1.1.6.27-UNOFFICIAL-maikel-201508201214.zip

Flashing Sailfish OS is not as fast as flashing cm11, but it shouldn't take more than 10 minutes.

Then reboot. The first boot may take some time, during which the Sony logo is not displayed (WIP).

If the boot takes more than, lets say five minutes, try a reboot. You can power off the device by holding the power button until the LED bar turns red or the display brightness goes back to full, when the leds and display turn off the device is powered off.

If this doesn't work you can remove the back cover and press the little button in the little hole for 5 seconds, the device will vibrate thrice and the phone will be forced off.

If you want to return to your previous rom or restore a backup, use the recoveryboot.img using the commands stated at the top of this document, to boot into TWRP.

FAQ

You can find a FAQ which mentions most common user questions for SailfishOS here: http://xdaforums.com/jolla-sailfish/general/qa-sailfish-n4-thread-devices-t2727330 . It's mainly aimed to the Nexus 4 and 5, but it's fairly applicable for all other ports as well.

Sources

In order to comply with the GPL, the kernel sources used for this port are available here:

CM-11.0 based port: https://github.com/maikelwever/android_kernel_sony_msm8x60

CM-12.1 based port: https://github.com/maikelwever/android_kernel_sony_msm8960t

edit: make links + sailfish 2.0 notice, kernel sources, 2.0 link