CM10.2 for the LG Optimus 2x
If you appreciate my work on the LG Optimus 2x you can support me by donating!
I am doing this for free in my leisure time because I like working on Android stuff and helping others out.
You're not required to donate, but I highly appreciate a couple free beers or pizzas as a gratidue for my work.
To quote one of the most famous xda developers:
I am nowhere near his usercount, but just imagine if every happy (and only those) user of one of my ROMs has donated 5€+.
After some sleepless nights I am happy to present CM10.2 for the LG P990
The first post contains information for developers, the second one a download and changelog of my personal testbuilds.
My time is rather limited these days. I will maintain the p990 device tree for others to use and post my development test builds.
But I do not plan to support a clean CM10.2 build, as soon as I upgrade to my own fork of CM someone else will have to take over!
Code:2131109: - buildflag optimizations (-Os for arm modules, slightly increases RAM) - codebase updated to the CM-10.2-M1 snapshot (Android 4.3.1) 20130930: - fixed camera getting stuck after taking a picture (this isn't about camera FCs - try the norh kernel for them!) 20130930: - fixed notifications causing media playback interruption 20130829: - Hack: Disable Wifi suspend options by default (this is a bcmdhd option not compatible to our bcm4329 drivers) - Additional custom hardwarekeys button actions - Add gesture based lockscreen security 20130824.2: - option to use the external SD as primary - using the T2 camera wrapper (which improves ISO, contrast and saturation) 20130824: - removed all selinux/auditd etc. modules - enabled timer coalescence/slack kernel functions by default - fixed CPU speed options at the performance menu (tegra2 incompatibilities) 20130821: - dalvik/vm: Dalvik startup with a low memory footprint (gives more free ram) - built from the new consolidated device tree at https://github.com/p990-dev/ 20130820: - Camera fixed - hardware OMX fix (mp4 videos in the stock player etc.) - Google TTS non-neon incompatibility fixed 20130812: - SoftAP (wifi hotspot) fixed (see details below) 20130809: - initial CM10.2 build - device tree updated for Android 4.3 including: fstab updates, RIL updates, CM10.2 source build incompatibilities fixed etc
Information for developers:
I have created a clean and consolidated device tree for cm-10.2 at p990-dev:
We do not need the split into p990 and star-common anymore (that has been done initially to support the p999), thus I decided to combine them.
I git merged them together to retain the 2.5 year old commit history (I really hate those "initial commit bringups, which destroy them completely).
It is only for the new bootloader, as we got a converter to support both.
But if someone wants to maintain a dedicated oldbl branch just send me a PM and I'll give you push access.
In order to build CM10.2 for the p990 we need to track frameworks/av to fix compiling and for the OMX stuff which fixes the camera.
I've set up a build manifest which you can use: https://github.com/p990-dev/android
If you want to fix the SoftAP (wifi hotspot) you need to track my modified system/netd package and apply the patch attached to this post to frameworks/base.
The fix isn't included by default because I'd have to maintain the frameworks/base package - and it would require almost daily updates or it gets out of sync with other packages relying on it causing the build to fail.
Compile your own CM10.2 ROM
For those of you who want to build your own ROM (which I can highly recommend) I've copied the excellent build setup instructions by @Raum1807 here, they should still work for CM10.2:
Quote:Originally Posted by Raum1807
Make your 'own' ROM today!
Things you need for building:
An internet connection
An open mind
First of all you need a running up-to-date Ubuntu/Linux system. I am using Ubuntu 12.10 64-bit.
Use the terminal to make the steps. A terminal window can be opened by pressing Ctrl+Alt+T. Every single command for the terminal is marked with a $ sign. Just paste every command (without the $ sign) to your terminal window and there shouldn't be any problem.
IMPORTANT: INSTALL EVERYTHING AS A NORMAL USER. DON'T INSTALL AS ROOT!
[INDENTI. Installation of the required packages (Ubuntu 12.10 64-bit)[/SIZE]
Set the links:Code:$ sudo apt-get install git-core gnupg flex bison gperf build-essential \ zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \ libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \ libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \ python-markdown libxml2-utils schedtool pngcrush xsltproc zlib1g-dev:i386
II. Installing JAVACode:$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so
You need a Java Development Kit for building CM10. Recommended is the SUN JDK 6. As of writing the most recent version is SUN JDK 6 Update 38.
1. Download the jdk-6u38-linux-i586.bin from the Oracle/Sun Java Download Area. If you are on 64-bit Ubuntu as I am, you should grab jdk-6u38-linux-x64.bin.
2. Make the bin file executable:
3. Extract the bin file:Code:$ chmod +x jdk-6u38-linux-x64.bin
4. Move the extracted folder to this this location:Code:$ ./jdk-6u38-linux-x64.bin
5. Install the new Java source in system:Code:$ sudo mv jdk1.6.0_38 /usr/lib/jvm/./jdk-6u38-linux-x64.bin
6. Select the default Java version for your system:Code:$ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javac 1 $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/java 1 $ sudo update-alternatives --install /usr/bin/javaws javaws /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javaws 1 $ sudo update-alternatives --install /usr/bin/javadoc javadoc /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javadoc 1 $ sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javah 1 $ sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/javap 1 $ sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk-6u38-linux-x64.bin/bin/jar 1
7. Check Java version:Code:$ sudo update-alternatives --config javac $ sudo update-alternatives --config java $ sudo update-alternatives --config javaws $ sudo update-alternatives --config javadoc $ sudo update-alternatives --config javah $ sudo update-alternatives --config javap $ sudo update-alternatives --config jar
8. Verify the symlinks. Javac, Java, Javaws, Javadoc, Javah, Javap and Jar should all point to the new Java location and version:Code:$ java -version
III. The sourcesCode:$ ls -la /etc/alternatives/java* && ls -la /etc/alternatives/jar
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
[CODE]$ mkdir ~/bin
$ cd ~/bin
$ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo
$ chmod a+x ~/bin/repo
After this is done (one time only of course) you can build your own CM10.2 ROM.
There is no need to handle a local_manifest as I included the required repos into the main mainfest.
I've again used @Raum1807's instructions but updated them to CM10.2
Get the sources
Start with creating a new working directory for CM10.2:
Initialize Repo for Android CM10.2 (Android 4.3):Code:$ mkdir ~/cm10.2 $ cd ~/cm10.2
and enter your credentials if needed.Code:$ repo init -u git://github.com/p990-dev/android.git -b cm-10.2
Download the sources:
Wait until it's finished (takes a lot of time!).Code:$ repo sync
If the process hangs use Ctrl+C to break out of it and resume the download with another
Initialize the environmentCode:$ repo sync
Code:$ . build/envsetup.sh
Build the ROM
and flash it via CWM/TWRP. Make a clean start (if necessary) with format /system, wipe data/factory reset, etc..Code:$ repo sync $ breakfast p990 $ mka bacon