5,595,428 Members 48,151 Now Online
XDA Developers Android and Mobile Development Forum

[Kernel] Dragon-G2x v1.5.2 (CM7/Trigger) <Fix Boot on 173+> [10/19/2011]

Tip us?
 
ttabbal
Old
(Last edited by ttabbal; 21st October 2011 at 01:59 PM.)
#1  
Senior Member - OP
Thanks Meter 421
Posts: 1,662
Join Date: Jul 2009
Default [Kernel] Dragon-G2x v1.5.2 (CM7/Trigger) <Fix Boot on 173+> [10/19/2011]

APN Fix: The work here was done by cm_acree, I provided testing and reporting, nothing more. Thank him. I have noticed one issue testing this build, which could be my fault. Rebooting from the menu to recovery (I have clockwork installed) then rebooting from clockwork back to CM7.1 breaks data. Reboot from the power long-press menu, and it comes right up. But how often do we hit recovery?

FOR OTHER DEVS: To fix APN, grab the boot.img and use it's ramdisk in your build. That was the only thing I did to my kernel build to get this result. See the bug report here: http://code.google.com/p/cyanogenmod...ars%20Priority

First off, big thanks to Faux123. This is based on his repo with a few tweaks of my own. I'll be adding more as we go on. And of course, he's welcome to pull any patches he likes from my github. Morfic also deserves top billing as of v1.3. I added a lot of tweaks from his code in the latest version.


Changes:

Added zram compressed swap support. I'll attach a script to turn it on and one to see what its status is. It's not like the older ramzswap that requires a special tool, everything is done through sysfs now. Very nice.

Added zcache compressed cache. This is a bigger win IMO, it compresses any compressible data in the cache. This means you can keep much more data in cache, which means you have to read it in from slow flash much less often.

Tweaked the low memory killer to take swap space into account, but only some of it.... This prevents swap thrashing while the system tries to kill processes and free up ram/swap. I also suggest using something like AutoKiller to set the levels to the best performance for your workload. We all run different apps and such, and that can affect how these things work for each user. There is no setup that is going to be perfect for 100% of users. Speaking of AutoKiller, I have found the advanced tweaks to help a fair bit as well. Don't use the memory management one, it overides your settings for things like swappyness. And the IO Scheduler doesn't do anything as we aren't using cfq. Unless you turn on cfq...


On Swap and compression:

While badly configured swap can slow things down, it's far more complex than people think. It also frees up RAM that's not being used frequently for apps that are. So your system can more efficiently use the resources it has. While compression does use some CPU time, our dual core 1Ghz+ CPUs can compress/decompress REALLY fast. Far faster than reading from the flash storage. In theory, this can affect battery life, though I haven't seen any significant issues from it.

Q: But we have 512M, that's a LOT!
A: Well, kind of... Not all of it is accessible to the kernel for running apps. 128M for the GPU, some for the cameras, wifi, etc... In the end, a little less than 400M is available. Then you have to add in system overhead from the kernel itself, Android's OS processes, etc.. That is quite limiting, IMO, so using it more efficiently is important to me.

Q: I don't like compression/swap.
A: Then don't run this kernel.

Download 1.5.1 (older cm7 builds): goo.gl/B2LSW

Download (CM7/Trigger) v1.5.2: http://goo.gl/rl7VY
Scripts: http://goo.gl/M4SzG

Code:
Changelog:

v1.5.2

* Added patch from CM repo for booting 173 and newer builds. 

v1.5.1

* Possible BT/CAM fixes (Change clock options based on Morfic's info) 
* Integrate some config changes 

v1.5

* Possible SOD fix from vork/CM
* Faster SHA-1 from kernel git
* Faster memcpy/memset from kernel git
* Various other patches from the kernel git

v1.4.1

* Updated ramdisk for the latest APN fixes

v1.4

* Disappearing APN fix from cm_acree
* Misc. little fixes

v1.3

* Added morfic's changes to the voltage control code
* Increased voltages 
* Added JRCU patch from morfic's repo
* Tweaked various VM options also per morfic's repo
* Made deadline scheduler the default

v1.2.2

* Update to work with latest CM nightly builds

v1.2 

* Updates from the CM repo


v1.1

* Update various drivers from the LG source drop
* Increase voltages and switch to max 1.5Ghz 
* Switch to the CM based battery driver
The Following 32 Users Say Thank You to ttabbal For This Useful Post: [ Click to Expand ]
 
zimphishmonger
Old
#2  
zimphishmonger's Avatar
Senior Member
Thanks Meter 741
Posts: 3,865
Join Date: Jun 2009
Great to see you back, ttabal! Been missing your work since the dragon kernels on the Vibrant. Always nice to find another dev working on the G2x! Looks alike a great start to an aggressive kernel, just what we need

You have any plans of working on a kernel based off the LG's OTA 2.3.3, the source was released last week?
| Device: LG Nexus 4 | Morfic's Trinity or Bricked Kernels |

| Device: Google Nexus7 | Trinity Kernel |

 
fcisco13
Old
#3  
fcisco13's Avatar
Senior Member
Thanks Meter 327
Posts: 1,835
Join Date: Jul 2010
Location: houston
Thanks bro. how do we run the script to turn on/check.
 
web_ninja
Old
#4  
web_ninja's Avatar
Senior Member
Thanks Meter 48
Posts: 205
Join Date: Mar 2010
Location: Fort Smith
use a terminal emulator to cd to sdcard/scripts folder and type "su" then "sh enable_zram.sh" all without the quotes.... am i right? i did it and the command ran just fine and applied...
 
ttabbal
Old
#5  
Senior Member - OP
Thanks Meter 421
Posts: 1,662
Join Date: Jul 2009
Quote:
Originally Posted by fcisco13 View Post
Thanks bro. how do we run the script to turn on/check.
Unzip the scripts.zip and use gscript or Script Manager to run them... you can also just run them in a shell if you prefer. Lots of options. They are to run on the phone, not your computer.
The Following User Says Thank You to ttabbal For This Useful Post: [ Click to Expand ]
 
ttabbal
Old
#6  
Senior Member - OP
Thanks Meter 421
Posts: 1,662
Join Date: Jul 2009
Quote:
Originally Posted by zimphishmonger View Post
Great to see you back, ttabal! Been missing your work since the dragon kernels on the Vibrant. Always nice to find another dev working on the G2x! Looks alike a great start to an aggressive kernel, just what we need

You have any plans of working on a kernel based off the LG's OTA 2.3.3, the source was released last week?

Thanks man! Still getting up to speed on the OC options and such for Tegra, but looks easy enough. I'll be getting dirty later, this is just to get started. I've already got the source building thanks to Faux again, just need to get an OTA based ROM installed so I can test it. If only the dual boot thing worked on G2x, would save me some time. Owell. I sent that dev the info he should need to make it work... don't know what the deal is.

Anyway... nandroid almost done... time to try booting.
 
web_ninja
Old
#7  
web_ninja's Avatar
Senior Member
Thanks Meter 48
Posts: 205
Join Date: Mar 2010
Location: Fort Smith
thanks ttabbal your way was easier... i am just used to shell... lol i was going to give him a breakdown of the script.... thanks....
 
wu_wei_lion
Old
#8  
Senior Member
Thanks Meter 5
Posts: 114
Join Date: Jul 2010
I loved your stuff on the vibrant and hope to see more of the same with the G2X.
 
HAvoktek
Old
#9  
HAvoktek's Avatar
Senior Member
Thanks Meter 33
Posts: 219
Join Date: Jan 2010
Location: Cleveland, OH
Awesome! Bring some of the Dragon love here to the G2X. My other Vibrants are still rockin' your kernels dude!
If at first you don't succeed; call it version 1.0
 
fcisco13
Old
#10  
fcisco13's Avatar
Senior Member
Thanks Meter 327
Posts: 1,835
Join Date: Jul 2010
Location: houston
What should happen when i run script with script manager??

I get setting up swap space version 1 size =xxxxx

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes