Adaptations/libhybris/Install SailfishOS for m7



Notes for installing SailfishOS on the HTC One (m7) (GSM variant).

Hardware Support

 * }

Latest news

 * 8th February 2017: SailfishOS 2.1.0.9 went Early Access (EA). Now targeting that release.
 * 6th February 2017: Began work to build image on 2.0.5. New build environment, 6 months of Cyanogen fixes to incorporate and testing the new HADK
 * 18th May 2016: Rebased image on SailfishOS 2.0.1, modem and video playback not yet working.
 * 27th February 2016: Packaged modem fix now focusing on a build image with call audio working.
 * 25th February 2016: Managed to activate the modem, Mobile data functioning, SMS functioning. Voice calls working (calls can be made) but audio not yet working.

Known issues: what works? what doesn't? what can I expect?
This is a work in progress. At the moment the single biggest problem is that the modem is not functional which obviously means no calls and no mobile data. This also has the added downside that Jolla Store support is unavailable as the device IMEI cannot be yet retrieved. Third-party apps are available however via OpenRepos. Further to that, camera support is proving a bit problematic but is hopefully not too far off. All of the pieces are in place for GPS but the modem is top priority. The maintainer has not yet had a chance to look at Bluetooth support but it works on several other CM 11.0 based ports so there is a good chance.

Requirements for installation

 * HTC One (GSM variant) obviously.
 * CyanogenMod 11.0 zipfile: cm-11-20141112-SNAPSHOT-M12-m7.zip available for download here
 * Latest SailfishOS release (the zip file here). Only functional images will be available for download and the most recent will always be linked as such.
 * Computer with adb and fastboot installed.
 * Patience and luck

Installation Steps

 * Install the last CyanogenMod 11.0 stable build for the HTC One (cm-11-20141112-SNAPSHOT-M12-m7) by following the instructions on the CyanogenMod wiki. This is comprised of 3 steps (unlock bootloader, install Teamwin Recovery, copy and install CyanogenMod) and it is very well documented there.
 * Once installed using either adb or MTP transfer the SailfishOS zip file to the /sdcard/ on the phone.
 * Shut the device down and boot into recovery by holding down the volume-down and power buttons at the same time.
 * Select recovery using the volume keys and confirm using the power button.
 * Once in recovery, select 'install', scroll down the bottom of the /sdcard and select the SailfishOS zip. Swipe to confirm and after around two minutes or so the installation will be complete.
 * Select Reboot et, voilà!

Problems

 * When plugged into a computer, every one in n boots/reboots will not bring lipstick up. Telnet then SSH will work as normal but on unplug/replug the device presents all of its mountpoints via MTP instead of providing USBnet.
 * Boot/shutdown/reboot are all very slow. This is in part probably due to the kernel command-line specifying a console and the speed being slow but there may be something else wrong...
 * Looks like the ALS may be a little too sensitive
 * Double-tap to wake not working
 * Headset detection apparently not working

Porting

 * requires droidmedia hacks from hadk-faq
 * requires audioflingerglue hacks from hadk-faq

Misc

 * apparently the Verizon variant doesn't have the FM module...