The Mer Wiki now uses your Mer user account and password (create account on https://bugs.merproject.org/)
Adaptations/libhybris/Install SailfishOS for hammerhead
(Add a link to what is apparently the newest work on SFOS for the Nexus 5) |
|||
(37 intermediate revisions by 7 users not shown) | |||
Line 1: | Line 1: | ||
− | + | {{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 10: | Line 22: | ||
** Windows: See http://wiki.cyanogenmod.org/w/Doc:_fastboot_intro for instructions | ** Windows: See http://wiki.cyanogenmod.org/w/Doc:_fastboot_intro for instructions | ||
− | * Download CyanogenMod 11 snapshot | + | * 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/ | + | * 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 | ||
− | === | + | ==== Hints ==== |
− | * | + | * If the CyanogenMod links do not work, use [http://archive.org The Wayback Machine]. |
− | * | + | * 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]. |
− | + | * This page's instructions will otherwise work fine with the newer beta5 install. | |
− | + | ||
− | = | + | * 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. |
− | + | === WIP Over-the-Air updates (OTA) === | |
− | < | + | # Open shell with normal nemo user |
− | + | # You can be on any Sailfish OS version you have installed before | |
− | + | # 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 | ||
+ | |||
+ | === How to Build Image Yourself === | ||
+ | |||
+ | * 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 | ||
+ | |||
+ | === Android-in-a-Window (sfdroid) === | ||
+ | |||
+ | {{SFDROID | ||
+ | | download_cm11 = https://www.dropbox.com/s/hwt3tjceomsfqbx/sfdroid-hammerhead.zip?dl=0 | ||
+ | }} | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | === MultiROM === | ||
+ | {{SFOS_Multirom}} | ||
=== 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 | |
Vendor: | Lg |
Product name: | Nexus 5 |
Sailfish OS version: | 2.0.2 |
Last update: | 03.10.2015 |
Sources: |
Contents |
[edit] Hardware Support
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
- 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/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.
- See below for MultiROM instructions
[edit] Hints
- If the CyanogenMod links do not work, use The Wayback Machine.
- If you are installing the 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 cm-12.1-20150901-SNAPSHOT-YOG4PAO237-hammerhead.zip.
- 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)
- Open shell with normal nemo user
- You can be on any Sailfish OS version you have installed before
- 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
- 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
[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:
- For CyanogenMod 10.1 base ROM: N/A
- For CyanogenMod 11.0 base ROM: https://www.dropbox.com/s/hwt3tjceomsfqbx/sfdroid-hammerhead.zip?dl=0
- Source code: https://github.com/krnlyng/sfdroid_renderer
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.
- MultiROM Installation instructions at http://forum.xda-developers.com/google-nexus-5/orig-development/mod-multirom-v24-t2571011
[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
- hotfix for bug 785
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