[ROM] CM10.1 UNOFFICIAL for p769 [10/18/2013]

Search This thread

AntonX

Senior Member
Nov 9, 2006
432
1,054
CyanogenMod 10.1 UNOFFICIAL for LG Optimus L9 p769


This is unofficial build. Use at your own risk. I am not responsible for anything that may happen to your phone.

Only for P769 version of the phone. Do not attempt to flash on any other device.

The phone bootloader has to be unlocked and correct recovery installed.

Please avoid discussing general unlocking, rooting, and other unrelated to development issues in this thread.


Watch for bugs. Report with logcat and dmesg.

Features
- Mostly based on p760 device tree.
- No emulated internal storage. Single external SD card configuration. (Read note in the 2nd post)
- Apps 2 SD support
- BLN support (limited, read note the the 2nd post)
- Analog amplifier gain control with Voodoo Sound support (read note in the 2nd post)
- Microphone preamplifier gain adjustments
- Performance kernel with OC/UV
- Advanced Settings to control kernel clocks

Kernel
- Compiled with Linaro 4.7
- Extended frequency table with 200MHz, 1200MHz, 1350MHz (overclocking doesn't work on some phones)
- Slightly undervolted
- Userspace voltage control. Use SetCPU, VoltageControl, or similar. Warning: Save a recovery script with either of these programs before playing with voltages!
- GPU is extended with 384MHz, IVA with 430 MHz
- Selectable screen-off maximum frequency
- Included SmartassV2 governor, SIO scheduler.
- Few performance tweaks.
- Kernel without performance tweaks available here

Bugs
- No 1080p in camcorder
- Usual p760 CM10.1 issues, if any

Installation
- If going from non-CM10.1 ROM, backup your data and do full reset. If updating from CM10.1 it is usually not necessary.
- Copy to SD and flash with CWM.
- Flash correct version of Gapps

Download
cm-10.1-20131018-UNOFFICIAL-p769.zip (Mega)
cm-10.1-20131018-UNOFFICIAL-p769.zip (Dropbox)

Sources
Github

History

Upstream merges

10/18/2013
- Reduced call microphone volumes even more

10/07/2013
cm-10.1-20131007-UNOFFICIAL-p769.zip
- Reduced call microphone volumes

09/07/2013
cm-10.1-20130927-UNOFFICIAL-p769.zip
- CM 10.1.3

09/07/2013
cm-10.1-20130907-UNOFFICIAL-p769.zip
- CM 10.1.3 RC2

8/30/2013
cm-10.1-20130830-UNOFFICIAL-p769.zip
- CyanogenMod 10.1.3 RC1
- updated radio blobs to LG v20f
- fixed vibrator tuning in Advanced settings
- minor tweaks

8/23/2013
cm-10.1-20130823-UNOFFICIAL-p769.zip
- adjusted power profile
- reduced in-call Bluetooth microphone volume
- some upstream picks and minor tweaks

08/19/2013
cm-10.1-20130819-UNOFFICIAL-p769.zip
- added BLN settings to Parts
- added vibrator intensity to Parts
- run ADB as root by default
- few tweaks

---- project split to CM10.2 here ----

08/13/2013
cm-10.1-20130813-UNOFFICIAL-p769.zip
- kernel with BLN support
- added BLN blinking adjustments to Advanced Settings
- added microphone preamp gain control to the kernel, adjustable from Advanced Settings
- changes to some audio volumes

08/08/2013
cm-10.1-20130808-UNOFFICIAL-p769.zip
- added option to disable touch LEDs
- fixed USB mass storage
- Interactive governor updated to 3.4

08/05/2013
cm-10.1-20130805-UNOFFICIAL-p769.zip
- fixed in-call headset volume control
- reduced headset volume
- added analog amplifier gain control with Voodoo Sound support

08/01/2013
cm-10.1-20130801-UNOFFICIAL-p769.zip
- IVA (Image Video Accelerator) overclocking
- GPU underclocking
- maximum screen-off frequency
- user settings to control the clocks (Settings->Device->Advanced)
- minor improvements to overclocking

07/29/2013
cm-10.1-20130729-UNOFFICIAL-p769.zip
- switched board to p769
- increased microphone volume
- fixed bluetooth call audio

07/26/2013
cm-10.1-20130726-UNOFFICIAL-p769.zip
- kernel: fixed excessive WiFi power consumption

07/22/2013
cm-10.1-20130722-UNOFFICIAL-p769.zip
- disabled internal sdcard emulation
- kernel is back to using omap4 audio codec

07/19/2013
cm-10.1-20130719-UNOFFICIAL-p769.zip
- fixed proximity sensor

07/17/2013
- Some changes to device, including another audio fix picked from p760
- Kernel:
--- Now using twl6040 audio drivers from LG source drop
--- SIO and SmartassV2
--- Entropy tweak
--- Force volume mounts with noatime
--- Picked a merge with common android kernel, version is bumped to 3.0.31
--- Compiled with Linaro 4.7

07/12/2013
cm-10.1-20130712-UNOFFICIAL-p769.zip
- Kernel with OC/UV
- Ported commit from p760 device to fix call echo and low speaker volume
- Repo synced

07/09/2013
cm-10.1-20130709-UNOFFICIAL-p769.zip
 
Last edited:

AntonX

Senior Member
Nov 9, 2006
432
1,054
Notes

Storage

Originally our phone has very awkward, confusing, and often misunderstood configuration for external storage. Why all these strange emulated directories with cryptic numbers? Well, the numbers are needed for multiuser environment but we don't care about it as on phones it's not enabled. It appears that there is internal /sdcard (or /storage/sdcard0 which is the same) and everybody is welcome to store data on it. Truth of the matter is - there is no dedicated internal sdcard on our phone. There in no separate microchip, no separate partition, the internal sdcard does not exist. It is emulated by FUSE inside /data partition. The original location of files is /data/media/0 and /sdcard just simulates a drive from this directory. It means that every time you save anything to /sdcard, the space will be taken away from /data. Even worse, all apps think that /sdcard is real external storage and will dump data there. Very soon you will find that you've run out of space in /data and cannot install apps anymore. This configuration would have worked fine if we had big internal MMC card but unfortunately ours is quite small. So the best practice is not to use /sdcard at all and keep it as empty as possible. But if it's better not to use it, why even have it?
This ROM completely removes emulation of internal sdcard. There is only single /sdcard0 now and it is mounted to your real external SD. Android and all apps see it properly as external storage. There are no problems anymore with space hungry apps like big games. All downloads will go to the external SD as expected. Apps2SD works seamlessly because storage not emulated. The whole configuration is much more straightforward and easier to work with.

If you have files previously stored on /sdcard0, they are still accessible from /data/media/0, but it is better to move them from there to free space in /data.

If you have installed RemountSD or similar, uninstall it, you don't need it anymore.

If after updating to not-emulated ROM you find that the Camera does not store pictures, just clear its data in Android Settings->Apps->All->Gallery (yes, Camera is part of Gallery.)

Audio Amplifier Analog Gain

Controlling amplifier gain allows to play music both louder (+12dB) at high volumes and clearer at low volumes. The gain adjustment can be found in Android Advanced settings.
The included twl6040 kernel driver also simulates Wolfson wm8994 Voodoo Sound extension for headset amplifier. If Voodoo Sound is installed and Smart Amplifier is enabled, the amplifier gain will be controlled together with the volume. This maintains optimal Signal-to-Noise ratio at low volumes.

Voodoo Sound app shows incorrect range of levels: -57dB..+5dB. In fact our amplifier range is -30dB..0dB in 2dB steps. This discrepancy does not affect the functionality.

The amplifier returns to default gain upon a call or any other microphone activity. After the microphone activity is finished the gain control is re-enabled.

The kernel also supports controlling microphone preamplifier gains. The gain can be adjusted for certain scenarios, for example lowered to capture loud audio during concerts. Camera is using SUB microphone.

BLN

BLN will consume some battery when a notification is in progress. For the the touch LEDs to be lit our phone has to be awake, otherwise the power to the controller goes down and the LEDs turn off. In order to conserve the battery the kernel implements only blinking notifications. The kernel will hold a wakelock only during the short LEDs-On phase and release it when LEDs are Off letting the phone go back to sleep. Native BLN blinking is disabled.
BLN can be enabled either with neldar's app (his paid version supports scheduling) or in the Advanced Settings.
 
Last edited:

Kid_Ding

Senior Member
Oct 27, 2006
488
198
Clackamas, OR
MMS is working for me, but I am on straight talk (tmobile)
I suggest anyone having issues, switch apn to tmo lte settings and see if it makes a difference.
If that fails try setting up a fresh apn with the following details
[source] http://xdaforums.com/showthread.php?t=2240233

The KB from T-Mobile:
http://support.t-mobile.com/docs/DOC-1979

Code:
APN settings laid out in the KB:
Name: T-Mobile
APN: epc.tmobile.com or fast.tmobile.com (for LTE devices)
Proxy: <Not set>
Port: <Not set>
Username: <Not set>
Password: <Not set>
Server: <Not set>
MMSC: http://mms.msg.eng.t-mobile.com/mms/wapenc
MMS proxy: <Not set>
MMS port: <Not set>
MMS protocol: WAP 2.0
MCC: 310
MNC: 260
Authentication type: <Not set>
APN type: <Not Set> OR Internet+MMS (depending on software version)

If you find yourself not able to send MMS messages it is most likely because the proxy,port,username,password fields are not <Not Set>. Just tap these values and delete any information in them. I always restart but not always necessary.

Some people enter 216.155.165.50 for the MMS Proxy and 8080 for MMS Port I have never had to and am not exactly why these values might be needed but try them if the T-Mobile settings don't work.
 

Kid_Ding

Senior Member
Oct 27, 2006
488
198
Clackamas, OR
auto-rotate is not functioning properly for me. i set it to full rotation for launcher and system. when taking a picture in portrait mode, it saves in landscape. attached logcat.
 

Attachments

  • Log_2013-07-08_11-07-02.txt
    476.2 KB · Views: 37

AntonX

Senior Member
Nov 9, 2006
432
1,054
Sources posted.

Bad bug - sensors don't work. Can't look until tomorrow, forgot my hard drive with Ubuntu VM in the office. (Upd: fixed)

leolawliet: Not sure, accordingly to Koush post CM has to be Jul 1st or later (I synced and recompiled today), but he's talking about some middleware patches but from his words it's a little unclear are they already merged or not.
 
Last edited:
  • Like
Reactions: tombassi

leolawliet

Senior Member
Aug 7, 2011
3,441
1,631
New York, NY
www.facebook.com
Sources posted.

Bad bug - sensors don't work. Can't look until tomorrow, forgot my hard drive with Ubuntu VM in the office.

leolawliet: Not sure, accordingly to Koush post CM has to be Jul 1st or later (I synced and recompiled today), but he's talking about some middleware patches but from his words it's a little unclear are they already merged or not.

From what he said it looks like it's been merged since July 1st.

Sent from my LG-P769 using Tapatalk 2
 

AntonX

Senior Member
Nov 9, 2006
432
1,054
I think I know why sensors don't work. Will recompile and post tomorrow morning. In fact I have already made them work on my phone.

leolawliet: So it should work. You can try or wait until tomorrow when I post ROM with fixed sensors.

Interesting observation. Looks like the ROM boots to not-mirrored screen now because of the compiled HWComposer. If I try to replace it with the old prebuilt one, it boots to a mirrored screen.
 
Last edited:

leolawliet

Senior Member
Aug 7, 2011
3,441
1,631
New York, NY
www.facebook.com
I think I know why sensors don't work. Will recompile and post tomorrow morning. In fact I have already made them work on my phone.

leolawliet: So it should work. You can try or wait until tomorrow when I post ROM with fixed sensors.

Interesting observation. Looks like the ROM boots to not-mirrored screen now because of the compiled HWComposer. If I try to replace it with the old prebuilt one, it boots to a mirrored screen.

I think you're onto something and hopefully your findings grants our device some official CM support :D

I guess I'll wait a bit, still tweaking PACrom JB to my liking in the meantime :)
 

AntonX

Senior Member
Nov 9, 2006
432
1,054
Updated build with fixed sensors.

Will do something to the kernel next.

Question: Has anybody really tried running this thing at 1400 MHz? Should I include it or stop at 1300? Also, is pinyoto's undervolting stable, nobody had troubles with it? Sudden reboots, kernel panics, etc.?
 

Kid_Ding

Senior Member
Oct 27, 2006
488
198
Clackamas, OR
Updated build with fixed sensors.

Will do something to the kernel next.

Question: Has anybody really tried running this thing at 1400 MHz? Should I include it or stop at 1300? Also, is pinyoto's undervolting stable, nobody had troubles with it? Sudden reboots, kernel panics, etc.?

i usually oc to 1300, from what i've read 1400 brings too many cons than pros.

i've been running test on a new jellybam port that i'm working on and i get sudden reboots when i use bluetooth stereo headset/speakers or capture pictures/videos.
 

kevev

Senior Member
May 22, 2006
1,553
302
Updated build with fixed sensors.

Will do something to the kernel next.

Question: Has anybody really tried running this thing at 1400 MHz? Should I include it or stop at 1300? Also, is pinyoto's undervolting stable, nobody had troubles with it? Sudden reboots, kernel panics, etc.?

Undervolt caused reboots and stack dumps on my P769.
 

AntonX

Senior Member
Nov 9, 2006
432
1,054
@AntonX
Do you think you will keep codename p760 or have plans to change it to p769 ?

I left only the board (TARGET_BOOTLOADER_BOARD_NAME) as p760, everything else is p769. I actually tried changing it and some related files but the phone didn't boot. So I decided not to mess with it for now. If you can figure out why it didn't boot I can change it. Or I may try later again.

leolawliet: There is library someplace called by the board name, like audio.primary.p760, so you probably need to rename it. HWComposer is also like this.
 
Last edited:

heero884

Senior Member
Jun 10, 2007
53
3
I think I know why sensors don't work. Will recompile and post tomorrow morning. In fact I have already made them work on my phone.

leolawliet: So it should work. You can try or wait until tomorrow when I post ROM with fixed sensors.

Interesting observation. Looks like the ROM boots to not-mirrored screen now because of the compiled HWComposer. If I try to replace it with the old prebuilt one, it boots to a mirrored screen.

So no mirrored/inverted screen funny business? That would motivate me to unlock the bootloader lol.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 33
    CyanogenMod 10.1 UNOFFICIAL for LG Optimus L9 p769


    This is unofficial build. Use at your own risk. I am not responsible for anything that may happen to your phone.

    Only for P769 version of the phone. Do not attempt to flash on any other device.

    The phone bootloader has to be unlocked and correct recovery installed.

    Please avoid discussing general unlocking, rooting, and other unrelated to development issues in this thread.


    Watch for bugs. Report with logcat and dmesg.

    Features
    - Mostly based on p760 device tree.
    - No emulated internal storage. Single external SD card configuration. (Read note in the 2nd post)
    - Apps 2 SD support
    - BLN support (limited, read note the the 2nd post)
    - Analog amplifier gain control with Voodoo Sound support (read note in the 2nd post)
    - Microphone preamplifier gain adjustments
    - Performance kernel with OC/UV
    - Advanced Settings to control kernel clocks

    Kernel
    - Compiled with Linaro 4.7
    - Extended frequency table with 200MHz, 1200MHz, 1350MHz (overclocking doesn't work on some phones)
    - Slightly undervolted
    - Userspace voltage control. Use SetCPU, VoltageControl, or similar. Warning: Save a recovery script with either of these programs before playing with voltages!
    - GPU is extended with 384MHz, IVA with 430 MHz
    - Selectable screen-off maximum frequency
    - Included SmartassV2 governor, SIO scheduler.
    - Few performance tweaks.
    - Kernel without performance tweaks available here

    Bugs
    - No 1080p in camcorder
    - Usual p760 CM10.1 issues, if any

    Installation
    - If going from non-CM10.1 ROM, backup your data and do full reset. If updating from CM10.1 it is usually not necessary.
    - Copy to SD and flash with CWM.
    - Flash correct version of Gapps

    Download
    cm-10.1-20131018-UNOFFICIAL-p769.zip (Mega)
    cm-10.1-20131018-UNOFFICIAL-p769.zip (Dropbox)

    Sources
    Github

    History

    Upstream merges

    10/18/2013
    - Reduced call microphone volumes even more

    10/07/2013
    cm-10.1-20131007-UNOFFICIAL-p769.zip
    - Reduced call microphone volumes

    09/07/2013
    cm-10.1-20130927-UNOFFICIAL-p769.zip
    - CM 10.1.3

    09/07/2013
    cm-10.1-20130907-UNOFFICIAL-p769.zip
    - CM 10.1.3 RC2

    8/30/2013
    cm-10.1-20130830-UNOFFICIAL-p769.zip
    - CyanogenMod 10.1.3 RC1
    - updated radio blobs to LG v20f
    - fixed vibrator tuning in Advanced settings
    - minor tweaks

    8/23/2013
    cm-10.1-20130823-UNOFFICIAL-p769.zip
    - adjusted power profile
    - reduced in-call Bluetooth microphone volume
    - some upstream picks and minor tweaks

    08/19/2013
    cm-10.1-20130819-UNOFFICIAL-p769.zip
    - added BLN settings to Parts
    - added vibrator intensity to Parts
    - run ADB as root by default
    - few tweaks

    ---- project split to CM10.2 here ----

    08/13/2013
    cm-10.1-20130813-UNOFFICIAL-p769.zip
    - kernel with BLN support
    - added BLN blinking adjustments to Advanced Settings
    - added microphone preamp gain control to the kernel, adjustable from Advanced Settings
    - changes to some audio volumes

    08/08/2013
    cm-10.1-20130808-UNOFFICIAL-p769.zip
    - added option to disable touch LEDs
    - fixed USB mass storage
    - Interactive governor updated to 3.4

    08/05/2013
    cm-10.1-20130805-UNOFFICIAL-p769.zip
    - fixed in-call headset volume control
    - reduced headset volume
    - added analog amplifier gain control with Voodoo Sound support

    08/01/2013
    cm-10.1-20130801-UNOFFICIAL-p769.zip
    - IVA (Image Video Accelerator) overclocking
    - GPU underclocking
    - maximum screen-off frequency
    - user settings to control the clocks (Settings->Device->Advanced)
    - minor improvements to overclocking

    07/29/2013
    cm-10.1-20130729-UNOFFICIAL-p769.zip
    - switched board to p769
    - increased microphone volume
    - fixed bluetooth call audio

    07/26/2013
    cm-10.1-20130726-UNOFFICIAL-p769.zip
    - kernel: fixed excessive WiFi power consumption

    07/22/2013
    cm-10.1-20130722-UNOFFICIAL-p769.zip
    - disabled internal sdcard emulation
    - kernel is back to using omap4 audio codec

    07/19/2013
    cm-10.1-20130719-UNOFFICIAL-p769.zip
    - fixed proximity sensor

    07/17/2013
    - Some changes to device, including another audio fix picked from p760
    - Kernel:
    --- Now using twl6040 audio drivers from LG source drop
    --- SIO and SmartassV2
    --- Entropy tweak
    --- Force volume mounts with noatime
    --- Picked a merge with common android kernel, version is bumped to 3.0.31
    --- Compiled with Linaro 4.7

    07/12/2013
    cm-10.1-20130712-UNOFFICIAL-p769.zip
    - Kernel with OC/UV
    - Ported commit from p760 device to fix call echo and low speaker volume
    - Repo synced

    07/09/2013
    cm-10.1-20130709-UNOFFICIAL-p769.zip
    22
    Notes

    Storage

    Originally our phone has very awkward, confusing, and often misunderstood configuration for external storage. Why all these strange emulated directories with cryptic numbers? Well, the numbers are needed for multiuser environment but we don't care about it as on phones it's not enabled. It appears that there is internal /sdcard (or /storage/sdcard0 which is the same) and everybody is welcome to store data on it. Truth of the matter is - there is no dedicated internal sdcard on our phone. There in no separate microchip, no separate partition, the internal sdcard does not exist. It is emulated by FUSE inside /data partition. The original location of files is /data/media/0 and /sdcard just simulates a drive from this directory. It means that every time you save anything to /sdcard, the space will be taken away from /data. Even worse, all apps think that /sdcard is real external storage and will dump data there. Very soon you will find that you've run out of space in /data and cannot install apps anymore. This configuration would have worked fine if we had big internal MMC card but unfortunately ours is quite small. So the best practice is not to use /sdcard at all and keep it as empty as possible. But if it's better not to use it, why even have it?
    This ROM completely removes emulation of internal sdcard. There is only single /sdcard0 now and it is mounted to your real external SD. Android and all apps see it properly as external storage. There are no problems anymore with space hungry apps like big games. All downloads will go to the external SD as expected. Apps2SD works seamlessly because storage not emulated. The whole configuration is much more straightforward and easier to work with.

    If you have files previously stored on /sdcard0, they are still accessible from /data/media/0, but it is better to move them from there to free space in /data.

    If you have installed RemountSD or similar, uninstall it, you don't need it anymore.

    If after updating to not-emulated ROM you find that the Camera does not store pictures, just clear its data in Android Settings->Apps->All->Gallery (yes, Camera is part of Gallery.)

    Audio Amplifier Analog Gain

    Controlling amplifier gain allows to play music both louder (+12dB) at high volumes and clearer at low volumes. The gain adjustment can be found in Android Advanced settings.
    The included twl6040 kernel driver also simulates Wolfson wm8994 Voodoo Sound extension for headset amplifier. If Voodoo Sound is installed and Smart Amplifier is enabled, the amplifier gain will be controlled together with the volume. This maintains optimal Signal-to-Noise ratio at low volumes.

    Voodoo Sound app shows incorrect range of levels: -57dB..+5dB. In fact our amplifier range is -30dB..0dB in 2dB steps. This discrepancy does not affect the functionality.

    The amplifier returns to default gain upon a call or any other microphone activity. After the microphone activity is finished the gain control is re-enabled.

    The kernel also supports controlling microphone preamplifier gains. The gain can be adjusted for certain scenarios, for example lowered to capture loud audio during concerts. Camera is using SUB microphone.

    BLN

    BLN will consume some battery when a notification is in progress. For the the touch LEDs to be lit our phone has to be awake, otherwise the power to the controller goes down and the LEDs turn off. In order to conserve the battery the kernel implements only blinking notifications. The kernel will hold a wakelock only during the short LEDs-On phase and release it when LEDs are Off letting the phone go back to sleep. Native BLN blinking is disabled.
    BLN can be enabled either with neldar's app (his paid version supports scheduling) or in the Advanced Settings.
    13
    OP updated.

    The product board has changed to p769. Kernel doesn't need CONFIG_MACH_LGE_U2_P760 to be set anymore, which was not a good thing to have.

    Fixed bluetooth SCO, in-call audio works.

    Increased microphone volume for some scenarios like camcorder or general use. Report if you find any issues.

    Repo synced today.

    Note: I will not do anything about CM10.2 until it becomes more stable and probably not before p760 tree switches to it.
    12
    OP updated

    Added Image Video Accelerator (IVA) overclocking. It is used to encode/decode video (H.264, etc.). Maybe not really needed as the phone seem to be able to decode 1080p just fine without it, but well, it's done and it's optional. By default not enabled.

    Added under-clocking to GPU. Those who don't need GPU performance but want to save some battery may enable it. Not sure how much savings it will provide, maybe not a lot.

    Added maximum screen-off frequency. The CPU will not go higher than selected limit when screen is off. If not enabled, this frequency is at the hands of the active governor. Some may limit it, some may not.

    Added user app to control the kernel clocks. Look in Android Settings->Device->Advanced.

    Watch for bugs.

    Repo synced today.

    Note: GPU and IVA overclocking frequencies are not replacing the default maximums, they are added to the table. This means that they are active only if there is real load on GPU / DSP, otherwise the scaler just doesn't use them.
    10
    CM 10.2(Android 4.3) runs on our phones: