HTC Desire Z (htc-vision)

Contributors

 * mberndt
 * CmdrWgls
 * h3ndrik
 * (everyone on IRC)

What works

 * Display (framebuffer), 16 bit color depth
 * Touchscreen
 * Keyboard
 * USB networking
 * vibrator
 * Wifi

What doesn't work

 * 32 bit color depth ("red screen" issue)

Progress
What's been done:


 * device-htc-vision builds
 * linux-htc-vision builds (using milaq's kernel)
 * device boots

Cmdrwgls created pull request with his work. This work was later finished by mberndt in.

Installation Notes
Obviously you need an unlocked bootloader; refer to for instructions about that. S-OFF is not needed.

Installing the rootfs using fastboot doesn't work due to size limitations in the bootloader, therefore if you want to install postmarketOS to the internal memory, do an Android Recovery Zip Installation. postmarketOS is picky when it comes to the recovery. It works with CWM 6.0.5.0, see. It does not work with CWM 6.0.4.5 or TWRP 2.6.3.0.

Next steps

 * test more hardware: audio, camera, radio, bluetooth…
 * probably more firmware blobs are needed to get some of these working

Partition layout
Note that the practical partitions are small. The mmcblk0p25 (system) is 558M, mmcblk0p26 (data) is 1.1G.

For some reason  shows overlapping entries. The first 29 partitions seem to be the real ones.

$ fdisk -l /dev/mmcblk0 Omitting partitions after #60. They will be deleted if you save this partition table. Disk /dev/mmcblk0: 2.1 GiB, 2256535552 bytes, 4407296 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x00000000

Device         Boot   Start     End Sectors  Size Id Type /dev/mmcblk0p1 *          1    1000    1000  500K 4d QNX4.x /dev/mmcblk0p2          1001    1128     128   64K 45 unknown /dev/mmcblk0p3         1129   10128    9000  4.4M 46 unknown /dev/mmcblk0p4        10129 4407294 4397166  2.1G  5 Extended /dev/mmcblk0p5        10130   70129   60000 29.3M 49 unknown /dev/mmcblk0p6        70131   95130   25000 12.2M 50 OnTrack DM /dev/mmcblk0p7         95132   99227    4096    2M 51 OnTrack DM6 Aux1 /dev/mmcblk0p8        99229  105372    6144    3M 52 CP/M /dev/mmcblk0p9       105374  109469    4096    2M 53 OnTrack DM6 Aux3 /dev/mmcblk0p10      109471  111518    2048    1M 54 OnTrackDM6 /dev/mmcblk0p11      111520  113567    2048    1M 56 Golden Bow /dev/mmcblk0p12      113569  131071   17503  8.5M 55 EZ-Drive /dev/mmcblk0p13      131073  137216    6144    3M 4a unknown /dev/mmcblk0p14      137218  143361    6144    3M 4b unknown /dev/mmcblk0p15      143363  145410    2048    1M 74 unknown /dev/mmcblk0p16      145412  163326   17915  8.7M 75 PC/IX /dev/mmcblk0p17      163328  163839     512  256K 76 unknown /dev/mmcblk0p18      163841  165888    2048    1M 47 unknown /dev/mmcblk0p19      165890  167937    2048    1M 34 unknown /dev/mmcblk0p20      167939  170498    2560  1.3M 36 unknown /dev/mmcblk0p21      170500  187901   17402  8.5M 71 unknown /dev/mmcblk0p22      187903  196094    8192    4M 48 unknown /dev/mmcblk0p23      196096  196607     512  256K 73 unknown /dev/mmcblk0p24      196609  200702    4094    2M 26 unknown /dev/mmcblk0p25      200704 1343486 1142783  558M 83 Linux /dev/mmcblk0p26     1343488 3577854 2234367  1.1G 83 Linux /dev/mmcblk0p27     3577856 4192254  614399  300M 83 Linux /dev/mmcblk0p28     4192256 4234750   42495 20.7M 19 unknown /dev/mmcblk0p29     4234752 4235263     512  256K 23 unknown /dev/mmcblk0p30       10130   70129   60000 29.3M 49 unknown /dev/mmcblk0p31       70131   95130   25000 12.2M 50 OnTrack DM /dev/mmcblk0p32        95132   99227    4096    2M 51 OnTrack DM6 Aux1 /dev/mmcblk0p33       99229  105372    6144    3M 52 CP/M /dev/mmcblk0p34      105374  109469    4096    2M 53 OnTrack DM6 Aux3 /dev/mmcblk0p35      109471  111518    2048    1M 54 OnTrackDM6 /dev/mmcblk0p36      111520  113567    2048    1M 56 Golden Bow /dev/mmcblk0p37      113569  131071   17503  8.5M 55 EZ-Drive /dev/mmcblk0p38      131073  137216    6144    3M 4a unknown /dev/mmcblk0p39      137218  143361    6144    3M 4b unknown /dev/mmcblk0p40      143363  145410    2048    1M 74 unknown /dev/mmcblk0p41      145412  163326   17915  8.7M 75 PC/IX /dev/mmcblk0p42      163328  163839     512  256K 76 unknown /dev/mmcblk0p43      163841  165888    2048    1M 47 unknown /dev/mmcblk0p44      165890  167937    2048    1M 34 unknown /dev/mmcblk0p45      167939  170498    2560  1.3M 36 unknown /dev/mmcblk0p46      170500  187901   17402  8.5M 71 unknown /dev/mmcblk0p47      187903  196094    8192    4M 48 unknown /dev/mmcblk0p48      196096  196607     512  256K 73 unknown /dev/mmcblk0p49      196609  200702    4094    2M 26 unknown /dev/mmcblk0p50      200704 1343486 1142783  558M 83 Linux /dev/mmcblk0p51     1343488 3577854 2234367  1.1G 83 Linux /dev/mmcblk0p52     3577856 4192254  614399  300M 83 Linux /dev/mmcblk0p53     4192256 4234750   42495 20.7M 19 unknown /dev/mmcblk0p54     4234752 4235263     512  256K 23 unknown /dev/mmcblk0p55       10130   70129   60000 29.3M 49 unknown /dev/mmcblk0p56       70131   95130   25000 12.2M 50 OnTrack DM /dev/mmcblk0p57        95132   99227    4096    2M 51 OnTrack DM6 Aux1 /dev/mmcblk0p58       99229  105372    6144    3M 52 CP/M /dev/mmcblk0p59      105374  109469    4096    2M 53 OnTrack DM6 Aux3 /dev/mmcblk0p60      109471  111518    2048    1M 54 OnTrackDM6

Partition table entries are not in disk order.