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€+.
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:
Don't be a leech, buy me a beer (and use the "Thanks" button!). Imagine if every CF-Root user has donated me $1...
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 :highfive:
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!
Core changelog:
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 [url=https://github.com/p990-dev/android_device_lge_p990/commits/cm-10.2]https://github.com/p990-dev/[/url]
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:
https://github.com/p990-dev/android_device_lge_p990/commits/cm-10.2
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.
I have created a clean and consolidated device tree for cm-10.2 at p990-dev:
https://github.com/p990-dev/android_device_lge_p990/commits/cm-10.2
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:
Make your 'own' ROM today!
0. Preparation
Things you need for building:
A computer
An internet connection
An open mind
Time
Patience
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]
Install packages:
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
Install repo:
Repo is a tool that makes it quite easy to download and maintain the sources of Cyanogenmod.
Initialize Repo for Android CM10.2 (Android 4.3):Code:$ mkdir ~/bin $ PATH=~/bin:$PATH $ cd ~/bin $ curl https://dl-ssl.google.com/dl/googlesource/git-repo/repo > ~/bin/repo $ chmod a+x ~/bin/repo[/QUOTE] [/hide] 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 [user=4732829]@Raum1807[/user]'s instructions but updated them to CM10.2 [hide][B][SIZE=3]Get the sources[/SIZE][/B] Start with creating a new working directory for CM10.2: [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
Have fun!
Attachments
Last edited: