[Droid Eris Android Development] tenzomonk:
Pure Vanilla 2.1 AOSP - well as much as reasonable ;) .

zach.xtr and I are pleased to offer Vanilla2.X! (BIG credits to zach.xtr for tweaking and help with getting all bugs worked out. zach.xtr truly made this blazing quick... and freed up TONS of internal phone storage!)

checkout the change log for a full feature list and details.

Remember to donate to the developers that make this possible!

Credits:

bertoch for hosting and Linux help

dsixda for his time saving kitchen - http://xdaforums.com/showthread.php?t=633246

Conap and Decadenc3 for their CFS kernel with OC and for MMS fix - http://xdaforums.com/showthread.php?t=774211

Conap for his support and general help and a few libs from CELB - http://http://xdaforums.com/showthread.php?t=679194

punk.kaos for his Trackball notification/softkey fixes - http://xdaforums.com/showthread.php?t=685594

Gnarlyc for his Android Builder for quick access to 2.1 AOSP source - http://xdaforums.com/showthread.php?t=707414

Framework43 for his pioneering work with AOSP 2.1 builds and a few "Senseless" parts - http://xdaforums.com/showthread.php?t=686870

nfinitefx45 from the Hero CDMA forum on his work for cache2cache - http://xdaforums.com/showthread.php?t=790889

other xda members for tips, tricks and beta testing (you ROCK)

SERIOUSLY... DONATE TO ONE OF THE DEVS ABOVE. IF IT WASN'T FOR THEM, YOUR ERIS WOULD BE THE PHONE THAT "COULDN'T" :)

-----------------------------------------------------------

Base Vanilla2.X Features:

All the goodness of Android AOSP 2.1 with root access superuser permissions

Built from AOSP 2.1 source including all your favorite AOSP 2.1 apps!

Custom sysint process to optimize ROM system settings

Smart design for a tailored user experience (only turn on the features what you want!)

Overclock support - default setting overclock to 710400

Apps2sd and Cache2cache support (see instructions below)

designed to be a stable everyday ROM

Check out the change log below to see details

-----------------------------------------------------------

Download Vanilla2.0.4: http://zach.xtr.i6ix.com/Vanilla2.0.4.zip

MD5 checksum: ae9eb1cf3c67dd08ea31c8cd5ec11dfb

-----------------------------------------------------------

Vanilla2.X Options:

GScript

For Vanilla2.X we have compiled and incorporated the opensource GScript app (see http://code.google.com/p/gscript-android/) to load and one-click run user settings.

To setup your GScripts complete the following steps:

1. After opening GScript press the menu button and select "Add script"

2. A new window will open.

3. Press the Load file button

4. Select a script from the list (each is obviously named as to its function)

5. Ensure Needs SU? is checked

6. Now select "Save" and you have added your script

7. To run just select it from the list in the main GScript screen

8. You must reboot the phone for the change to take effect.

-----------------------------------------------------------

User Services Power Management (Collin_ph Battery Tweak)

- I have built in a user services that runs at a polled interval and can set the performance settings of your phone in realtime. The first script that is available is a 2.1 HTC framework version of the Collin_ph Batter Tweak. For a detailed overview of you can view the original thread at here.

The power management battery tweak is disabled by default but there is a gscript to enable plus you can run "battconf" from terminal on the phone or adb shell to configure... The battery tweak runs a script every 60 (or less if you are on power) to poll the capacity of the battery, and as the battery goes down the cpu max freq is progressively lowered. It also changes the CPU write characteristics (all of which I do not yet fully understand). You can see all the details in the /system/bin/batter_tweak file.

I take no real credit on this and just ported the concept to the HTC framework and HTC kernel (with the zanfur OC patch). This took a lot of work and I fixed a few bugs but the concept is not mine and all Collin_ph.

When you first run terminal remember to type "su" (or equivilent for your app) to run as root and select "1" then enter when first prompted after starting "battconf".

So how do I know it is working?

just run the report_log.sh GScript and you will see when it logs a change to the system settings. Also you can run the report_system_settings.sh GScript and for a display of current settings. This process will be faster if you plug into a power source and wait about 60 seconds ;)

To enable/disable the battery tweak just run the appropriate GScript (user_service_batterytweak_enable.sh or user_service_batterytweak_disable.sh) and reboot your phone (Quick Boot makes this easy!).

** If you run into issues using the default Term Emulator (in Dev Tools), please download "Android Terminal Emulator" from the Market.

-----------------------------------------------------------

Wired Tether

For wired tether to work you must make sure that your computer has the appropriate RNDIS drivers. Learn how to do this at the android-wired-tether Wiki.

Per roirraW "edor" ehT:

The wiki incorrectly states, or implies, that Windows 7 includes the RNDIS support. Or at least, they imply that Windows 7 includes the RNDIS driver necessary. I can confirm that neither Windows 7 x86 or x64 works with tethering out of the box. The instructions for XP users are correct and also work for Windows 7. Just download HTCSync for your device (Eris) and install it, and it'll install the correct driver.

Performance Improvements:

I HIGHLY recommend setting your Animations (Spareparts) to either OFF or FAST for a much smoother, faster experience.

Free Internal Memory and Dalvik-cache heapsize

- We have update default user settings to allow a larger dalvik heapsize of 24mb (think more space for apps to play) AND optimized how memory is freed up using Androids internal task killer.

Default min memory free: “balanced”

Default dalvik vm heapsize: 24m (38m with JIT on)

To change dalvik vm heapsize or min memory free settings you can just run the appropriate GScript.

If you would like to further modify the default min memory free settings then download Autokiller or MinFreeManager, these apps will allow you to set and monitor the min memory free values. For more information on Androids “internal task killer” and min memory free values go here

Overclock Settings

- the included kernel supports overclocking and as part of the custom sysinit process we have added scripts that you can run to overclock the CPU without using a market app. You can also run the report _cpu_freq script from GScript to get a printout of which frequencies and time in each you phone has been operating.

To enable/disable overclock just run the appropriate GScript.

If you would like to further modify OC settings then download SetCPU or Overclock Widget, these apps will allow you to set and monitor the CPU speed. Remember YOU CAN DAMAGE YOUR CPU IF RUN TO HOT FOR TO LONG with higher settings. MAKE SURE TO RUN THE set_cpu_stock GSCRIPT IF YOU INSTALL A MARKET APP. The internal overclock support may overwrite the market app settings...

JIT

- JIT (Just In Time compiler) is a built in option for the ROM but is off by default. For a detailed overview of JIT go here. PLEASE NOTE for Android 2.1 JIT is not stable with all applications and can cause odd things on your phone.

To enable/disable JIT just run the appropriate GScript and reboot your phone (Quick Boot makes this easy!).

Cache2cache & Cache2sd:

By default, the dalvik-cache for Vanilla2.0 has been relocated from the internal /data/dalvik-cache/ directory to the internal /cache/dalvik-cache directory. The Eris comes with an internal /cache/ file block of 130mb that is not used! After reviewing a number of xda member file system usage reports (thanks xtrROM and xtrSENSE users!) the MOST reported use of this space was 5%... So by moving the dalvik-cache to this free area you now have over 151mb on internal /data/ for apps and over 97mb in internal /cache/ for dalvik-cache. This means that you can probably install close to 100 apps WITHOUT moving anything to the SD Card ext!

You can also move the dalvik-cache to your sd card ext or back to the stock internal /data/ file block.

To change the location of dalvik-cache you can just run the appropriate GScript and reboot your phone (Quick Boot makes this easy!).

Apps2sd:

Apps2sd for Vanilla2.0 is incorporated in the custom sysinit process. For apps2sd to work you must first complete the listed prerequisites and it is a good idea to read through the "things you may want to know about apps2sd" section. Although it can provide gobs of space for apps, Apps2sd is not for everyone as it ties the stability of your phone to your SD Card... If you do not need the space we recommend that you keep the default of DISABLED; if you want to try you can always disable it again however there is always the chance of issues.

To enable/disable apps2sd just run the appropriate GScript and reboot your phone (Quick Boot makes this easy!).

Apps2sd Basics

When you run the apps2sd , upon reboot, it will move ALL your existing apps to the sd card ext partition and ALL future apps will be installed and stored on the sd card ext partition.

Running the apps2internal script, upon reboot, it will move ALL your existing apps to the /data/ block of internal storage and ALL futures apps will be stored in internal storage.

For NON CyanogenMod based ROMs it is all or nothing and you cannot move individual apps.

Apps2sd Prerequisites

If you have not setup your SD card (for those new to Apps2sd) as per tkirton:

BACKUP YOUR SD CARD TO YOUR COMPUTER. Can't stress this enough, as partitioning will wipe the entire card.

Reboot into recovery

In Android System Recovery, select Partition sdcard

In the Partition sdcard menu, select Partition SD

Follow the instructions on the phone to partition your SD card. Most folks seem to recommend using the default values however you can go larger or smaller use values 256, 512,768,1024. You will also be asked to set a swap size; I stayed at 32mb (anticipate future ROM options to allow moving swap to sd)

Once the partition is initially created you must then convert to ext3 - In the Partition sdcard menu, select SD:ext2 to ext3. Follow the instructions on the screen.

Press the back button on the phone to go back to the main menu.

Your SD card is now ready to work with an Apps2sd supported ROM.

Things you may want to know about Apps2sd

Vanilla2.X has bootloop protection built in if your SD card is corrupted or is removed from the phone with Apps2sd enabled. Your apps will go away but your phone will boot ;).

There are 3 subsets of data associated to an app when it is installed and run on your phone.

1) /data/app/ (and /data/app-private) - actual .apk files we think of as the applications that are not system apps (i.e. installed on /system/app)

2) /data/data/ - the files produced by ALL apps (system apps and market apps) during installation that are used by the Android system to run the app

3)/data/dalvik-cache/ - app cache file and work space for ALL apps (system apps and market apps).

From root explorer (or similar) you can browse to the /data/app OR the /sd-ext/app folders and you will see the same thing, both will tell you how much space you have used and have left. The way apps2sd works is by "linking" the /system/sd/app to the /data/app folder so that the Android system thinks it is accessing the /data/app it is really at /system/sd/app.

I have seen using Apps2sd cause issues with some.zip flash updates as they try to write directly to the /data/app folder which no longer "physically" exists

If you get into a bootloop issue using apps2sd boot into amon_ra recovery and try one of the follow:

1) from the Other menu option select the Fix apk uid mismatches

2) from the Wipe menu option complete a)Wipe data/factory reset b)Wipe Dalvik-cache c)Wipe SD:ext partition

So how do I know Apps2sd is on? You can run the GScript report_system_stats which will give you a printout of what fileblocks are used. You can also go to menu>Settings>Sd card and phone storage - when on space available under Available storage will be over 150mb will go down at a VERY slow rate when new apps are installed.

To Install

YOU MUST HAVE A ROOTED PHONE WITH THE AMON_RA RECOVERY PARTITION

download the base Vanilla 2.X.zip file

complete NANDROID backup

copy the .zip file to the root of your sd card

From amon_ra recovery Wipe data/factory reset, Wipe Dalvik-cache, and Wipe SD:ext partition

flash the Vanilla2.X.zip file from sd card

reboot - first boot will take a while (i.e. over 10 mins - deodexed ROMs take longer on first boot)

complete short setup and let your accounts sync

Setup GScripts

you can now one-click toggle settings at any time :D

-----------------------------------------------------------

Tips:

Random FC - Lower your overclock settings or turn off JIT. Our little Eris's can only do so much and not all hardware is equal... Also remember this ROM is quite fast in stock form and higher Linpack scores DO NOT make for a better user experience ;)

If you have 50% time without signal under Settings>About Phone>Battery>Cell Standby complete the "airplane trick" by turning Airplane mode on wait just a few seconds and then Airplane mode off (search the forum for "time without a signal")

Turn off notifications for Superuser 2.3.5 from the Settings tab of the app

Pure AOSP 2.1 does NOT play wma/wmv files. I have attempted to fix, but still a work in progress. Please download "yxplayer Pro" from the market if you need wma/wmv capabilities.

-----------------------------------------------------------

KNOWN ISSUES:

autobrightness not working

camera zoom not working

trackball notify only once with message... ** (see below)

NFL Mobile from Verizon app does not work with JIT

xda dev app may have intermittent issues logging in for first time with JIT

MMS video recived issue (true for ALL known AOSP ROMs)

-----------------------------------------------------------

** If you prefer that Notifications are mapped to the LED light instead (it will continually flash to notify you, as opposed to the default trackball light, which will only flash once), you can download the following and flash in recovery:

http://zach.xtr.i6ix.com/LED-Notifications.zip

-----------------------------------------------------------