The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)


Adaptations/libhybris/Install SailfishOS for hammerhead

From Mer Wiki
< Adaptations | libhybris(Difference between revisions)
Jump to: navigation, search
(How to Build Image)
(Add a link to what is apparently the newest work on SFOS for the Nexus 5)
 
(24 intermediate revisions by 6 users not shown)
Line 1: Line 1:
[[File:nexus5.jpg|400px|thumb]]
+
{{Hardware Adaptation
 +
| codename              = Hammerhead
 +
| vendor                = Lg
 +
| product              = Nexus 5
 +
| screenshot            = nexus5.jpg
 +
| sailfish_version      = 2.0.2
 +
| last_update          = 03.10.2015
 +
}}
 +
=== Hardware Support ===
 +
 
 +
{{Hadktableheader}}
 +
{{device_Hammerhead|function=Hadktablerow}}
 +
|}
  
 
=== Steps to install ===
 
=== Steps to install ===
Line 12: Line 24:
 
* Download CyanogenMod 11 snapshot M11 from https://download.cyanogenmod.org/get/jenkins/86435/cm-11-20141008-SNAPSHOT-M11-hammerhead.zip and follow instructions from http://wiki.cyanogenmod.org/w/Install_CM_for_hammerhead to install the CyanogenMod image.
 
* Download CyanogenMod 11 snapshot M11 from https://download.cyanogenmod.org/get/jenkins/86435/cm-11-20141008-SNAPSHOT-M11-hammerhead.zip and follow instructions from http://wiki.cyanogenmod.org/w/Install_CM_for_hammerhead to install the CyanogenMod image.
  
* Download Sailfish OS for Nexus 5 image from [http://images.devaamo.fi/sfe/hammerhead/alpha13/sailfishos-hammerhead-release-1.1.7.28-alpha13-201509101453.zip http://images.devaamo.fi/sfe/hammerhead/alpha13/sailfishos-hammerhead-release-1.1.7.28-alpha13-201509101453.zip] and flash it over CyanogenMod.
+
* Download Sailfish OS for Nexus 5 image from [http://images.devaamo.fi/sfe/hammerhead/beta0/sailfishos-hammerhead-release-1.1.9.28-beta0-201510022255.zip http://images.devaamo.fi/sfe/hammerhead/beta0/sailfishos-hammerhead-release-1.1.9.28-beta0-201510022255.zip] and flash it over CyanogenMod.
  
 
* Reboot the device and it should boot to Sailfish OS. If the device shows Google logo for 4-5 minutes, do a reboot using power button.
 
* Reboot the device and it should boot to Sailfish OS. If the device shows Google logo for 4-5 minutes, do a reboot using power button.
Line 18: Line 30:
 
* See below for MultiROM instructions
 
* See below for MultiROM instructions
  
=== WIP Over-the-Air updates (OTA) ===
+
==== Hints ====
* device lock seems to break after OTA, please help debugging/fixing that: https://bugs.nemomobile.org/show_bug.cgi?id=860
+
  
<nowiki>
+
* If the CyanogenMod links do not work, use [http://archive.org The Wayback Machine].
# open shell with normal nemo user
+
# you need to be on at least 1.1.6 (alpha12)
+
  
# if you want to OTA to 1.1.7 (alpha13), do this:
+
* If you are installing the [http://images.devaamo.fi/sfe/hammerhead/beta5/sailfishos-hammerhead-release-2.0.4.13-beta5-201610241556.zip beta 5] Nexus 5 image, rather than the beta0 one linked above, you will need to use a CyanogenMod 12.1 image rather than the CM11 one. A good, known working version is [http://sources.vsta.org/sailfish/cm-12.1-20150901-SNAPSHOT-YOG4PAO237-hammerhead.zip cm-12.1-20150901-SNAPSHOT-YOG4PAO237-hammerhead.zip].
RELEASE=1.1.7.28
+
REPO=sailfish_latest_armv7hl
+
  
# if you want to OTA to 1.1.9 (alpha14 WIP!) instead, do this:
+
* This page's instructions will otherwise work fine with the newer beta5 install.
RELEASE=1.1.9.28
+
REPO=sailfishos_1.1.9.28
+
  
devel-su sed -i -e "s|^adaptation=.*$|adaptation=http://repo.merproject.org/obs/nemo:/devel:/hw:/lge:/hammerhead/$REPO/|" /usr/share/ssu/repos.ini
+
* There is even newer work based on CM13, [http://talk.maemo.org/showthread.php?t=99377 this link] will take you to the thread on maemo.org.
  
ssu dr adaptation0
+
=== WIP Over-the-Air updates (OTA) ===
  
ssu release $RELEASE
+
# Open shell with normal nemo user
ssu dr extra
+
# You can be on any Sailfish OS version you have installed before
ssu dr mw
+
# Ensure that sailfish_latest_(architecture) repo on OBS points to the version you'll OTA to for best results (ping us on IRC if not sure)
ssu ar mw http://repo.merproject.org/obs/nemo:/devel:/hw:/common/$REPO/
+
ssu er mw
+
ssu ar dhd http://repo.merproject.org/obs/nemo:/devel:/hw:/lge:/hammerhead/$REPO/
+
  
# Because Jolla Store started working only recently, you may have
+
Currently available OTA versions:
# many of OpenRepos enabled. It's recommended to disable them, even
+
* for Nexus 4: 2.0.1.11
# though version --dup will do  best-effort to isolate repositories:
+
* for Nexus 5: 1.1.9.28, 2.0.0.10
ssu lr | grep openrepos
+
* (we're also coding an OTA update checker, sync with mal- at IRC and help with that!)
  
devel-su zypper clean -a
+
RELEASE=<the version> # e.g. RELEASE=2.0.0.10
devel-su zypper ref -f
+
 +
devel-su sed -i -e 's#^adaptation=.*$#adaptation=http://repo.merproject.org/obs/nemo:/testing:/hw:/lge:/hammerhead/sailfish_latest_armv7hl/#' \
 +
/usr/share/ssu/repos.ini
 +
 +
ssu dr adaptation0
 +
 +
ssu release $RELEASE
 +
ssu dr extra
 +
ssu dr mw
 +
ssu ar mw http://repo.merproject.org/obs/home:/RealJohnGalt:/testing:/common/sailfish_latest_armv7hl/
 +
ssu er mw
 +
ssu ar dhd http://repo.merproject.org/obs/nemo:/testing:/hw:/lge:/hammerhead/sailfish_latest_armv7hl/
 +
ssu lr
 +
# ^ double-triple check that no -two- enabled repos point to the same URL
 +
 +
# You may have many of OpenRepos enabled. It's recommended to disable them, even
 +
# though version --dup will do its best-effort to isolate repositories:
 +
ssu lr | grep openrepos
 +
 +
devel-su zypper clean -a
 +
devel-su zypper ref -f
 +
 +
version --dup
 +
# if above fails, try again
 +
version --dup
 +
 +
sync
 +
reboot
  
version --dup
+
=== How to Build Image Yourself ===
# if above fails, try again
+
version --dup
+
 
+
# In 1.1.9 this line is no longer needed:
+
devel-su zypper rm jolla-camera
+
 
+
sync
+
devel-su reboot
+
</nowiki>
+
 
+
=== How to Build Image ===
+
  
 
* Refer to https://sailfishos.org/hadk and download the porting guide PDF from Step 1 in that link
 
* Refer to https://sailfishos.org/hadk and download the porting guide PDF from Step 1 in that link
 +
* Automated Script - https://github.com/mer-hybris/build-script
  
* Automated Script - https://github.com/dmt4/sfa-mer
+
=== Android-in-a-Window (sfdroid) ===
  
=== Hardware Support ===
+
{{SFDROID
For current status of hardware support refer to https://wiki.merproject.org/wiki/Adaptations/libhybris
+
| download_cm11 = https://www.dropbox.com/s/hwt3tjceomsfqbx/sfdroid-hammerhead.zip?dl=0
 +
}}
  
 
=== Play Android OpenGL Classic Games ===
 
=== Play Android OpenGL Classic Games ===
Line 99: Line 119:
  
 
=== MultiROM ===
 
=== MultiROM ===
 
+
{{SFOS_Multirom}}
* MultiROM Installation instructions at http://forum.xda-developers.com/google-nexus-5/orig-development/mod-multirom-v24-t2571011
+
 
+
<gallery widths=500px heights=700px perrow=3 caption="MultiROM Install Steps">
+
File:mrom_sailfish_install_01.png|Select Sailfish ROM Type
+
File:mrom_sailfish_install_02.png|Select Cyanogenmod and Sailfish zips to install
+
File:mrom_sailfish_install_03.png|Select Install
+
</gallery>
+
  
 
=== Known Issues ===
 
=== Known Issues ===
 
Refer to [https://bugs.nemomobile.org/buglist.cgi?query_format=advanced&rep_platform=All&rep_platform=Some&rep_platform=hammerhead&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Hybris-ing&product=Hardware%20adaptation bugzilla] for list of known issues.
 
Refer to [https://bugs.nemomobile.org/buglist.cgi?query_format=advanced&rep_platform=All&rep_platform=Some&rep_platform=hammerhead&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&component=Hybris-ing&product=Hardware%20adaptation bugzilla] for list of known issues.
 +
 +
=== Changelog ===
 +
'''OTA to 2.0.2''' (unstable, for devs only)
 +
* Enabled noise/echo cancellation during the call
 +
 +
'''Beta0 - 3 October 2015'''
 +
* Sailfish OS UX v2.0 - [https://blog.jolla.com/sailfish-os-2-0-now-available/ more info], [https://together.jolla.com/question/107685/release-notes-119eineheminlampi-released/?sort=votes&page=1 release notes]
 +
* OTA ready: [[Adaptations/libhybris/Install_SailfishOS_for_hammerhead#WIP_Over-the-Air_updates_.28OTA.29|see how]]
 +
* Jolla Camera is back!
 +
* Regression bug: video recording broken :( please help on [https://bugs.nemomobile.org/show_bug.cgi?id=835 bug here]
 +
* New app to showcase: CodeReader
 +
 +
'''Alpha13 - 10 September 2015'''
 +
* Play classic Android OpenGL games from APK files (no apps only games)! [[Adaptations/libhybris/Install_SailfishOS_for_hammerhead#Play_Android_OpenGL_Classic_Games|Click here for instructions]]
 +
* [not working reliably?] Android's virtual SD Card is now mounted on bootup, so all photos, videos, music are now visible in Sailfish OS apps
 +
* MTP transfer mode works (not thoroughly tested), just choose "PC Connection" in Setting->System->USB
 +
* CameraPlus icons are now bigger \o/
 +
* New pre-installed apps: Books, Messwerk, Poor Maps, and SailorGram
 +
* Sailfish OS 1.1.7.28
 +
* WIP OTA only for those adventureous and who want to help polishing OTA: [[Adaptations/libhybris/Install_SailfishOS_for_hammerhead#WIP_Over-the-Air_updates_.28OTA.29|click here]]
 +
 +
'''Alpha12 - 19 June 2015'''
 +
* Support for 5GHz WLAN APs
 +
* Sailfish OS Update 15 ([https://together.jolla.com/question/95124/release-notes-116aaslakkajarvi/ release notes])
 +
* BUG: Jolla Store broken (server side), apologies but that's the burden we all have to bear until the Jolla Tablet comes out, in the meantime pls use Warehouse from Openrepos for apps (subscribe to [https://bugs.nemomobile.org/show_bug.cgi?id=822 bug] for updates)
 +
* FIXED in alpha13: Camera shows blackscreen when restoring the app. Can be worked around by restarting it (subscribe to [https://bugs.nemomobile.org/show_bug.cgi?id=834 bug] for updates)
 +
* BUG: Videos still have no sound, and app crashes on stop recording, but video is saved (subscribe to [https://bugs.nemomobile.org/show_bug.cgi?id=835 bug] for updates)
 +
 +
'''Alpha11 - 29 April 2015'''
 +
* Jolla Store hotfix
 +
* New libhybris from upstream
 +
* (tech bubbles:) Before Alpha10, porting underwent an important packaging reorg, which will make adaptation for future devices even easier and less cluttered
 +
 +
'''Alpha10 - 28 April 2015'''
 +
* BROKEN Jolla Store. This slipped through the cracks, sorry, fixing in the next hotfix soon out
 +
* Audio and video playback (MP3, MP4, H.264) works out-of-the-box using hardware accelerated codecs where applicable
 +
* Bigger hi-res icons (to match the font)
 +
* Sailfish OS early access Update 13 ([https://together.jolla.com/question/89804/release-notes-114-aijanpaivanjarvi-early-access/?sort=latest#sort-top release notes])
 +
* BUG: inverted wallpaper scrolling. Fix by creating a custom ambience ([https://blog.jolla.com/jolla-ambience-photo-campaign/ click here] for inspiration)
 +
* BUG: WLAN may forget AP after first reboot. Please re-associate with your AP again, and then it will work normally thereafter
 +
 +
'''Alpha9 - 7 April 2015'''
 +
* Camera! (Use cameraplus from app grid, native jolla-camera still needs love)
 +
* Video playback including embedded HTML5 videos
 +
 +
'''Alpha8 - 28 February 2015'''
 +
* All sensors!
 +
* Sailfish OS public Update 11
 +
 +
'''Alpha7 - 27 February 2015'''
 +
* Sailfish OS early access Update 11
 +
 +
'''Alpha6 - 29 January 2015'''
 +
* hotfix for [https://bugs.nemomobile.org/show_bug.cgi?id=785 bug 785]
 +
Also available as OTA fix for alpha5 owners [http://forum.xda-developers.com/google-nexus-5/development/rom-sailfish-os-alpha-t2841266/post58494353#post58494353 here].
 +
 +
'''Alpha5 - 14 January 2015'''
 +
* WLAN remembers last connected AP after reboot - [https://bugs.nemomobile.org/show_bug.cgi?id=731 bug] fixed
 +
* Sailfish OS Update 10
 +
* Fingerterm app scaled to the screen size
 +
* Help us close this [https://bugs.nemomobile.org/show_bug.cgi?id=784 bug] down - I could not reproduce it during 1st bootup
 +
'''Alpha4 - 18 December'''
 +
* Jolla Store enabled
 +
* Sailfish OS Update 9
 +
* Magnetometer support
 +
* Improved BT HID support (US bt keyboard layout provided)
 +
* Generic BT improvements
 +
 +
'''Alpha3 - 18 August'''
 +
* Bluetooth
 +
* Allow untrusted software
 +
* Filemanager app
 +
* USB connection dialogue: Developer mode, USB tethering, charging, ...
 +
* Devicelock
 +
 +
'''Alpha2 - 10 August'''
 +
* MultiROM
 +
* LEDs
 +
 +
'''Alpha1 - 7 August'''
 +
* Initial release

Latest revision as of 14:41, 23 October 2017




Hammerhead
Nexus5.jpg
Vendor: Lg
Product name: Nexus 5
Sailfish OS version: 2.0.2
Last update: 03.10.2015
Sources:

Contents

[edit] Hardware Support

Legend:  Y  - Working (y=hack),  Y  - HAL works, not hooked up to UI/MW/init yet,  N  - Not working,  ?  - Untested,  N/A  - N/A on device.
Device released Linux
Kernel
Display Touch LED Audio NFC Bluetooth GSM WLAN GPS Camera Fingerprint Sensors Keys Vibra Haptics Power
Mgmt.
RTC
alarms
USB FM Radio
SMS Voice Data Connect Hotspot ALS PS Accel. Gyro. Magne. Vol+/- Home Net. Charge
3.4.0 Y Y Y Y  ? Y Y Y Y Y N Y Y  ? Y Y Y Y Y Y N/A Y Y Y N Y Y N/A

[edit] Steps to install

  • Install adb and fastboot on your workstation :
    • Debian/Ubuntu: apt-get install android-tools-adb android-tools-fastboot
    • Fedora: yum install android-tools
    • Mageia: urpmi android-tools (included in upcoming relase of Mageia 5).
    • OpenSUSE: zypper in android-tools
    • Mac OS X: Install Homebrew from http://brew.sh/, then: brew install android-platform-tools
    • Windows: See http://wiki.cyanogenmod.org/w/Doc:_fastboot_intro for instructions
  • Reboot the device and it should boot to Sailfish OS. If the device shows Google logo for 4-5 minutes, do a reboot using power button.
  • See below for MultiROM instructions

[edit] Hints

  • This page's instructions will otherwise work fine with the newer beta5 install.
  • There is even newer work based on CM13, this link will take you to the thread on maemo.org.

[edit] WIP Over-the-Air updates (OTA)

  1. Open shell with normal nemo user
  2. You can be on any Sailfish OS version you have installed before
  3.  Ensure that sailfish_latest_(architecture) repo on OBS points to the version you'll OTA to for best results (ping us on IRC if not sure)

Currently available OTA versions:

  • for Nexus 4: 2.0.1.11
  • for Nexus 5: 1.1.9.28, 2.0.0.10
  • (we're also coding an OTA update checker, sync with mal- at IRC and help with that!)
RELEASE=<the version> # e.g. RELEASE=2.0.0.10

devel-su sed -i -e 's#^adaptation=.*$#adaptation=http://repo.merproject.org/obs/nemo:/testing:/hw:/lge:/hammerhead/sailfish_latest_armv7hl/#' \
/usr/share/ssu/repos.ini

ssu dr adaptation0

ssu release $RELEASE
ssu dr extra
ssu dr mw
ssu ar mw http://repo.merproject.org/obs/home:/RealJohnGalt:/testing:/common/sailfish_latest_armv7hl/
ssu er mw
ssu ar dhd http://repo.merproject.org/obs/nemo:/testing:/hw:/lge:/hammerhead/sailfish_latest_armv7hl/
ssu lr
# ^ double-triple check that no -two- enabled repos point to the same URL

# You may have many of OpenRepos enabled. It's recommended to disable them, even
# though version --dup will do its best-effort to isolate repositories:
ssu lr | grep openrepos

devel-su zypper clean -a
devel-su zypper ref -f

version --dup
# if above fails, try again
version --dup

sync
reboot

[edit] How to Build Image Yourself

[edit] Android-in-a-Window (sfdroid)

For project status, bugs, and changelog click here.

Installation:

devel-su pkcon refresh
devel-su pkcon install SDL2
# hammerhead only:
devel-su usermod -G net_bt_stack -a nemo
sync
reboot
# and enter recovery

Download appropriate .zip file:

It has been tested against SFOS 2.0.0.10, check for differences in init.rc for other versions before flashing (even though they should change rarely at this point).

  • Install this zip via TWRP (used as example here) or CWM:
    • MultiROM: via Advanced->Multirom->List Roms->your rom->Flash Zip
    • Non-MultiROM: choose to Flash Zip or adb sideload (WARNING! If you ever use fastboot boot boot.img to boot to underlying CM, sfdroid will break that! To fix, you need to put back the original libsurfaceflinger.so)
  • Reboot (might take longer than usual, screen might become unresponsive for a few seconds)
  • Launch sfdroid from the App Grid

[edit] Play Android OpenGL Classic Games

devel-su zypper in apkenv

Find a game's APK on the Internet that matches _exact version_ from this list: http://wiki.maemo.org/Apkenv/Game_Compatibility

Once downloaded, perform in Terminal as normal user, e.g.:

apkenv Angry_Birds_2_3_0.apk

Enjoy!

You're welcome to help us by writing a small UI app that manages/launches those, or provides .desktop files.

Games tested on Nexus 5 successfully:

Amazing Alex
Angry Birds
Cut the Rope
Fruit Ninja
Petals Redux
Plants vs. Zombies (no sound, WIP)
Rabit Game 2
Super Hexagon
World of Goo

To join the effort (or request a game), join #apkenv IRC channel on Freenode

Android Dalvik/Art apps are _not_ supported by apkenv.

[edit] MultiROM

Here as example we'll use hammerhead (Nexus 5) instructions. They are similar for other devices.

[edit] Known Issues

Refer to bugzilla for list of known issues.

[edit] Changelog

OTA to 2.0.2 (unstable, for devs only)

  • Enabled noise/echo cancellation during the call

Beta0 - 3 October 2015

  • Sailfish OS UX v2.0 - more info, release notes
  • OTA ready: see how
  • Jolla Camera is back!
  • Regression bug: video recording broken :( please help on bug here
  • New app to showcase: CodeReader

Alpha13 - 10 September 2015

  • Play classic Android OpenGL games from APK files (no apps only games)! Click here for instructions
  • [not working reliably?] Android's virtual SD Card is now mounted on bootup, so all photos, videos, music are now visible in Sailfish OS apps
  • MTP transfer mode works (not thoroughly tested), just choose "PC Connection" in Setting->System->USB
  • CameraPlus icons are now bigger \o/
  • New pre-installed apps: Books, Messwerk, Poor Maps, and SailorGram
  • Sailfish OS 1.1.7.28
  • WIP OTA only for those adventureous and who want to help polishing OTA: click here

Alpha12 - 19 June 2015

  • Support for 5GHz WLAN APs
  • Sailfish OS Update 15 (release notes)
  • BUG: Jolla Store broken (server side), apologies but that's the burden we all have to bear until the Jolla Tablet comes out, in the meantime pls use Warehouse from Openrepos for apps (subscribe to bug for updates)
  • FIXED in alpha13: Camera shows blackscreen when restoring the app. Can be worked around by restarting it (subscribe to bug for updates)
  • BUG: Videos still have no sound, and app crashes on stop recording, but video is saved (subscribe to bug for updates)

Alpha11 - 29 April 2015

  • Jolla Store hotfix
  • New libhybris from upstream
  • (tech bubbles:) Before Alpha10, porting underwent an important packaging reorg, which will make adaptation for future devices even easier and less cluttered

Alpha10 - 28 April 2015

  • BROKEN Jolla Store. This slipped through the cracks, sorry, fixing in the next hotfix soon out
  • Audio and video playback (MP3, MP4, H.264) works out-of-the-box using hardware accelerated codecs where applicable
  • Bigger hi-res icons (to match the font)
  • Sailfish OS early access Update 13 (release notes)
  • BUG: inverted wallpaper scrolling. Fix by creating a custom ambience (click here for inspiration)
  • BUG: WLAN may forget AP after first reboot. Please re-associate with your AP again, and then it will work normally thereafter

Alpha9 - 7 April 2015

  • Camera! (Use cameraplus from app grid, native jolla-camera still needs love)
  • Video playback including embedded HTML5 videos

Alpha8 - 28 February 2015

  • All sensors!
  • Sailfish OS public Update 11

Alpha7 - 27 February 2015

  • Sailfish OS early access Update 11

Alpha6 - 29 January 2015

Also available as OTA fix for alpha5 owners here.

Alpha5 - 14 January 2015

  • WLAN remembers last connected AP after reboot - bug fixed
  • Sailfish OS Update 10
  • Fingerterm app scaled to the screen size
  • Help us close this bug down - I could not reproduce it during 1st bootup

Alpha4 - 18 December

  • Jolla Store enabled
  • Sailfish OS Update 9
  • Magnetometer support
  • Improved BT HID support (US bt keyboard layout provided)
  • Generic BT improvements

Alpha3 - 18 August

  • Bluetooth
  • Allow untrusted software
  • Filemanager app
  • USB connection dialogue: Developer mode, USB tethering, charging, ...
  • Devicelock

Alpha2 - 10 August

  • MultiROM
  • LEDs

Alpha1 - 7 August

  • Initial release
Personal tools