flipped_vision

Differences between revisions 12 and 13
Revision 12 as of 2013-10-18 19:05:45
Size: 9345
Editor: port-92-201-116-97
Comment: Update for new image
Revision 13 as of 2013-11-30 21:43:49
Size: 10194
Editor: x2f4e99c
Comment: Update for new image
Deletions are marked like this. Additions are marked like this.
Line 10: Line 10:
|| Update interval / last update || No automatic builds, last update 2013-10-18 || || Update interval / last update || No automatic builds, last update 2013-11-30 ||
Line 20: Line 20:
Booting to the Unity 8 shell works using flipped containers (i.e. booting into Ubuntu directly, then spawning an android container, instead of the old way of booting into android, then starting an Ubuntu chroot). Booting and using the device works as far as I can tell, but anything that involves radio and is not wifi is untested (i.e. Bluetooth, making calls, etc.). As of 2013-11-30, Mir can be enabled and it seems to work quite well. To enable Mir, use this command while your phone is plugged in (then reboot):

''adb shell touch /home/phablet/.display-mir''
Line 33: Line 35:
||<bgcolor="#00ff99"> Graphics || GUI works ||
||<bgcolor="#ffffcc"> Boot process || Hack required: Remove adbd+libcrypto from initrd to reduce its size. Manual fstab creation currently required (should be fixed on Ubuntu side soon). ||
||<bgcolor="#00FF99"> Rotation || Works with patches for andromadus init to get rid of the "compass" user. ||
||<bgcolor="#c8c8c8"> Cellular Radio || No idea, no spare SIM card to test, testers required ||
||<bgcolor="#00FF99"> Wireless network || Works with dirty kernel hack and modifying init.rc to insmod the bcmdhd module. ||
||<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 || Works ||
||<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="#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.. ||
Line 42: Line 44:
||<bgcolor="#00ff99"> Suspend/Resume || Works || ||<bgcolor="#00ff99"> Suspend/Resume || OK ||
Line 44: Line 46:
||<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. ||
||<bgcolor="#00ff99"> Click Packages Confinement || Works, vision specific access rules are now upstreamed. ||
||<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 49: Line 51:
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'' 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.
Line 60: Line 64:
 * 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)
Line 79: Line 87:
 * The first boot takes very long, more than 4 minutes. There is no boot animation. The screen might turn off before the GUI comes up and you have to re-enable the screen using the trackpad or the power button after a few minutes to see the GUI. Subsequent boots are somewhat faster but still slow.
 * As of 2013-10-03, ADB and MTP (usb file transfer) still appear to be mutually exclusive and either ADB or MTP randomly fails after boot. ADB fails to work most of the time. If you need ADB, 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).
 * When /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.
 * The first boot takes very long, usually more than 5 minutes. There is no boot animation, the screen just stays black for a long time. The screen will even turn off before the GUI comes up and you have to re-enable the screen using the power button after a few minutes to see the GUI. Subsequent boots are relatively fast now.
 * 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.
Line 93: 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 2013-11-30

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, but anything that involves radio and is not wifi is untested (i.e. Bluetooth, making calls, etc.). As of 2013-11-30, Mir can be enabled and it seems to work quite well. To enable Mir, use this command while your phone is plugged in (then reboot):

adb shell touch /home/phablet/.display-mir

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

Surprisingly works now with new Ubuntu media stack, at least for mp4 files

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):
    • cm-10.1-[DATE]-UNOFFICIAL-vision.zip

    • modified-saucy-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!)

  • 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, usually more than 5 minutes. There is no boot animation, the screen just stays black for a long time. The screen will even turn off before the GUI comes up and you have to re-enable the screen using the power button after a few minutes to see the GUI. Subsequent boots are relatively fast now.
  • 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)