flipped_vision

Differences between revisions 1 and 15 (spanning 14 versions)
Revision 1 as of 2013-07-29 11:20:47
Size: 5999
Editor: port-92-201-106-124
Comment:
Revision 15 as of 2014-01-18 17:16:58
Size: 10314
Editor: x2f4dc7e
Comment: Update mir status
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
|| Image maintainer(s) || w-flo || || Image maintainer(s) || [[https://launchpad.net/~florian-will|w-flo]] ||
Line 10: Line 10:
|| Update interval / last update || No automatic builds, last update 2013-07-28 || || Update interval / last update || No automatic builds, last update 2014-01-18. May freeze on first boot, see "known issues". ||
Line 13: Line 13:
|| Install instructions || Wipe/format system and data, then flash the android parts (cm-*.zip), then flash the modified-saucy-*.zip through recovery || || Install instructions || phablet-flash community --wipe -d vision (or see below for manual installation) ||
Line 20: Line 20:
This port is entirely based on the work of the Andromadus team. They maintain an inofficial CyanogenMod port for the Desire Z. If a feature is marked as "Perfect" that doesn't mean it works out of the box with only Ubuntu Touch and CyanogenMod. It means that it works without patches to Andromadus/Ubuntu/CyanogenMod, but the Andromadus patches are obviously required. Booting and using the device works as far as I can tell. As of 2014-01-18, Mir is enabled by default. Anything that involves radio and is not wifi is untested (i.e. Bluetooth, making calls, etc.).

This port is heavily based on the work of the Andromadus team. They maintain an inofficial CyanogenMod port for the Desire Z. If a feature is marked as "Perfect" that means that it works without code patches for Ubuntu, but still possibly a lot of patches for Andromadus. Also, "Perfect" features might still require vision-specific configuration files for Ubuntu Touch that are not included in the Ubuntu archive (yet?), only in the zip modification script linked above.
Line 31: Line 33:
||<bgcolor="#00ff99"> Graphics || GUI works with Andromadus repos (so obiously patches required for CyanogenMod) ||
||<bgcolor="#ffffcc"> Boot process || Works with some patches required for the Ubuntu initramfs and android container scripts for partition detection (i.e. hard code /dev/mmcblk0p26 etc.), Ubuntu plans for a more general solution for this ||
||<bgcolor="#cc3300"> Rotation || does not work, reason unknown ||
||<bgcolor="#c8c8c8"> Cellular Radio || No idea, no spare SIM card to test ||
||<bgcolor="#00ff99"> Wireless network || works with Andromadus repos (possibly minor patch for Andromadus repo is required, not tested without that in long time) ||
||<bgcolor="#C8C8C8"> Sound || don't know yet ||
||<bgcolor="#00ff99"> Touch || works with Andromadus repos ||
||<bgcolor="#cc3300"> Camera || Camera libraries depend on libjnigraphics which is not built for Ubuntu Touch and seems to have a lot of dependencies, so it is unlikely that this will be fixed ||
||<bgcolor="#C8C8C8"> Video Decode || don't know yet ||
||<bgcolor="#C8C8C8"> Suspend/Resume || don't know, seems to work (?? how to test ??) ||
||<bgcolor="#00ff99"> Graphics || GUI works using Surfaceflinger and Mir ||
||<bgcolor="#ffffcc"> Boot process || Hack required: Remove adbd+libcrypto from initrd to reduce its size. Manual fstab creation currently required (should be fixed in Ubuntu eventually, LP#1199084). ||
||<bgcolor="#00FF99"> Rotation || OK ||
||<bgcolor="#c8c8c8"> Cellular Radio || No idea, no spare SIM card to test. Tester reported successfully receiving a text message but then hitting some issues. ||
||<bgcolor="#00FF99"> Wireless network || OK ||
||<bgcolor="#FF9999"> Sound || Speaker and wired headphones work with some delay when playing first sound. Mic, headset mic, earpiece, bluetooth hardware and anything else audio-related still needs work (no spare SIM card and no bluetooth devices to test that stuff easily). ||
||<bgcolor="#00ff99"> Touch || OK ||
||<bgcolor="#cc3300"> Camera || Camera libraries depend on libjnigraphics which is not built for Ubuntu Touch and seems to have a lot of dependencies, so it is unlikely that this will be fixed. Actually I'm trying to get this to work now.. ||
||<bgcolor="#CC3300"> Video Decode || Used to work with new Ubuntu media stack, but fails to work now. Probably because of new GPU drivers and some PMEM/ION confusion.. ||
||<bgcolor="#00ff99"> Suspend/Resume || OK ||
Line 42: Line 44:
||<bgcolor="#ffffcc"> Storage Requirements || /data is only 1gb on the Desire Z. The modified rootfs has some tweaks to free up some space, e.g. the swap file is removed from the tarball. This is probably not upstreamable and might get worse in the future as new features are added to Ubuntu Touch. || ||<bgcolor="#ffffcc"> Storage Requirements || /data is only 1gb on the Desire Z. The modified rootfs has some tweaks to free up some space, e.g. the swap file is removed from the tarball. This is probably not upstreamable and as of 2013-11-30, /data is 88% full after flashing even with the modified rootfs.. ||
||<bgcolor="#00ff99"> Click Packages Confinement || OK ||
Line 46: Line 49:
 * Put these files on your SD card (download from google drive link above):
   * cm-10.1-20130728-UNOFFICIAL-vision.zip
   * modified-saucy-touch-armhf-20130726.1.zip
 * Wipe/format data and system (this is important, even when just updating to a newer *-touch-armhf-*.zip!)
Make sure that you know how to boot into recovery and how to use adb before you try this, as things can go wrong and you will need that knowledge to make your device work again.

You can use the phablet-flash utility to flash your device. It is important to use the --wipe parameter that will remove any existing userdata from /data and /cache. Chances are your device will fail to boot (black screen, no ADB, only recovery working) if you forget to wipe. Use this command: ''phablet-flash community --wipe -d vision'' . If phablet-flash fails to work while booted into ubuntu because adb does not work, try booting into recovery (hold volume down while booting) and then start phablet-flash.

Manual installation is possible, too:
 * Put the most recently published files on your SD card (download from google drive link above, you probably want the trusty version):
   * cm-10.1-''[DATE]''-UNOFFICIAL-vision.zip
   * modified-''[DISTRIBUTION]''-touch-armhf-''[DATE]''.zip
 * Wipe/format data (this is important, even when just updating to a newer *-touch-armhf-*.zip!) and possibly system partitions.
Line 53: Line 61:
== Unlocking instructions ==
See XDA Developers forums.
= Changelog (for vision specific things only!) =
 * 2014-01-18: (cm: 20140112, ubuntu: 20140116.1)
   * Default to Mir instead of surfaceflinger
 * 2013-11-30: (cm: 20131130, ubuntu: 20131130)
   * Only use andromadus repositories for vision-specific things, canonicals' phablet repos for everything else (improves Mir support). This required a few kernel changes too, like enabling ION.
   * Update adreno drivers to improve Mir support. Test Mir by executing ''touch /home/phablet/.display-mir'' in adb shell and then rebooting.
   * Update to trusty and free up some space by deleting some hopefully unimportant directories (help-langpack and some item sets)
 * 2013-10-18: (cm: 20131018, ubuntu: 20131017)
   * Turn trackpad button into a power button, otherwise it can no longer be used to turn the screen on
   * Disable trackpad navigation (left/right/top/down) since unity8 crashes when using it
   * Some fixes to get Mir working, but there's a crash bug / incompatibility in one of the vision libraries that is triggered by the latest Mir version, so it doesn't work anymore. Hopefully fixed in next image I upload.
 * 2013-10-03: (cm: 20131003, ubuntu: 20131003)
   * Fix headphones audio out
   * Kernel: Add hack for wifi driver so it no longer fails randomly on some boots; also update to andromadus kernel 3.0.96
   * No actual change on my end required for this, but possibly noteworthy: Video playback is now supported on the vision by Ubuntu
 * 2013-09-26: (cm: 20130924, ubuntu: 20130923)
   * Fix mtp (PC <-> Phone file transfer via USB), though currently this breaks adb
   * Fix auto brightness
   * Some work on making audio work again after Ubuntu switched from audioflinger to pulseaudio
   * Fix mounts
 * 2013-08-25:
   * Fixed click packages confinement (i.e. stock ticker, sudoku, dropping letters fixed)
   * Some kernel changes (upgraded to latest 3.0.x kernel, ported LCD backlight driver to make it ubuntu compatible)
Line 56: Line 85:
== link to images ==
See table above.
Line 60: Line 87:
 * Sometimes it fails to start (black screen) and surfaceflinger keeps on crashing. ADB still works. Workaround: Power off and reboot.
 * Phone app is unusable (GUI doesn't fit into the screen)
 * The first boot takes very long, ~5 minutes, and sometimes results in a hard freeze as of 2014-01-18. There is no boot animation, the screen just stays black for a long time. The screen may even turn off before the GUI comes up. If the phone freezes on first boot after flashing: Wait 10 minutes, if it still doesn't work, pull the battery and reboot.
 * As of 2013-11-30, ADB and MTP (usb file transfer) sometimes conflict. ADB might randomly fail after boot. If it fails and you want to use it, open the terminal app in Ubuntu and type "sudo restart android-tools-adbd", then enter "phablet" at the password prompt. Note that in order for phablet-flash to work, ADB must be active, so make sure it is -- or start phablet-flash when your phone is booted into recovery, which should always work.
 * If /data has more than a few MB used and phablet-flash is used without --wipe, phablet-flash won't show any error messages, but flashing and rebooting into Ubuntu fails (since only 1 out of 2 zip files flashed correctly). Always use --wipe. When manually flashing the ubuntu zip file, there is an error message if /data must be wiped.
 * camera doesn't work and seems unlikely to work in the future
Line 72: Line 101:
The Image contains blobs from https://github.com/Andromadus/proprietary_htc_vision with unknown redistributability status. The Image contains blobs from https://github.com/w-flo/proprietary_htc_vision with unknown redistributability status.

Warning /!\ Ubuntu Touch is no longer maintained as a core product by Canonical. However, the Ubports community are continuing development.

General

Device name

HTC Desire Z

Code name

vision

Image maintainer(s)

w-flo

Testers

-

Update interval / last update

No automatic builds, last update 2014-01-18. May freeze on first boot, see "known issues".

Unlocking instructions

see XDA Developers

Install instructions

phablet-flash community --wipe -d vision (or see below for manual installation)

Android code

https://github.com/w-flo/android (manifest repo)

Ubuntu zip modification script

https://github.com/w-flo/rootfs-modifier

Image download

https://googledrive.com/host/0Bxs9D2Kntc0kUW1GMm5NRWZVWTA/

State of things

Booting and using the device works as far as I can tell. As of 2014-01-18, Mir is enabled by default. Anything that involves radio and is not wifi is untested (i.e. Bluetooth, making calls, etc.).

This port is heavily based on the work of the Andromadus team. They maintain an inofficial CyanogenMod port for the Desire Z. If a feature is marked as "Perfect" that means that it works without code patches for Ubuntu, but still possibly a lot of patches for Andromadus. Also, "Perfect" features might still require vision-specific configuration files for Ubuntu Touch that are not included in the Ubuntu archive (yet?), only in the zip modification script linked above.

Legend

State

Explanation

Perfect

Everything works, all patches included in Ubuntu proper

Working

Works, minor issues only, some patches pending

W-I-P

Work in progress

Blocked/Broken

Severely broken, unusable or progress is blocked

Unknown

Unknown

What

Status/Comments

Graphics

GUI works using Surfaceflinger and Mir

Boot process

Hack required: Remove adbd+libcrypto from initrd to reduce its size. Manual fstab creation currently required (should be fixed in Ubuntu eventually, LP#1199084).

Rotation

OK

Cellular Radio

No idea, no spare SIM card to test. Tester reported successfully receiving a text message but then hitting some issues.

Wireless network

OK

Sound

Speaker and wired headphones work with some delay when playing first sound. Mic, headset mic, earpiece, bluetooth hardware and anything else audio-related still needs work (no spare SIM card and no bluetooth devices to test that stuff easily).

Touch

OK

Camera

Camera libraries depend on libjnigraphics which is not built for Ubuntu Touch and seems to have a lot of dependencies, so it is unlikely that this will be fixed. Actually I'm trying to get this to work now..

Video Decode

Used to work with new Ubuntu media stack, but fails to work now. Probably because of new GPU drivers and some PMEM/ION confusion..

Suspend/Resume

OK

Flashing

Patch required to flash Ubuntu parts, see Launchpad bug 1145984 and updated flash scripts in the ubuntu zip file modification script on github

Storage Requirements

/data is only 1gb on the Desire Z. The modified rootfs has some tweaks to free up some space, e.g. the swap file is removed from the tarball. This is probably not upstreamable and as of 2013-11-30, /data is 88% full after flashing even with the modified rootfs..

Click Packages Confinement

OK

Installation

Make sure that you know how to boot into recovery and how to use adb before you try this, as things can go wrong and you will need that knowledge to make your device work again.

You can use the phablet-flash utility to flash your device. It is important to use the --wipe parameter that will remove any existing userdata from /data and /cache. Chances are your device will fail to boot (black screen, no ADB, only recovery working) if you forget to wipe. Use this command: phablet-flash community --wipe -d vision . If phablet-flash fails to work while booted into ubuntu because adb does not work, try booting into recovery (hold volume down while booting) and then start phablet-flash.

Manual installation is possible, too:

  • Put the most recently published files on your SD card (download from google drive link above, you probably want the trusty version):
    • cm-10.1-[DATE]-UNOFFICIAL-vision.zip

    • modified-[DISTRIBUTION]-touch-armhf-[DATE].zip

  • Wipe/format data (this is important, even when just updating to a newer *-touch-armhf-*.zip!) and possibly system partitions.
  • Flash both zip files through recovery, the cm zip first, then the touch-armhf zip.
  • Reboot, read "known issues" below

Changelog (for vision specific things only!)

  • 2014-01-18: (cm: 20140112, ubuntu: 20140116.1)
    • Default to Mir instead of surfaceflinger
  • 2013-11-30: (cm: 20131130, ubuntu: 20131130)
    • Only use andromadus repositories for vision-specific things, canonicals' phablet repos for everything else (improves Mir support). This required a few kernel changes too, like enabling ION.
    • Update adreno drivers to improve Mir support. Test Mir by executing touch /home/phablet/.display-mir in adb shell and then rebooting.

    • Update to trusty and free up some space by deleting some hopefully unimportant directories (help-langpack and some item sets)
  • 2013-10-18: (cm: 20131018, ubuntu: 20131017)
    • Turn trackpad button into a power button, otherwise it can no longer be used to turn the screen on
    • Disable trackpad navigation (left/right/top/down) since unity8 crashes when using it
    • Some fixes to get Mir working, but there's a crash bug / incompatibility in one of the vision libraries that is triggered by the latest Mir version, so it doesn't work anymore. Hopefully fixed in next image I upload.
  • 2013-10-03: (cm: 20131003, ubuntu: 20131003)
    • Fix headphones audio out
    • Kernel: Add hack for wifi driver so it no longer fails randomly on some boots; also update to andromadus kernel 3.0.96
    • No actual change on my end required for this, but possibly noteworthy: Video playback is now supported on the vision by Ubuntu
  • 2013-09-26: (cm: 20130924, ubuntu: 20130923)
    • Fix mtp (PC <-> Phone file transfer via USB), though currently this breaks adb

    • Fix auto brightness
    • Some work on making audio work again after Ubuntu switched from audioflinger to pulseaudio
    • Fix mounts
  • 2013-08-25:
    • Fixed click packages confinement (i.e. stock ticker, sudoku, dropping letters fixed)
    • Some kernel changes (upgraded to latest 3.0.x kernel, ported LCD backlight driver to make it ubuntu compatible)

Known issues

  • The first boot takes very long, ~5 minutes, and sometimes results in a hard freeze as of 2014-01-18. There is no boot animation, the screen just stays black for a long time. The screen may even turn off before the GUI comes up. If the phone freezes on first boot after flashing: Wait 10 minutes, if it still doesn't work, pull the battery and reboot.
  • As of 2013-11-30, ADB and MTP (usb file transfer) sometimes conflict. ADB might randomly fail after boot. If it fails and you want to use it, open the terminal app in Ubuntu and type "sudo restart android-tools-adbd", then enter "phablet" at the password prompt. Note that in order for phablet-flash to work, ADB must be active, so make sure it is -- or start phablet-flash when your phone is booted into recovery, which should always work.
  • If /data has more than a few MB used and phablet-flash is used without --wipe, phablet-flash won't show any error messages, but flashing and rebooting into Ubuntu fails (since only 1 out of 2 zip files flashed correctly). Always use --wipe. When manually flashing the ubuntu zip file, there is an error message if /data must be wiped.
  • camera doesn't work and seems unlikely to work in the future

The image

How to build it

  • Use my github repo linked above to init the source tree using the repo tool (branch "master").
  • ". build/envsetup.sh" in the the source tree root
  • "brunch cm_vision-eng" in the the source tree root
  • The android zip file will be created in out/target/product/vision (cm-*.zip)
  • Download Ubuntu rootfs from http://cdimage.ubuntu.com/ubuntu-touch/daily-preinstalled/ and use the rootfs modifier script linked above (github) to make it work for the Desire Z. (see instructions on github)

Redistributability

The Image contains blobs from https://github.com/w-flo/proprietary_htc_vision with unknown redistributability status.

Legend

State

Explanation

Perfect

Redistributable, we're all happy

Maybe problematic

Might be redistributable, some open questions (comment)

Problematic

Not redistributable at all

Unknown

Unknown

Component name

Link to it

License (link or name)

Status / Comment'

Touch/Devices/flipped_vision (last edited 2014-01-18 17:16:58 by x2f4dc7e)