[T-Mobile LG G2x] faux123:
This is a Hybrid AOSP-Like Gingerbread 2.3.5 ROM. Completely rebuilt from source based on combination of AOSP source code from Google and CM7 source code from CyanogenMod.

(Notice: From version 1.2.7 and beyond, all CyanogenMod's Apache 2.0 Licenses will be displayed under Settings->About Phone->Legal Information->CyanogenMod Licenses to comply with their Apache License 2.0)​

There are a few reasons I created this build:

1. I want to see if I can build a ROM project from source

2. An alternative ROM that's a little different from CM7.

Updates for this ROM will NOT be very FAST or FREQUENT due to my LACK OF TIME!

(I WON'T BE taking FEATURE REQUESTS and such, most can be added by yourself from various mods found on XDA)

So what is in this version right now...

1. Completely build from source based on Gingerbread 2.3.5 and CM 7.x.x

2. No Google Apps included at all... You need to use the GAPPS zip file from CM7

3. Rooted (of course :D )

4. Deodexed all /system/apps and framework files

5. Dalvik memory boosted from default 24MB to 32MB

I want to [Thank] the following:

Cyanogen for inspiring me to build a project such as this from scratch...

Aremcee for his amazing hacking skillz and support for LG 2x phones...

Zinx Verituse for his amazing hacking skillz and support for Glacier...

Rest of CyanogenMod Team without them, none of this would be possible...

CodeAuroraForum aka CAF for their Android Enablement patches...

T-Mobile for creating a theme engine for easy update of themes...

XDA Community for the support and the community spirit...

[ Installation ]:

The File ==> P999-AOSP-1.3.1 <==

Mirror [ Please Use First Link to preserve bandwidth for Mirror ]

The File ==> P999-AOSP-1.x.x <== (Coming soon)

(Optional)

Latest Google Apps => 06-13-2011 File <=

Previous Google Apps => File <==

Additional Themes and Apps => Themes & Add-ons Post #2 <=

Requirement: MUST HAVE LATEST CLOCKWORKMOD RECOVERY

1. Reboot to Recovery

2. Wipe Data/Factory Reset

3. Wipe System

4. Install from zip file and select P999-AOSP-1.x.x.zip

5. Install from zip file and select gapps-gb-2011037xxx.zip (same as CM7)

6. After installation completes, reboot

Note: Upon first reboot may take up to 2~3 mins.

[ News Bulletin ]:

P999 Hybrid Nexus AOSP ROM version 1.3.1 out. Introducing SpartPartsToo ;)

Send a note to XDA to reinstate my Recognized Developer status ;)

[ Bugs/Incompatibilities ]:

1. Bluetooth AD2P not working (this is NOT because we don't have A2DP in the framework, it is there, but we don't have nVidia/LG HAL to work with Gingerbread, need nVidia/LG HAL updates).

Probably Tons... Can't really test them all myself... :o

[ GEEK TALK BELOW ]:

[ What Major components are there in AOSP? ]

Bionic - core kernel / low level hardware interaction portion. CM7 team patched this portion using code from CodeAuroraForum (AKA CAF) to work with our current HW and kernel, so there's nothing to rollback to. There's only bug fixes and driver updates to do for this portion. When real Gingerbread Kernel for our phone is available, this part will be updated heavily...

Dalvik - Google's Java Virtual Machine. CM7 team added support for ARM v6 to this from CAF patches. Our phone is already supported by the default Dalvik, so this is identical to AOSP.

External - This is a collection of helper utilities and libraries needed by Android (like graphic libraries, open vpn etc). Again CM7 team hacked this to work with our hardware with patches from CAF, so again, nothing to rollback to. Only bug fixes and updates.

Hardware - Additional User Space Hardware drivers not covered by kernel such as GPS, Radio Interface, Video, etc... Again, CM7 team added support for our phone with patches from CAF, so nothing to rollback too. Only bug fixes and updates. When real GB kernel is available for our phone, this part will be updated accordingly.

Libcore - Core libraries such as SQL-Lite3, Dalvik and other essential libraries. This is already 100% AOSP.

System - System Services like Wireless AP, Volume Daemon, Logcat, ADB, Fastboot etc... Again, CM7 made it work with our phone with patches from CAF, so nothing to rollback to. Only updates and bug fixes.

Packages - Built-in Apps. This where quite a bit of CM7 customization took place. I have already ROLLED BACK this entire folder to 100% AOSP.

Lastly, the hardest part :D

Framework - This folder also contained heavy CM7 customization. This portion is NOT easy to ROLL BACK. The framework is HIGHLY INTEGRATED, if NOT CAREFUL, 1 mistake can bootloop the whole system (I have experienced a few already). I have ROLLED BACK quite a bit of code back to AOSP, ie CM7 tablet tweaks, System UI, Lock Screen etc (highlighted in Magenta in my version history).

So as you can see from above, CM7 is NOT TOO FAR from AOSP. All I am doing is making it more AOSP :D Sometimes it pains me to remove nice features added by CM7 to make AOSP more useful...

[ToDo]:

Make it more stable and even speedier! :D

[History]:

< Version 1.1.0_r1 (deprecated, AOSP 2.3.4_r1) >

Complete rebuilt of AOSP 2.3.4_r1 from sources based on AOSP 2.3.4_r1 and latest CM7 again

Rolled back: AOSP fonts used instead of CM7 (framework)

Rolled back: Removed all traces of CM7 Tablet Tweaks (framework)

Rolled back: AOSP System UI used instead of CM7 (framework)

Rolled back: Removed CM7 Profile Manager (framework)

Rolled back: Revert Back AOSP original slider lockscreen (framework)

Rolled back: Removed CM7 Easter Egg (framework)

Rolled back: Revert Back AOSP frameworks/base/core/res png files (framework)

Rolled back: Unbundled T-Mobile Theme Manager (framework)

Rolled back: Removed CM7's OpenVPN support (framework)

Rolled back: Removed CM7's PhoneGoggle code (framework)

Rolled back: Updated API List (framework)

Updated Entire Packages Folder to AOSP 2.3.4_r1 (apps)

< Version 1.1.0_r2 (deprecated, AOSP 2.3.4_r1) >

Added Latest GPS fixes from Zinx (hardware)

Added Latest Kernel and WiFi Module from Cyanogen (kernel)

< Version 1.1.2_r1 (deprecated, AOSP 2.3.4_r1) >

Updated with Latest Cyanogen Kernel and WiFi Module (kernel)

Updated with new GB proprietary libs and firmware (libs, firmware)

Incorporated CM7's LGE Camera fixes (framework)

Incorporated CM7's Telephony Ringtone fixes (framework)

Incorporated CM7's LightSensor fixes (framework)

< Version 1.1.2_r2 (deprecated, AOSP 2.3.4_r1) >

Updated with my latest Cyanogen Hybrid OC/UV kernel (kernel)

Updated with latest RIL fixes (framework)

Updated with latest Sensor fixes (framework)

Updated with latest Frame Grabber fixes (framework)

< Version 1.1.2_r3 (deprecated, AOSP 2.3.4_r1) >

Updated with my latest Cyanogen Hybrid OC/UV kernel (kernel)

Adjusted Dalvik Cache to 32MB (kernel)

< Version 1.1.3 (deprecated, AOSP 2.3.4_r1) >

Rolled back: Removed CM7 Ad-Hoc Wireless Hack (framework)

Rolled back: Updated API List (framework)

Latest CM7 framework patches up to 5-14-2011 (framework)

Back ported "My Phone Number" utility from CM7 to AOSP code base to add your own phone number :D (app)

< Version 1.1.4 (Deprecated, AOSP 2.3.4_r1) >

Rolled back: Removed CM7's Mouse Pointer support (framework)

Updated to latest CM7 framework patches for libstagefreight, mms and sim utils (framework)

Updated to latest CM7 framework patches for sqlite3 DB (framework)

Updated Skia (external)

Updated Recovery (bootable)

Netflix compatible (framework)

Updated Kernel to version 0.0.4 - see my kernel thread for details (kernel)

< Version 1.1.5 (deprecated, AOSP 2.3.4_r1) >

Updated MMS with latest patches (framework)

Updated Kernel to version 0.0.5 - see my kernel thread for details (kernel)

< Version 1.1.6 (deprecated, AOSP 2.3.4_r1) >

Add option to wake phone with volume keys (framework)

light sensors to allow target to override max range of proximity sensor (framework)

Updated Kernel to version 0.0.6 - see my kernel thread for details (kernel)

< Version 1.1.7 (deprecated, AOSP 2.3.4_r1) >

Web browser Dom Caching feature (framework, external)

Reduce Call Answer Delay (framework)

AOSP source re-sync for Telephony and SMS (framework)

Close inputstream after class pre-loading (framework)

< Version 1.1.8 (deprecated, AOSP 2.3.4_r1) >

Added Electron Beam Screen On/Off (framework)

Added fallback for cached default routes, network (framework)

Don't renew the leases if mDhcpInfo.leaseDuration is not positive, network (framework)

Fix 1080p camcorder res to 1088p (device)

< Version 1.1.8_r2 (Short Term Release, AOSP 2.3.4_r1) >

Updated to kernel version 0.1.0. Fixed wonky lock screen issues (kernel)

< Version 1.1.9 (deprecated, AOSP 2.3.4_r1) >

Added glFinish() to prevent the impedence mismatch between multi-threaded surfaceflinger surfaces (framework)

Disabled fsync in selected databases (framework)

Updated to kernel version 0.1.1. Enabled additional optimization flags (kernel)

Webkit optimization tweaks (external)

Revert Skia support for efficient image caching (external)

Updated to latest V8 Java Script Engine (external)

< Version 1.2.0 (deprecated, AOSP 2.3.4_r1) >

Updated to latest V8 Java Script Engine, part 2 (external)

Added patch to pass the path to format to ExternalStorageFormatter. (framework)

Added patch to avoid NPE/fatal exception if wpa_supplicant fails (framework)

Added copyAll to the edit contextMenu (framework)

Added patch to fix concurrency issue on IccPhoneBookInterfaceManager (framework)

Added T-Mobile Theme Chooser and Manager back due to popular demands - NO THEMES are included! (apps)

< Version 1.2.1_2 (deprecated, AOSP 2.3.4_r1) >

Updated to latest V8 Java Script Engine (version 2.5.9.22), part 3 (external)

Reduced HDMI rotation function call on LGE star from per frame basis to when orientation is actually changed (framework)

Added better support for legacy USB support (framework)

Fixed Haptic vibrate behavior (framework)

Updated gps.conf for faster GPS lock (etc)

Updated Freetype to version 2.4.2 (external)

Enabled Freetype hint (external)

Added ARM optimized strcmp() assembly code (bionic)

Add sanity check for battery capacity range. (framework)

Updated Pre-built Kernel to version 0.1.7 (kernel)

< Version 1.2.2 (deprecated, AOSP 2.3.4_r1) >

More ARM-Optimized C library routines (bionic)

New LGE Specific RIL updates (framework)

New ROM Manager included (app)

Date/Time/Number picker made more intuitive (framework)

Better GC for Webkit (framework)

Another V8 patch (external)

Dropbear update (external)

< Version 1.2.3 (deprecated, AOSP 2.3.4_r1) >

Stock Voltage EXT-3 Kernel version 0.2.0 (kernel)

Dropbear update part 2(external)

Updated kernel RAMDisk for serial no. (kernel)

Added LED Class for touch key LED blinking (kernel)

Cleaned up lockscreen widget code (framework)

Fixed onStartCommand() not being called with null intent (framework)

Fixed DEVICE_OUT_HDMI definition, drop extra zero, conflicts with DEVICE_IN_AMBIENT (framework)

Updated Cursor movement to be independent of text rendering (framework)

Fixed DataPicker throwing ArrayIndexOutOfBoundsException (framework)

Added bluetooth MAP support patched from CodeAuroraForum (framework, apps, external)

Launcher2 3D drawer is BACK :cool: (apps)

Applied latest Official AOSP patch to fixed memory leak of SkMovie class (framework)

Applied latest Official AOSP patches to Phone, SoundRecorder, Browser, Calendar, Gallery3D, and TelephonyProvider (apps)

Applied latest Official AOSP patches to bluez bluetooth stack (external)

Added liblight support for LED notification using soft key LED (device) [ Major Props to Aremcee ]

Fixed bug in Power Off menu (framework)

< Version 1.2.4 (deprecated, AOSP 2.3.4_r1) >

Stock Voltage EXT-3 Kernel version 0.2.2 (kernel)

Updated MediaProvider to allow /mnt/emmc to be included in the media scan (app)

Updated to use new libreboot for reboot (framework, core, recovery)

Added ARM optimized instruction for Texture manager (framework)

Improved lock pattern algorithm LOLs (framework) -- how many people use lock pattern protection?

Updated Super User (system, app)

Fixed DSP compression effects -- DSP Manager (framework, app)

Added LG 1080p 30 FPS camcorder recording (app)

Updated LGE-RIL for better battery and Radio performance (framework) - MAJOR PROPS to AREMCEE

Forced Re-sync of widgets after crash (framework)

< Version 1.2.5 (deprecated, AOSP 2.3.4_r1) >

More DSP Manager updates part 2 (framework, app)

More legacy USB support (framework)

Fixed data connection teardown (framework)

AOSP patch: fixed daylight time when calculating timezone. (framework)

< Version 1.2.6 (deprecated, AOSP 2.3.4_r1) >

More DSP Manager updates part 3 (framework, app)

Added property to disable Camcorder/Camera sounds (framework)

AOSP patch: Bluetooth - pull Vcard of unknown phone number (app)

Modified SpareParts to include abilities to Enable/Disable Volume Key wake and LED Button Notifications (app)

Added smooth fade in/out libeffects (framework)

AOSP patch: Added Webp Image Encode / Decode support (external, framework)

Info on WebP (http://code.google.com/speed/webp/gallery.html) - you will need Chrome or my Nexus ROM to see the WebP images ;)

telephony: LGEStar: Minor fixes (framework)

camera: Support non-standard FFC orientations (framework, app)

< Version 1.2.7 (deprecated, AOSP 2.3.4_r1) >

Added CM Apache 2.0 Licenses (app)

AOSP patch: Added methods to support dns cache per interface. (framework)

Cleaned up FM define usage. (framework)

Add synchronized to avoid a race condition (framework)

Fixed ADB notification. (framework)

Fixed media scanning in case readdir() returns type DT_UNKNOWN. (framework)

Properly respect notification flag SHOW_LIGHTS. (framework)

Don't remove permission checks for no reason. (framework)

Camera: Added Full HD 30 FPS record (device, app)

Updated Kernel to version 0.2.8 (kernel)

< Version 1.2.8 (LONG Term Stable Release, AOSP 2.3.4_r1) >

The File ==> P999-AOSP-1.2.8 <==

Updated DSP Manager again (framework)

Added Motorola device support (framework)

Added Touch to Focus Camera (app)

Improved Legacy Tether code (framework)

Fixed bug in telephony phone base (framework)

Made Screen On/Off animation independent of animation settings (framework)

AOSP patch: Bluetooth: correcting return value from cancelDiscovery (framework)

AOSP patch: Phone App: Cancel inquiry before outgoing service connection. (app)

AOSP patch: Mms App: Added check for input parameters in sendPdu . (app)

AOSP patch: Mms App: Set local time as timestamp when MMS has been downloaded . (app)

AOSP patch: Settings App:Fix NPE due to missing ProcessItem.mPackageInfo (app)

Updated kernel to version 0.3.1 with Voodoo Sound processing support (kernel)

Added Bluetooth Personal Area Networking (framework)

Fixed font scaling setting persist (framework)

Fixed initial state of notification light settings (framework)

AOSP patch: Fixed minor errors in libstagefright (framework)

< Version 1.2.9 (deprecated, AOSP 2.3.5) >

AOSP Patches: (framework)

Merge AOSP 2.3.5 source tree

frameworks/base: unlink death notifications of Vibrate requests

Prevent NullPointerException cases while using SipService.

Stagefright: Return error if codec takes too long to return a buffer.

gps: Adding ip address for AGps

GPS: Changes to enable on-demand data call flow for CDMA connections

CM7 Patches: (framework)

PackageManager: reduce boot time

libcameraservice: Add exceptions to handle the FFC on the LGE star

Fix bluetooth HID incoming connection not working since 2.3.5 merge

Traditional Chinese: Translate perm_receiveEmergencyBroadcast

Change Finnish time format to use ':' instead of '.'

Support changing USB configuration without usb_configuration switch.

Fix OMXCodec members order, resolve warning in libstagefright initialize...

Hide the clock widget on Lense lockscreen.

bt: Fix NPE in BroadcastReceiver

Fix getOffsetAtStartOf to work properly on non-spacing mark character.

libui: Limit slider state to input devices that are actual keyboards

Check for NULL in addTracks()

Added CM7 Screenshot capability :D

AOSP 2.3.5 patches: (app)

Settings, Phone, Mms, Gallery3D, Email, Calendar, Browser, Bluetooth

< Version 1.3.0 (Short Term Release, AOSP 2.3.5) >

The File ==> P999-AOSP-1.3.0 <==

AOSP Patches:

Fix wrong behavior when changing pin code in settings (Settings App)

Fix: Text is cut in Edit word edit box when adding word to dictionary (Settings App)

Send local time, not GMT, in timestamp. (Bluetooth App)

Bluetooth event loop dispatches dbus data on wakeup. (Framework)

Fix String16 operator+ to actually work. (Framework)

Handle stopping of services with still bound applications. (Framework)

VolumePreference.onActivityStop only stops playback. (Framework)

Fix getSwitchState according to device capabilities. (Framework)

CM7 Patches:

Fix exception in legacy USB support (Framework)

frameworks/base: bluetooth: AVRCP 1.3 feature changes (Framework)

LGEStarRIL: Modify p999 exclusion logic (framework)

LGEStarRIL: Ignore SCREEN_ON/SCREEN_OFF events on star (framework)

AVRCP 1.3 feature changes (External/Bluetooth/BlueZ)

Various Camera patches (Camera App)

vold: Allow pre-configured device pairs to switch mountpoints (System/vold)

Revert "Fix DHCP not woking for routers that hand out very long leases." (framework)

Misc Patches:

Application: Allow user to choose internal storage (SpareParts App)

Add secureclock (kernel)

Kernel Updated to 0.3.9 (kernel)

Added Compressed RAM Swap space support (kernel)

< Version 1.3.1 (Current, AOSP 2.3.5) >

AOSP Patches:

Updated Settings to support SparePartsToo (app)

CM7 Patches:

Added 4G iconography (framework)

Added phone support for LTE/HSPA+ (app)

Added SparePartsToo tweaks (app)

Fixed Camera Default Capture Mode to immediate instead of timed (app)

Standard Disclaimer: Not responsible for bricking your phone, voiding your warranty, or any other pain or suffering you may feel as result of using this ROM or Kernel!!!

If you find this ROM useful, feel free to hit the [Thanks] button below ;)

My Github