[EVO 4G Android Development] TrevE:
Latest Download:

**DAMAGE IS GETTING MARRIED THIS WEEK!! (congratz man) I WILL BE KEEPING UP POST 2 WITH LATEST INFO UNTIL HE GETS BACK**

Latest Version- DC 3.2.3

I HAVE COMPARED THE RUU JUST RELEASED TO THE OTA FILES WE USED TO START WITH FOR THIS RELEASE WE ARE 100% MATCH. SEE THERE WAS NO REASON TO WAIT WE HAVE HAD RIGHT FILES IN THIS SINCE THE DAY THE OTA WAS RELEASED!

ALSO NOTE 3.2.2 AND HIGHER REQUIRE NEW RADIO AND WIMAX UPDATE FOR 4G!!! SEE BELOW FOR MORE!

===============

LINPAQ HALL OF FAME

===============

Post your best linpaq scores and ill throw them up here.

12.003 -Jykinturah - http://xdaforums.com/showpost.php?p=7113677&postcount=5443

11.976 - Jykinturah - http://xdaforums.com/showpost.php?p=7112414&postcount=5411

11.768 jmxp69 - http://xdaforums.com/showpost.php?p=7177119&postcount=6259

11.469 -nize2beme - http://xdaforums.com/showpost.php?p=7110505&postcount=5356

11.349 - jonesdana - http://xdaforums.com/showpost.php?p=7110712&postcount=5361

11.349 - welrope - http://xdaforums.com/showpost.php?p=7107594&postcount=5247

11.325 - jonesdana - http://xdaforums.com/showpost.php?p=7102111&postcount=5138

10.698 - welrope - http://xdaforums.com/showpost.php?p=7107368&postcount=5241

========

Changelog -

========

dc 3.2.3

Mirror http://www.4shared.com/file/0Qsusd3V/DamageControlv323_deodexed.html

LWP FIX - &postcount=4676

Older Builds:

fixes qik fc, teeter fc, 4g issues, dcpowertop & flash from wipe

if your having 4g issues with this see below.

-New build based on Todays Sprint Release.

-New DConfig look! DO NOT USE WIRELESS N IT SHOULD BE ENABLED ALREADY FROM SPRINT

-Themes are not in DCUpdater yet. I deodexed the framework and am not sure if anything changed.

DC 3.2.1

-JIT Stability fixes. Its still not perfect but getting better:

Using gr0gmint's new modified JIT dll's (thank man). This may work with sense but its way more stable without. More @ ?t=684535

(for this build JIT is always visable next to the profile dropdown. Be careful with it, kinda gotta rethink how this form looks/works.

If you enable JIT use the checkbox on the mainscreen, choose a battery profile & press reset. It will configure your heap & banned apps for you. If you still have JIT issues try boosting heap in DConfig up to 48m)

-Apps2SD - Disabled by default, but Apps & Dalvik moves to sd are supported in this build, read post 2 for everything you need to know. Audio & Text to sd build has been given out to testers. (coming soon)

-Updated DConfig to include options for Apps2SD. Also has profile & banned apps fixes

--Dconfig may work again on hero/other devices with a few dc.conf changes (needs testing)

-Even more battery and performance tweaks along with many backend stability fixes in initial boot script.

-Fixes fsck error checking on boot

-Fixed HTC Widget Download issue with deodexed

-Updated Geniewidget

-Updated google maps

-tweaked firstboot /system/app zipalign

-removed AdBlocking host file. If you want to readd get "AdFree Android" app from BigTinCan on market.

-Possible Bluetooth fixes

DC 3.2

-themes & lockscreen fixes are available in DCUpdater now! See themes section below for more.

-odex & deodex version available now. see odex vs deodex below for more.

-new dconfig. Performance profiles added with a few preset values.

-further tweaked some battery saving options

-fixed wifitether issue

-added chuckhriczko wireless N patch. Use Dconfig to enable.

-fixed issue causing people who arent properly nand unlocked to loop. without nand unlocked we cant write to system so some features of dconfig are disabled.

-worked on JIT. Should be more stable. Still an advanced option, enable at your own risk after reading post 2 fully.

-enhanced banned apps code a bit. Should allow for more advanced configurations soon.

============

PreReqs

============

This rom assumes you are fully rooted with nand unlocked. If you bootloop after flashing try wiping & reflashing. If that doesnt work MAKE SURE YOU ARE NAND UNLOCKED.

I used toast2of2 method, you can do whatever you are comfortable with. Guys over at androidpolice did a writeup on how to flash using DC as an example - Read it here

Also we assume you have nandroided. This is a saving grace if things go wrong. If you have no clue what i just said webs05 wrote a guide over at ?t=710513

========================

4G INFO/HOW TO FLASH

========================

Because DC 3.2.2 or higher is built on OTA update you MUST have proper radio/wimax to use. You should only have to flash with witslacks method ONCE before going to 3.2.2 or higher. If you are already on 3.2.2+ with working 4g just flash update.zip as normal. DC update.zips or nandroids will not touch radios so theory is once your good your good.

Do not flash update.zip's to update radio or wimax itll just give you more problems than its worth. If you used them previously you may also continue to have issues. These are the radio's fault, not DC's. Witslacks PC36IMG-1.47.651.1_eng-hboot_RA-1.7.0.1.zip has been tested/confirmed over and over and the only thing id use.

Instructions

-

If you are coming from a previous version of DC make a nandroid backup first. Then follow witslacks method:

http://xdaforums.com/showthread.php?t=715915

After you follow his WHOLE process boot to a recovery console. Just use that to flash the DC zip, or restore your nandroid (wont touch radios) After you flash DC update profile/PRL and enjoy 4g.

If you are stuck scanning for 4g

go into adb shell

ls /data/misc/wimax/

look for a file with your macaddress ending in .tree.xml. we want to move that to another location so it gets regenerated.

mv /data/misc/wimax/macaddress.tree.xml /data/misc/wimax/macaddress.tree.xml.orig

-If you still have 4g problems:

see this post http://xdaforums.com/showpost.php?p=7020516&postcount=3826 You must verify all your MAC addresses are sane. Also your Username/Pass must be valid.

To give us a 4g error report:

====================

Known Issues

====================

this has been stated over 9000 times YOU MUST BE FULLY NAND UNLOCKED TO USE THIS!! If you arent you will have bootloops/other issues.

*Lockscreen - When you remove HTCLockscreen the vanilla one is broken up to 3.2.3. Proper fixes are now in DCUpdater

*DCUpdater FC will occur if you have your SDCard mounted or it cannot write to the fat32 partition for some reason. Just unmount your card.

*Clockwork Recovery - clockwork recovery does not play nice with dcupdater. You will end up in a different part of recovery with a green arrow or android guys skating.

If your using clockwork just press update later after dcupdater downloads update reboot into recovery and manually apply the update from /sdcard/dcupdater/updates

*JIT Stability. Working better in 3.2.1+ let me know how latest is.

*Themes from 3.2.1 and previous may not work in 3.2.2. They will cause a com.htc.bg crash.

*Wireless N in 3.2.2+ its enabled by default by sprint. DO NOT ENABLE THIS OPTION IN DCONFIG OR WIFI WILL NOT WORK

====================

Odex vs Deodex

====================

Theres plenty of debate over what is faster/better to use, im not going to take sides in this one. This is just information about what the differences in the two are, try for yourself.

Deodex basically takes the odex file and stuffs it into the apk as a classes.dex. First boot it dissembles the file into /dalvik-cache (i believe). Now there is basically 2 copies of the odex, one in the apk one in cache. This makes it "portable". This allows modders to work on the apks & easily change stuff. If you want themes or stuff like lockscreen fixes you MUST use Deodex.

Odex is how things come stock. It takes up less room but making modifications or taking apks from other roms is hard.

You cannot use themes with this version!!

To see odex in dcupdater you must go to menu -> configuration -> rom update settings -> display all roms & display experimental roms. Its marked experimental to avoid confusion because themes in dcupdater will not work with it.

DC 3.2 after fresh wipe without setting sync accts up and no a2sd:

Odex - 374 MB free

Deodex - 329 MB free

====================

General Stuff

====================

-Themes are trickling into DCUpdater. They will only work with the DEODEXED rom. Same with lockscreen fix.

-Firstboot script will cause phone to sit on white HTC EVO 4G screen if you are upgrading for a few minutes. Watch logcat if your paranoid.

-Do not use SetCPU if you are on the stock HTC kernel (perflock on kernel) it will just cause issues. If you have a modded one go ahead

-No need for taskkillers with lowmemkiller. Really just cause more issues than their worth.

-If your accounts & sync FC after upgrading from another rom you can try to do the following but be warned you will need to resync everything

adb remount
adb shell rm /data/system/accounts.db
adb reboot

Hackvan sent me a heads up to a fix that does not require you to resync from thread: http://xdaforums.com/showthread.php?p=7159566

adb shell
cd /data/system
echo 'delete from accounts where type LIKE "com.htc%";' |sqlite3 accounts.db

-it really helps us if you can reproduce FC's to restart phone, reproduce issue without doing anything else first then use send bug report.

-this rom has so many configurations now its hard to keep up. When posting an issue please make sure you have checked post 2 & be as detailed as possible

(Deodexed/Odexed/DConfig Settings/Skins or other Update.zips applied)

============

Powertop

============

powertop will also reveal stuff hogging wakeups. The less wakeups you have the better battery life will be.

The main thing you will want to diagnose is wakeups when the screen is off and the phone idle. Shut your screen off when connected to usb and wait about 30 seconds, then run

adb shell dcpowertop

Your wakeups should be around 50-80. If your higher than that you could have a problem. If you see something there in question try to run the following to find what apk the thread belongs to:

a powertop example of tracking down an apk can be seen over at &postcount=2502

==============

Other Battery Tips

==============

-If you wipe data to start new with rom you are also wiping your battery stats so things can get out of whack. Cyanogen has a good howto on battery calibration

http://wiki.cyanogenmod.com/index.php/Troubleshooting#Battery_recalibration

-Turn off rotation. the akm8973 driver seems to be a hog when screen is on. even tho i loved rotation in helix i get much better battery life with it off.

-If you sync stuff constantly try jumping on wifi where possible. Also 4g is a powerhog keep it off if not using it.

-in accounts and sync disable background data if you dont have any mission critical data that sync.

-Make sure you are not at 100% awake time. in settings -> about phone -> battery the awake time should be less than up time (unless your plugged into usb). If its the same wipe data reflash and add your apps one by one.

-The battery use screen in 'settings -> about phone -> battery' is a bit limited. Things like a high time without a signal can cause battery drain.

-I also like checking the the "advanced" battery use screen. Open a dialer and dial the code below. Then go to battery history. Partial wake usage usually shows more information on whats hogging wake. Sensor/GPS/Network/CPU is also revealing sometimes, these all eat battery.

*#*#4636#*#*

-Use an app such as OSMonitor from market to check out whats using CPU in realtime

-Apply battery saver config in dconfig. If its too slow for you turn the sampling rate down one.

============

Themes

============

- Here is a preview of just some of the items in dcupdater. we will link back to the original themers thread below if you have problems with the theme start there.

More will be coming, if you want to see your themes here or in DCUpdater contact me!

-I have done a bunch of lockscreen fixes. They are now in DCUpdater. They should be 100% working now. We have rotary lockscreens with time and without and the regular vanilla lockscreen. Right now the versions only will show your desktop background (lwp included) there will be a cleared version shortly.

*Konikub has done a bunch of awesome themes. His full color themes for dc is over @ ?t=706333 Great stuff from the hero days. He also has a white taskbar theme to flashontop of Aloysis and an Espresso theme!

*GODZSON did some clear HTCClockWidget's over @ ?p=6542626&postcount=4

*MRPuffin made a AOSP theme over @ ?t=710162

*michd did a DC transparent XDA keyboard mod @ &postcount=2030

-Contact us if you want to see your skins in dcupdater or in this post.-

========

Kernels -

========

These are for people who know what they are doing. Please dont even attempt to use this if you dont know what they do. YOU ARE FLASHING THESE AT YOUR OWN RISK DONT BLAME ME WHEN YOU NEED TO WIPE OR WORSE YOUR DEVICE EXPLODES! If you read this and think freekin sweet these kernels are for you. If your scared just continue on and DO NOT FLASH.

DO NOT flash any kernel that has not been specifically modded for DC. It WILL cause issues, especially with wifi and or DConfig (it will look like it makes changes but nothing will happen)

Stock Kernels-

(these are here incase you want to go back to stock dc after flashing a modded kernel. They are not needed otherwise. they should fully revert any custom kernel/modules/wifi)

OTA DC Kernel with firmware & modules (DC 3.2.2 and higher 2.6.29-789bf291)

http://dl.damagedroms.com/3.0/OTA_dc_kernel_signed_wdrivers.zip

PRE OTA DC Kernel (from DC 3.2.1 and lower) - http://dl.damagedroms.com/3.0/OriginalStock_dc_kernel_signed.zip

Modded Kernels-

These have just been patched to work with DC. Please direct any questions to the kernel cooker.

=================

Flash stuff

=================

Flash 10.1 is def a hack but sites that would not load before will. shots of flash playing justin.tv & adobe mobile 10.1 test vids:

http://xdaforums.com/showpost.php?p=6861763&postcount=1451

http://xdaforums.com/showpost.php?p=6862285&postcount=1473

Also tested a few "Adult entertainment" sites that did not work before with success. :)

====================

DConfig Guide

====================

**DCONFIG IS GETTING A MAKEOVER. EXCUSE THE SLOPPY LOOKS FOR NOW**

Dconfig has been redone for release 3.1, for those of you that are new to this it allows you to customize many settings usually not visible to the end user. You can kill your battery fast or put it into a powersaving mode at the expense of performance or anything in between. This will help you choose the right settings for yourself. Alot has changed since this project began - If you want to read more about where dconfig started from or about the backend(alittle outdated but still pretty right) you can checkout the original post ?t=670098

Dconfig home:

-Performance Profiles. These are a new option to set up the Advanced Tweak settings with some defaults ive tested with. It will overwrite your settings there.

Dconfig Apps2SD:

Controls app2sd settings on boot. To get this to work you must have a SD card formatted with at least a ext/fat32 partition. Swap can be set to 0 unless you want swapping (not really needed on evo)

EXT2 vs EXT3 - Journeling. wiki it, Is it really needed? probably not

Move Apps

- Disabled by default. moves /data/app/ and /data/app-private/ to /system/sd/app & app-private. May impact battery life slightly. You can confirm its enabled by running the following:

It should return /system/sd/app/

Move Dalvik

- Disabled by default.

Do not enable unless you have a faster SD card. You may get random reboots if your card is too slow

This moves /data/dalvik-cache/ to /system/sd/dalvik-cache. Dalvik-cache is usually somewhere between 50 - 100mb. Seems to have a more significant battery impact than just moving apps.

It should return /system/sd/dalvik-cache/

Move Texts

- Moves textmessage DB to /system/sd/. Nice because you can wipe and keep texts.

Move Audio

- Moves ringtones off to /system/sd/. I prefer this method rather than putting them on fat32 partition because they still work if you have SD mounted and get a call.

*Things to think about with A2SD*

If your using a2sd & wipe your /data/partition and not your EXT you could run into problems with permissions on /data/app-private/ apps. After wipe of data & flash if you bootloop try to wipe your protected apps and just redownload them from market

IF the above doesnt work you win a ext wipe.

Dconfig Basic:

*options here are generally considered "safe".

Zipalign

- is recommended. Gives a nice boost with loading apps and when loading app icons (scrolling through app tray and on main screen)

SD swapping

adds swap ram- evo probably shouldnt enable this.

DalvikHeap

- Stock evo is 24, 32 is what i use it on mainly, 48 is probably not needed. Space java objects are stored, has a direct effect on how much RAM apps use.

LowMemKiller

- Eliminates need for taskkillers. Lets android system close out of apps when RAM gets low, 150MB seems to be a nice spot.

Wireless N

- Enables or disables chuckhriczko wireless N patch. May consume more battery

Dconfig Advanced:

*These options all effect low level stuff. Play with caution:

JIT

- Just in Time compilation- Speeds CPU execution up quite a bit on evo but does not play well with all apps. See the JIT section below for instructions.

UpThreshold

- % Where the CPU clocks up to the next speed. 95% is default and saves battery. If you go lower CPU will clock up faster so performance will be better but faster cpu == lower battery life.

SamplingRate

- How often the CPU checks load. lower number checks more often so system will be more peppy when cpu is needed but checking more often drains battery faster.

DirtyBG/Dirty ratio

- what % of memory can get dirty before writing it out. Higher the % the more battery will last because kernel is writing less often. I have not played much with higher values but would not go much more than say 10/20.

DirtyWriteback/DirtyExpire

- How often to check for dirty stuff. 1500/600 seems good.

Advanced part2

Laptop_Mode

-Tries to delay kernel buffer disk activities as long as possible. Still trying to confirm if our kernel supports it, turn it on if you want to test

vfs_cache_pressure

- Lower trys to retain dentry and inodes. Higher flushes them. 100 is fair balance. We have not found a sweet spot yet, but try testing between 10 - 40.

OOM Kill allocating Task

- If checked kernel will kill task causing OOM events. If unchecked it will kill other processes to make way for the hog. Havent played with this much..

Banned apps:

Lets you customize whats loaded in the rom. Moves stuff you dont want to /system/app/dcbanned/ After your comfortable with results if your sure you never want to go back you can

adb remount
adb shell rm -r /system/app/dcbanned/

When you first ban sense it will check off all sense components on the screen. You can uncheck additional components as you wish.

Some Things to think about

When you ban the HTCLockScreen default is to ban worldclock as well and unban Deskclock (if checked) Reason is if you use the vanilla lockscreen with an alarm in worldclock you will be unable to disable your alarm. As anything else you can enable it if you really want.

If you ban friendstream but not facebook you must turn off "Sync Live Feed" in settings -> Accounts and Sync -> Facebook for HTC Sense or else you will perma sync.

JIT Section

Just too much info about JIT so ill move it down here.

*There are some apps that may not work with JIT, that is why this is under advanced. If your not experienced do not use this.*

nebenezer posted some good recomended settings for JIT over at &postcount=4143

-JIT uses more memory i would recommend bumping dalvik heap up to atleast 32.

-JIT & banned apps. These are the recommended settings. They will be set automatically if you turn JIT on in the profiles screen, choose a performance option in dropdown and press apply. Just reboot after. If you do it yourself in advanced these options will NOT be set you will have to do it

Sense,
HTC Lockscreen,
DCUpdater (causes some hang in system on startup :( )
HTC Worldclock,
All sprint apps
Twitter and friendstream for sure (facebook seems to be ok).

-To Test if JIT is on:

few ways to do it, my favorite is to run the following then open up some applications. You should see "Total arena pages for JIT:" followed by a number scroll by as apps open.

-If you end up crashing hard you can disable JIT with:

adb remount
adb shell rm /data/data/com.damaged.DConfig/dc.conf

Linpaq: