Remove All Ads from XDA

[ROM][Feb 6 2012] Pyr-o-Ice ICS 1.0.2 (Android 4.0.3,AOSPish desensed)|Cam&Camcorder

8,600 posts
Thanks Meter: 15,175
Post Reply Email Thread
This is a thread for a Deprecated version of Pyorice ICS Desensed. SMS problem is no longer present in the newer versions so you might as well switch to that.

Pyr-o-Ice ICS 1.0.1 stable for HTC Doubleshot aka myTouch4GSlide

A Pyramid HTC ICS ROM conversion based on the leaked ROMs ports by RCTeam and RMK @ virtuous (Virtuous Inquisition).
ICS AOSP 4.0.3 apps/gapps / Nova launcher beta 10 on htc's pyramid ICS framework and kornyone's HTC doubleshot kernel. ICS gapps preinstalled. It retains some of the aspects of the Sense base: most notably Caller Screen. Also using HTC Camera app (aosp doesnt work to full extent with the HTC libs that this ROM bases on).
Kernel with tun, encryption and cifs support.


0., Use latest CWM recovery and be S-off
1., Copy to SDcard
2., Full wipe needed
3., install the zip
4., After first boot, let the media scan (music) settle to fill your music apps and galleries, and read the TRICKS part below for useful tips.
5., Read this first post all through for a lot of information that might come handy!!

Stable, most stuff works with the known limitations, and it runs stable.

WARNING: DON'T SELECT System Settings / Wireless&networks More / Tethering&Portable Hotspot / Portable WIFI-Hotspot!!! It will freeze/reboot in cycle your phone!!! Use Barnacle + OpenGarden wifit tethering market apps instead, it works.
- DON'T TRY 1080p or MMS size in Video recording please, it doesnt work, and after it will make exit the Camera app when you try to take picture. If you did, a Reboot will fix it

Check "NOT works and What works part" and changelogs in second post, if theres any new versions later.


Credit goes to them for the base, and RMK for creatng a desensed, AOSP looking ROM.
Thank you RCTeam, rmk and Virtuous team!

Kernel is based on Kornyione's kernel and kernel tree of romanbb. Credit goes to him for his masterwork. Thank you, Kornyone!
Also to romanbb for his OC/UV kernel tree on github. Thanks!

nebkat for Trebuchet

kernel sources:

I've done additional tweaks to the pyramid libraries let the ROM work with WiFi, keyboard, lights, camera(photo) etc and a big heap of kernel testing.
This is my first ROM development, took a heap of time to tweak the ROM, a lot of trial and error, a heap of kernel debug and configuration, and some AOSP source code hacking went in.

What works:
- Call voice, SMS
- MMS sending/receiving (recommended app is handcent sms for that, works perfect, aosp one is buggy)
- Keyboard, hw keyboard rotation, softkeyboard when slided back
- 3D
- Camera (with SW jpeg encoding, gemini off!), tap focus, 8MPx, HTC camera app included for that
- Camcorder up to 720 (1080p doesnt work)
- SMP architecture (Scoring ~47 FPS on nenamark2 here on stock speed)
- Audio
- WiFi
- Mobile data
- Bluetooth (at least i've tested BT stereo audio and avrc, its not working with all the devices as its been reported)
- SDCard
- Market
- Gapps preinstalled (all works, gtalks video chat works!)
- GPS partially works if SIM card is in, but not the compass!
- youtube app
- FM radio
- Keyboard light, cycle though brightness setting if it doesn't trigger at firdt!
- tethering works with OpenGarden! (read TIPS -- doesnt work: the HTC or built-in tethering) GUIDE:
- Notification led
- Data usage stats for mobile data
- Face unlocking (System Settings/Security/Screen lock)
- Google Music ICS, streaming
- wired/bt Headset buttons (wired buttons work only with Music apps, not on the call screen)
- usb storage, works only in an automatic way,and YOU NEED TO RUN A SCRIPT, check here , or use a commercial app from market (look for dual mount sd)
- native screenshot (press Power and VolDown exactly at the same time for 3 seconds!)
- built-in spell checking (GAPPS 4.0.3 LatinIME is now good)
- wired Headset buttons when calling and in music apps
- All sensors
- bluetooth tethering
- supports audio output to tv through jack-avc cable with my soon to be released bruteforce tvout app ( )

NOT works:
- If you dont use a specific CallerID app, with the default HTC caller id screen, you will have to unlock your phone first to see who is calling.
- WiFi calling
- Facebook full sync: you HAVE to manually merge contacts, no other way known so far
- Slide lock screen: touching anywhere unlocks, even if you dont slide it. (workaround use a pattern unlock, or custom locker )
- Caller screen and dialer buttons would need a resize, but ATM i cannot recompile those apks, i couldnt find a way yet tell



This is a call for other devs for help. Mostly these issues:

- etc., bugs
- wifi calling

I don't have a lot of time for developing stuff!
No ETAs on my side, don't ask for it. If things get resolved by me or other devs here, I'll update.
To quote myself on my intentions:

I must admit that as far as devving goes, im only willing to develop stuff that bothers me in my rom that i use on my phone... i have very little time for this, and i do this mostly to have ICS on my phone. So don't count on me releasing other ROMs than this, or ironing all the bugs. I love to have ICS on this doubleshot beast, but rarely will i fix something that doesnt bother my daily usage.

I'm updating new things on @illespal follow it there,
and on gplus.



- If you're having trouble with occasional screen blackouts, please consider trying this:
Download Android Terminal Emulator from market. Start it, and type:
~ su
# echo -n 15 > /sys/devices/system/cpu/cpufreq/ondemand/up_threshold

- Screen on (trackpad wake replacement): you can press Power button, but the Menu and Back button will also wake the phone (not the trackpad yet, to be fixed in keylayout/keychar).

- Wifi tethering: read this:

- SDCard will be scanned only on the second boot after fresh install normally, so Music apps will see your music on the second time. After that works as it should.

- symbols symbols key doesn't work, when set in keylayout it makes home button useless and doesn't work itself. Use Alt + Space instead (thx overhauling for the tip)

- Facebook sync: seems it doesn't switch off when you switch the global sync off, go into app instead and switch it off there.

- Forced 2d GPU related info (apps too small sized) (thx Overhauling):

Also, Forcing GPU Rendering under development options may cause some apps to go crazy and show up super, super small (They won't even fit on 1/3 of the screen). But disabling this option makes them go back to normal.... You could observe these effects on the "WordMate" app (And other similar ones).

- Caller ID when incoming call needs screen unlocking - Full Screen Caller ID Lite from market can help the problem, it will override the lock screen.



Some applications did not work correctly for me, it crashes. If you can get Logcat of the crash posted here in this thread, that could be useful, tho I can't promise I'll
take care of them, but eventually if I or other devs have time it might be very usuful to have logcats.

BATTERY LIFE - CALIBRATION - User experience,(thx overhauling and dillalade)
About too fast drain:

I had a similar issue until I recalibrated my battery.

Anker 1900mah, setCPU and this ROM:

Yesterday/Today achieved a full 30hours with anker. 1900mah.

But I did setup setcpu with some very very stingy profiles... Although it didn't seem to hinder performance much at all.
Nice.... Battery stats defo detail that screen is taking half of the battery consistantly (across all 4 of my ankers.)

Recalibration app on market: - Generally you'll have to charge to 100%, use this app and then do a few drain to around 0%, charge to 100% cycles.

If you are a dev and found something useful, post it please here. Thank you!

review: review by mcdeezy thx
(sensors working: )
SCREENSHOT by st40611

DOWNLOAD: - 1.0.2 (the fixes below in UPDATES (if there's any ATM) apply on this, dont forget to download them and flash after this installer, before first boot)
Mirror: (later)
md5sum: ae778f18b5fb638f6e5124e6e14d4e22

If you like it, hit the Thanks button! Consider donation if you like what's provided here, it took a lot of time to get things work with doubleshot.


None since 1.0.2


AOSP status bar (system-ui) all credits to Shnizlon, thx:

AOSP status bar with Battery percent Circle style all credits to Shnizlon, thx

Sense based status bar, ICS blue icons with Extended Quick Settings tab

HTC Music with Beats settings, Courtesy of RMK40 and Virtuous team, made doubleshot pyroice rom installable: - flash it, and use the HTC music app. There while playing press Menu, and look for Enhancement. Should work with 0.9.0 and above (1.0.0 and 1.0.1, 1.0.2)

Red theme


OC/UV kernels here:


wireless tether for wifi tethering: barnacle tethering on market +, BOTH needed, read here:

Screenshot app Just press Power + VolDwn exactly at the same time. If you want another way, look for Screenshot ER lite on market.

Notification pulldown power menu Try widgetsoid 2.x from market. It can be personalized to show only in the Notification area (no widget), and color can be set to match the ICS blue. Very nice... Example shot:

sdcard pc mounting with usb workaround (COSTS MONEY!I'm not affiliated with it, just mentioning) this works with Pyr-O-Ice: - mounting SDcard to PC and still can use it with the phone at the same time, and works flawlessly.... Also you can use a simple script instead the app:
SD-Booster : market app to increase SD card read cache size. Speeds up SDCard read/write. Use at your own risk.

Jan-26-2012 - old 1.0.1: md5sum 5ef47da648f02595a782b587e8ece1f8
Jan-25-2012 - old 1.0.0:
Jan-20-2012 - old 0.9.1:
Jan-10-2012 - old 0.3.0:
Dec-30-2011 - old 0.2.0:
Dec-25-2011 - old 0.1.0 version:

I'm updating new things on @illespal follow it there,
and on gplus.
The Following 35 Users Say Thank You to tbalden For This Useful Post: [ View ]
27th December 2011, 05:14 PM |#2  
tbalden's Avatar
OP Recognized Developer
Flag Budapest
Thanks Meter: 15,175
Donate to Me
Reserved for changelogs

DONATORS HALL OF FAME: (in order of time)


Changelog of 1.0.2: - no full wipe needed coming from 1.0.1, also addons should work, red theme as well

- Moving to Trebuchet CM9 launcher (nova is suspected to cause blackouts of screen)
- supports audio output to TV through the jack-avc cable with the tvout app that will be released soon
- Fixes Data Usage limitation (already was released with latest flashable kernels)

Changlog of 1.0.1:
- Fix for MMS send/receive
- Removing Wifi Hotspot (it was unworking, and also freezes/reboots the phone)

Changlog of 1.0.0: Full wipe required from all versions
- Fix for sensors: orientation/accel/compass
- Removing duplicated apps

Changes of 0.9.1:

- fix for wifi signal strength reporting
- fix for Focus/Camera HW button (half depression focus)
- fix for video recording (camcorder) and hardware accelerated video playback
- Updated all gapps to AOSP 4.0.3 (credits to rmk40 and his inqusition rom)
- Removed wifi calling to test stability (might come back later if we get to the since leaked new sensation base, as a standalone flashable)
- OC/UV kernels for the kernel that is for 4.0.3 base (check KERNELS in OP)

Changlog for pyroice version 0.9.0 - FULL WIPE NEEDED! even if coming from 0.3.0!
- upgrade to android 4.0.3 base from new HTC Sensation beta leak ROM
- new adreno220 kernel driver merged from external kernel tree
- keyboard light fix for stronger light (already in the update named "fix-8" and the new optional kernels for 0.3.0)
- framework and libs of 4.0.3 fixed to work with doubleshot
- upgrade to AOSP apps 4.0.3, inquisition rom version 2.0.1
- replacing AOSP launcher with opensource Nova launcher beta 10 (resolves widget size bug with stock launcher)
- spell correction works now with new gapps
- more ui languages
- includes gingerbread 3d gallery to sync with picasa. ICS gapps gallery doesnt sync for unknown reason.
- using the system.ui of htc (notification bar part, rethemed by virtuous team) just like in Virtuous Inq 2.0.1, cause it shows the signal strength correctly
- subjective, but better battery life

Changelog for 0.3.0 - no need for full wipe if coming from 0.2.0. Otherwise Full-Wipe
- bash support
- camera (photo) fix
- face recognition fix
- some GPS settings in build.prop
- Call Volume granularity set up to 15 levels in build.prop, to make the headset minimum volume less loud (it hurted before that IMHO)
Updates (not flashable, will be in the full release 0.3.0):
- Updated to Inquisition 1.4.2: fixes HTC Camera's Gallery button, Lock screens Camera sliding works now, manual contact sync FCs fixed. (Check Virtuous Inquisition thread changelog). Thx, rmk!
- Inq 1.4.2 update bring nice changes to volume changing popup (AOSP look) and power theme is rectangular now.

Changelog for 0.2.0

You need full wipe!! From 0.1 as well.
- Call voice
- Buttons, hw keyboard additional buttons added (except SYM/WWW)
- HW kerboard orientation/SW keyboard
- HW keyboard lights/Notification lights
- Touchpad navigation instead of pointer
- Data usage stats
- Proximity
- FM radio works
- Updated to new Inquisition 1.4 apps/settings providers
- Google Music is the only music app now preinstalled - it plays FLAC and is 3d fun

Alternative kernels, 1.5GHz OC/UV and other versions:
pyroice 1.0.1 kernels:

For old 0.3.0 (android 4.0.1) rom: - DON'T USE THEM WITH PYROICE 0.9.0+!!
The Following 8 Users Say Thank You to tbalden For This Useful Post: [ View ]
27th December 2011, 05:14 PM |#3  
tbalden's Avatar
OP Recognized Developer
Flag Budapest
Thanks Meter: 15,175
Donate to Me

XDA post from January 2012 about this rom when it was just in alpha stage, thanks PoorCollegeGuy:

Development related
Framework and apps based on virtuous inquisition and cm kernel by kornyone modified by tbalden
currently camera status:
Works with gemini support configured OFF of the kernel.

If GEMINI were on, this former note applies:
I've traced down camera crash to kernel level. It seems that for some unknown reason, the Pyramid libraries are calling multiple pmem_mmap calls to /dev/pmem_adsp, which is currently unsuppported by the driver pmem_8x60 (doubleshot kernel /drivers/misc/pmem_8x60.c).
I've hacked it to not return -ENINV, instead it frees up the vm memory, and reallocates by the new parameters. This made the stuff not to crash, and preview is working.
However when takePicture in QualcommCameraZSL is done (/system/lib/, buffers are not okay, output buffer is lost, or 0 sized, no idea. LibGemini kernel drivers has no output buffer and thus fails to push the snapshot taken by the camera...
[  114.503625] pid 1868(mediaserver) file d8714000(6) cmd 0x40047008, dev pmem_adsp(id: 3)
[  114.515252] pid 1969(CamRunSnapshtTh) file c2183780(9) cmd 0x40047001, dev pmem_adsp(id: 3)
[  114.515465] pid 1969(CamRunSnapshtTh) file d8714000(6) cmd 0x40047001, dev pmem_adsp(id: 3)
[  114.595788] [CAM] msm_camio_clk_enable clktype:16
[  114.595940] [CAM] msm_camio_clk_enable clktype:17
[  114.598626] [CAM]msm_gemini_q_out:115] evt_q no entry
[  114.598900] [CAM]msm_gemini_q_out:115] output_rtn_q no entry
[  114.599022] [CAM]msm_gemini_q_out:115] output_buf_q no entry
[  114.599206] [CAM]msm_gemini_q_out:115] input_rtn_q no entry
[  114.599297] [CAM]msm_gemini_q_out:115] input_buf_q no entry
[  114.625847] [CAM]msm_gemini_q_out:115] input_buf_q no entry
[  114.625969] [CAM]msm_gemini_q_out:115] output_buf_q no entry
[  114.626152] [CAM]msm_gemini_start:740] no output buffer
[  114.633324] [CAM]msm_gemini_q_out:115] output_buf_q no entry
[  114.633507] [CAM]msm_gemini_we_pingpong_irq:348] no output buffer
[  114.645592] [KEY] gpio_event_input_irq_handler, irq=380, use_irq=1
[  114.645806] [KEY] gpio_event_input_irq_handler, irq=380, use_irq=1
[  114.645928] [KEY] gpio_event_input_irq_handler, irq=380, use_irq=1
[  114.646111] keypad_reprort_keycode: key 1-212, 4 (124) changed to 0
[  114.715325] pid 1834( file c23ce1e0(5) cmd 0x4004700b, dev pmem(id: 2)
[  114.726219] [KEY] gpio_event_input_irq_handler, irq=355, use_irq=1
[  114.726982] keypad_reprort_keycode: key 1-211, 3 (99) changed to 0
Android logcat
E/gemini  (  136): index 63 : nInversedQ 3276

E/gemini  (  136): ioctl gemini_lib_hw_set_quant_tables: rc = 0

E/gemini  (  136): gemini_lib_hw_config:542] success

D/mm-still(  136): jpege_engine_hw_input_buf_enq:451 gemini input pmem 1

E/gemini  (  136): gemini_lib_input_buf_enq:574] input_buf: 0x0x44af3800 enqueue 0, result 0

D/mm-still(  136):  quality 90 

D/mm-still(  136): jpege_engine_hw_output_buf_enq:383] quality_index 2 fs_table_index 0 size 2072176

D/mm-still(  136): jpege_engine_allocate_output_buf: buf_size 2072176 index 0 level 0

E/gemini  (  136): do_mmap:29] Open device /dev/pmem_adsp!

E/gemini  (  136): do_mmap:51] pmem_fd 110 addr 0x46722000 size 2072576

D/mm-still(  136): jpege_engine_allocate_output_buf:340] allocation suceeded y_len 2072176 

E/gemini  (  136): gemini_lib_output_buf_enq:603] output_buf: 0x0x46722000 enqueue 0, result 0

D/mm-still(  136): jpege_engine_allocate_output_buf:347] allocated size 2072576 index 1

D/mm-still(  136): jpege_engine_hw_output_buf_enq:407] num_output_buffers 1

E/gemini  (  136): ioctl /dev/gemini0: rc = 0

D/mm-still(  136): jpege_engine_hw_encode:1058] waiting for frame done event

E/gemini  (  136): gemini_lib_event_thread:133] MSM_GMN_IOCTL_EVT_GET rc = 0

E/gemini  (  136): gemini_lib_send_thread_ready:95], thread_id 1026512

E/gemini  (  136): gemini_lib_send_thread_ready:113], thread_id 1026512 done

E/gemini  (  136): gemini_lib_output_thread:170] MSM_GMN_IOCTL_OUTPUT_GET rc = 0

D/mm-still(  136): jpege_engine_hw_output_handler:565] buf->vaddr = 0x46722000, buf->y_len = 206344, framedone_len 0

D/mm-still(  136): jpege_engine_hw_output_handler:573] size 0

D/mm-still(  136): jpege_engine_send_encoded_data:555] total_size_received 0 output_buf_rcvd_cnt 1

E/gemini  (  136): gemini_lib_send_thread_ready:95], thread_id 1026640

E/gemini  (  136): gemini_lib_send_thread_ready:113], thread_id 1026640 done

D/mm-still(  136): jpege_engine_hw_encode:1067] waiting for all done... rc 0

E/gemini  (  136): gemini_lib_wait_done:638] gemini_lib_wait_thread_ready; event_handler 1026512

E/gemini  (  136): gemini_lib_wait_thread_ready:58], thread_id 1026512

E/gemini  (  136): gemini_lib_wait_thread_ready:62], event thread ready 1

E/gemini  (  136): gemini_lib_wait_thread_ready:89] thread_id 1026512 done

E/gemini  (  136): gemini_lib_wait_done:646] gemini_lib_wait_thread_ready: input_handler 1026576

E/gemini  (  136): gemini_lib_wait_thread_ready:58], thread_id 1026576

E/gemini  (  136): gemini_lib_wait_thread_ready:72], ready 0
Additional info Camera: i was informed by 'bricked' dev team's dev that the camera thing is mostly impossible to work with the old kernels we have for doubleshot. ZSL driver part in kernel were updated, changed. So sad to say that, camera fixing is on hold till a real HTC Sensation (pyramid) kernel will be out...that will be after they release a stable ICS release...lets hope they work fast.

Keyboard SYMBOL/WWW buttons:
editing the keylayout to add SYMBOL and WWW buttons results unworking Home keys. Gonna have to leave that unworking for now.
The Following 3 Users Say Thank You to tbalden For This Useful Post: [ View ]
27th December 2011, 05:18 PM |#4  
Emmanuel U's Avatar
Inactive Recognized Developer
Flag Chi-Town Suburbs
Thanks Meter: 2,608
I just jizzed a little bit....enough said
27th December 2011, 05:22 PM |#5  
Gh0sTly's Avatar
Flag Dayton
Thanks Meter: 4
Donate to Me
ICS? IN MT4GS? its more likely than you think!

Dude! This is great progress! We need ICS on the MT4GS.
I just hope one of the devs goes 100% SENSELESS with a ICS rom.
27th December 2011, 06:27 PM |#6  
DistrictDigital's Avatar
Senior Member
Flag Colorado
Thanks Meter: 42
I'm going to cry, dude. Thank you so much. Maybe our device will bring more to the table now!
27th December 2011, 08:04 PM |#7  
Litesorrows's Avatar
Senior Member
Flag Elgin
Thanks Meter: 26
You should talk to Undead over on Rootzwiki. He's an amazing DEV, I'm sure he can help you out.
27th December 2011, 08:04 PM |#8  
Emmanuel U's Avatar
Inactive Recognized Developer
Flag Chi-Town Suburbs
Thanks Meter: 2,608
I already Pm'd him
27th December 2011, 08:22 PM |#9  
overhauling's Avatar
Senior Member
Thanks Meter: 735
Donate to Me
This is great. I've been running it for 10 minutes and I already love ICS
27th December 2011, 09:32 PM |#10  
tbalden's Avatar
OP Recognized Developer
Flag Budapest
Thanks Meter: 15,175
Donate to Me
Further fiddling, and update: Fixed calling sound. It was the miniDSP config files that i used in the rom, from doubleshot... Using the ones from Pyramid, Call Voice is perfect......... Soon I'm gonna give you a new flashable fix for that...
27th December 2011, 09:56 PM |#11  
Litesorrows's Avatar
Senior Member
Flag Elgin
Thanks Meter: 26
Originally Posted by tbalden

Further fiddling, and update: Fixed calling sound. It was the miniDSP config files that i used in the rom, from doubleshot... Using the ones from Pyramid, Call Voice is perfect......... Soon I'm gonna give you a new flashable fix for that...

Any fix for the orientation? Other than that and the Camera this would be my new daily driver. I'm using ADW to fix the Homescreen Orientation. Also opening the browser, then sliding open the keyboard. Then closing the browser makes the Homescreen in Port.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes