[FIX] Auto brightness fix for JVP based ROMs - Galaxy S I9000 General

Here is the autobrightness FIX that should work on any deodexed JVP based ROM (NOT on stock).
Maybe not on some custom kernels - I have not found one yet, but just to warn you
[EDIT]: I've updated the zip with dependant twframework.apk. Now it should work.
HOW TO INSTALL:
- put the zip on your SD card
- Go to recovery (should be CWM compatible)
- install zip from your SD card
- ENYJOY!
With this fix you'll have 5 auto brightness levels.
I've set the following settings that work best for me (and my phone's HW).
5 - at dark (sensor level lower than 20)
35 - inside low light (sensor level lower than 330)
75 - inside at normal light (sensor level lower than 650)
155 - inside at daylight or outside when cloudy or getting darker (sensor level lower than 2610)
255 - outside at daylight (sensor level greater than 2610)
You can monitor the sensor level and changed backlight values with logcat.
I've done the fix based on information from this thread: http://forum.xda-developers.com/showthread.php?t=1130336 (thanks to Lukiqq)
Here are my values in framework-res.apk\res\values\arrays.xml
Code:
<integer-array name="config_autoBrightnessLevels">
<item>20</item>
<item>330</item>
<item>650</item>
<item>2610</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>5</item>
<item>35</item>
<item>75</item>
<item>155</item>
<item>255</item>
</integer-array>

Applied this to Stock JVP on K15H-T12 with Jkay theme, entered reboot loop, had to restore phone !!!!

gsw5700 said:
Applied this to Stock JVP on K15H-T12 with Jkay theme, entered reboot loop, had to restore phone !!!!
Click to expand...
Click to collapse
YOur phone is not actually on stock as you are using speedmod's kernel which is definitely a custom one...

When opener says: haven't found kernel that isn't compatible I think he has tried the most often used one like speedmod, voodoo and so on.
I tried it too with JVP and voodoo(stock samsung kernel just with ext4): doesn't work and messed up my battery symbol by somator and his gb mod. Had to reinstall the mod.
Think this thread here is not so useful as I thought.

OK, Was worth a go;-)

flypubec said:
Here is the autobrightness FIX that should work on any JVP based ROM (also on stock).
Click to expand...
Click to collapse
Services.jar in this package is deodexed, stock rom is odexed so it won't work on pure stock ROM. I've already made working package for stock ROM's with Lukiqq settings:
http://forum.xda-developers.com/showthread.php?p=14915073#post14915073

@Bo$s
Will my mod by Somator will be gone after applying ur fix?
I mean things like Battery icon and power menue?
greetz
EDIT: tried ur fix and have to say it didn't work too.
As I assumed all mods by Somator were gone.
Had only crashes and power menue was completely gone.

usefull
/install thanks

Works on my rom kitchen build of JVP with stock theme..
Only downside is that I actually like the stock battery but this comes with one of the % modded ones..
Marty

Bo$s said:
Services.jar in this package is deodexed, stock rom is odexed so it won't work on pure stock ROM. I've already made working package for stock ROM's with Lukiqq settings:
[...]
Click to expand...
Click to collapse
lukiqq so called fix is a bigmess, he is not aware what is he doing
i strongly advise not to use lukiqq fix
MasterJam882 said:
@Bo$s
Will my mod by Somator will be gone after applying ur fix?
I mean things like Battery icon and power menue?
greetz
EDIT: tried ur fix and have to say it didn't work too.
As I assumed all mods by Somator were gone.
Had only crashes and power menue was completely gone.
Click to expand...
Click to collapse
yes it will be gone as it uses same files - i am a bit bored so maybe i will do my version of this fix based on some other lib =) will think about it
but this fix looks way better then lukiqq one - if you cant wait use it

i can confirm, you have to be careful by using lukiqq's fix - but i don't think its totaly useless, because without his initial thoughts i wouldn't have come to an functional autobrighness result. (it didn't work well in stock-jvp)
i did my own research and i came to the conclusion that investigating the behaviour of sensors.default.só does the trick....(im combination with PROPER values in framework-res)
following both jvp-autobrightness-fix-threads i compared stock sensors.so, the one provided by darkky, the one provieded by lukiqq etc..... i realized that stock jvp-sensors (it doesn't matter which "release") floods my logcat (and/or it recognized only some light-ambients resulting in bright or dark - but nothing in between....)
the sensors.default.so provieded by lukiqqq (i guess, it was part of cm-files) recognize more.. 10-160-225-320-640-1280-2600-10240 i think so i started with that and edited my framework-res with that settings
Code:
<integer-array name="config_autoBrightnessLevels">
<item>640</item>
<item>1280</item>
<item>2600</item>
<item>10240</item>
</integer-array>
<integer-array name="config_autoBrightnessLcdBacklightValues">
<item>1</item>
<item>70</item>
<item>116</item>
<item>177</item>
<item>253</item>
</integer-array>
and feel quite good with it.....
(btw: i like the first line in lcdbacklightvalues! now don't need screenfilter anymore bacause its darker than setting the backlight to 0% )
@$omator: if you get a sensors.default.so with better/more/ recognized light-values as the one described above - please tell me!!

and OP maybe use cm7 lib, it should have 10 readings
10, 40, 90, 160, 225, 320, 640, 1280, 2600, 10240
Click to expand...
Click to collapse
still i was able to register 8 of them only - 40, 90 missing
//edit oh so you are using this one - so why not use all 8/10 values =)
//edit2 it was useless, lukiqq values are still a chaos not related much to sensor redings - he is like blindman on a narrow road - i am amazed that he compiled a kernel and let people test it - i would not risk blowing up my phone by this pyromaniac =)

okay, lets say there are 10 readings!
@edit:
i used only the last 4 values (so 5 settings alltogether) because i'm too lazy to patch my services.jar (i think its useless eyecandy with that 10 reading lib!)
i realized that readings 10, 40, 90, 160, 225, 320 are completely nonsense in daily use because the physical light-differents between 10 to 225 are sooo minimalistic imho!
does anyone know if the following scenario is possible: (according to a 10 reading restriction in lib [or kernel..i don't know if its also kernel realated stuff])
instead of using these values
10, 40, 90, 160, 225, 320, 640, 1280, 2600, 10240
the lib should be "forced" to use certain values like these
10, 160, 320, 640, 1280, 2600, 5200, 10240, 15000 (like in stock lib), 20480 (if thats still realistic..i dont like to travel to the sun for testing)
or maybe we could add readings so we get a lib with 20 or even more values (mmhh.. i would love to see a FLUENT change of brightness..so gimme 255 readings xD )
@edit2:
^^
i didn't test his kernel either but i read his topic and most of the pyro-testers were fine with it because of its list of features (including bln)
offtopic: i'm still on dark core, does speedmod have bln support yet?

have no idea - i see no sense in using kernels for 2.3.4 based on 2.3.3 sources mix that produces such bugs as front facing camera bug, brighteness and who knows what else - as for values well sure i see no point in using so much of them but it would be very cool to see smooth smooth changes in brighteness =) question is what is this sensors maximum reading possible, stepping is every 1 lux but the 3000 for max is a myth - even stock .so goes up to 100000 so thats probably the upper limit

@flypubec,
Thanks for pointing me in the right direction. Since, I am running non-stock kernel (Talon 0.31) and ROM (Criskelo v75 + Galaxy Blue theme), I knew your CWM zip file won't work, so finally decided to try my hand in decompiling the apk (from the theme).
However, after copying the .apk file to /system/framework (followed all the steps mentioned in the thread you had linked to, for copying the unsigned framework), after reboot, I am getting tons of reboots and force closes ..
@anyone,
Can someone tell me what the issue could be ? Is it because this method, won't work with themed apk's? If so, what is the alternative?
UPDATE :
Checked the logcat. The following is the error coming related to framework:
D/PackageManager( 1387): scanPackage : /system/framework/framework-res.apk
I/PackageManager( 1387): /system/framework/framework-res.apk changed; collecting certs
D/dalvikvm( 1387): GC_CONCURRENT freed 167K, 41% free 3843K/6407K, external 1710K/1988K, paused 2ms+3ms
D/dalvikvm( 1387): GC_FOR_MALLOC freed 389K, 43% free 4038K/6983K, external 1710K/1988K, paused 19ms
D/dalvikvm( 1387): GC_FOR_MALLOC freed 275K, 43% free 4094K/7111K, external 1710K/1988K, paused 18ms
D/dalvikvm( 1387): GC_FOR_MALLOC freed 349K, 42% free 4243K/7303K, external 1710K/1988K, paused 18ms
D/dalvikvm( 1387): GC_FOR_MALLOC freed 88K, 41% free 4339K/7303K, external 1710K/1988K, paused 19ms
D/dalvikvm( 1387): GC_CONCURRENT freed 253K, 35% free 4921K/7559K, external 1710K/1988K, paused 2ms+3ms
D/dalvikvm( 1387): GC_CONCURRENT freed 435K, 34% free 5507K/8327K, external 1710K/1988K, paused 2ms+3ms
W/PackageManager( 1387): Signature mismatch for shared user : SharedUserSetting{40551fa0 android.uid.system/1000}
D/PackageManager( 1387): scanPackage : /system/framework/twframework-res.apk
W/PackageParser( 1387): /system/framework/twframework-res.apk (at Binary XML file line #2): <manifest> specifies bad package name "touchwiz": must have at least one '.' separator

seems liek a typo in framework-res.apk ?

$omator said:
seems liek a typo in framework-res.apk ?
Click to expand...
Click to collapse
Thanks, for replying..
Seems like the, issue is persisting with the same error ,even after reapplying the theme. (getting the same error in logcat..)..
Is it possible that , the first time I applied this, there was some minor typo, after which none of the flashes, is solving the issue?
(I have tried pushing via adb, cwm and none of them is working?)
I guess, I'll have to reflash the ROM and see, if that works, and then probably continue from there..?

@Somator
Hey m8.
I'm very interested in tiny_gb_mod with brightness fix by you.
Do u think it will come soon?
This would be just awesome.
Thx and greetz

i think easiest way is to fix is to use .so sensor extracted from any 2.3.3 gb out there - try this for first - no changes in framework are needed if you use my tinymod

where do I have to search in such a ROM?
Do I have to flash a 2.3.3 first to extract such a file or is this file accessable in a .tar file?
Maybe someone can send me such a file in here and tell me where I have to move it.
Thx to all here for ur help.

Related

[MOD] Improve your battery life tenfold UPDATE 04/29/2012

Improve your battery life tenfold by PureMotive​
tested and working at: SGS, Xperia Play, HTC Inc S, the battery life has increased significantly
Original link: http://forum.xda-developers.com/showthread.php?t=1621808​http://forum.xda-developers.com/showthread.php?t=1621808
PureMotive said:
Okay guys, I just thought I'd give you my mod for achieving good-great battery life. This is the mod I use in Anthem™ which has given me 50+ hours on a single charge. Feel free to include it in your own ROM or whatever. Please give credit or thanks or both
First: Here is a flashable .zip of the mod that may or may not work with your ROM. I'd still advise doing it manually.
Sysctl.conf - Outdated as of 4/29/2012​
Step 1
Open up your ROM.zip (or whatever it's called) in 7zip (Windows) or Betterzip (OSX) and locate
sysctl.conf in /system/etc
If it's not in this directory, create it.
Step 2
In your sysctl.conf file, paste the following code and save it.
Code:
#sysctl.conf file
fs.nr_open=1053696;
fs.inotify.max_queued_events=32000;
fs.inotify.max_user_instances=256;
fs.inotify.max_user_watches=10240;
fs.lease-break-time=10;
fs.file-max=165164;
kernel.threads-max=525810;
kernel.random.write_wakeup_threshold=256;
kernel.random.read_wakeup_threshold=128;
kernel.panic=5;
kernel.sched_compat_yield=1;
kernel.panic=0;
kernel.panic_on_oops=1;
kernel.msgmni=2048;
kernel.msgmax=64000;
kernel.shmmni=4096;
kernel.shmall=2097152;
kernel.shmmax=268435456;
kernel.sem='500 512000 64 2048';
kernel.sched_features=24189;
kernel.hung_task_timeout_secs=30;
kernel.sched_latency_ns=18000000;
kernel.sched_min_granularity_ns=1500000;
kernel.sched_wakeup_granularity_ns=3000000;
kernel.sched_shares_ratelimit=256000;
kernel.sched_child_runs_first=0;
fs.lease-break-time=10;
fs.file-max=65536;
net.core.wmem_max=524288;
net.core.rmem_max=524288;
net.core.rmem_default=262144;
net.core.wmem_default=262144;
net.core.optmem_max=20480;
net.unix.max_dgram_qlen=50;
net.ipv4.tcp_keepalive_time=900;
net.ipv4.tcp_keepalive_probes=5;
net.ipv4.tcp_keepalive_intvl=156;
net.ipv4.tcp_timestamps=0;
net.ipv4.tcp_sack=1;
net.ipv4.tcp_fack=1;
net.ipv4.tcp_window_scaling=1;
net.ipv4.tcp_tw_recycle=1;
net.ipv4.tcp_tw_reuse=1;
net.ipv4.tcp_congestion_control=cubic;
net.ipv4.tcp_syncookies=1;
net.ipv4.conf.all.rp_filter=1;
net.ipv4.conf.default.rp_filter=1;
net.ipv4.tcp_synack_retries=2;
net.ipv4.tcp_syn_retries=2;
net.ipv4.tcp_max_syn_backlog=1024;
net.ipv4.tcp_max_tw_buckets=16384;
net.ipv4.icmp_echo_ignore_all=1;
net.ipv4.icmp_ignore_bogus_error_responses=1;
net.ipv4.tcp_no_metrics_save=1;
net.ipv4.tcp_fin_timeout=15;
net.ipv4.tcp_keepalive_intvl=30;
net.ipv4.tcp_keepalive_probes=5;
net.ipv4.tcp_keepalive_time=1800;
net.ipv4.ip_forward=0;
net.ipv4.conf.default.accept_source_route=0 ;
net.ipv4.conf.all.accept_source_route=0;
net.ipv4.conf.all.accept_redirects=0;
net.ipv4.conf.default.accept_redirects=0;
net.ipv4.conf.all.secure_redirects=0;
net.ipv4.conf.default.secure_redirects=0;
net.ipv4.udp_rmem_min=6144;
net.ipv4.udp_wmem_min=6144;
net.ipv4.tcp_rfc1337=1;
net.ipv4.ip_no_pmtu_disc=0;
net.ipv4.tcp_ecn=0;
net.ipv4.route.flush=1;
net.ipv4.tcp_rmem='6144 87380 524288';
net.ipv4.tcp_wmem='6144 87380 524288';
net.ipv6.conf.default.use_tempaddr=2;
net.ipv6.conf.all.use_tempaddr=2;
net.ipv6.conf.all.temp_prefered_lft=3600;
net.ipv6.conf.default.temp_prefered_lft=3600;
vm.dirty_ratio=90;
vm.dirty_background_ratio=80;
vm.oom_kill_allocating_task=1;
vm.overcommit_memory=1;
vm.page-cluster=3;
vm.drop_caches=3;
vm.min_free_kbytes=4096;
vm.panic_on_oom=0;
vm.dirty_expire_centisecs=1000;
vm.dirty_writeback_centisecs=2000;
vm.oom_kill_allocating_task=0;
vm.vfs_cache_pressure=10;
vm.min_free_order_shift=4;
vm.laptop_mode=0;
vm.block_dump=0;
PureMotive said:
I updated the OP with a new code (Thanks to Tiny). I just removed the semicolons. Use this version if the other does not work for you.
Click to expand...
Click to collapse
If the above code does not work for you, try this one. It has the semi-colons removed. Thanks Tiny
Code:
#sysctl.conf file
fs.nr_open=1053696
fs.inotify.max_queued_events=32000
fs.inotify.max_user_instances=256
fs.inotify.max_user_watches=10240
fs.lease-break-time=10
fs.file-max=165164
kernel.threads-max=525810
kernel.random.write_wakeup_threshold=256
kernel.random.read_wakeup_threshold=128
kernel.panic=5
kernel.sched_compat_yield=1
kernel.panic=0
kernel.panic_on_oops=1
kernel.msgmni=2048
kernel.msgmax=64000
kernel.shmmni=4096
kernel.shmall=2097152
kernel.shmmax=268435456
kernel.sem='500 512000 64 2048'
kernel.sched_features=24189
kernel.hung_task_timeout_secs=30
kernel.sched_latency_ns=18000000
kernel.sched_min_granularity_ns=1500000
kernel.sched_wakeup_granularity_ns=3000000
kernel.sched_shares_ratelimit=256000
kernel.sched_child_runs_first=0
fs.lease-break-time=10
fs.file-max=65536
net.core.wmem_max=524288
net.core.rmem_max=524288
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.optmem_max=20480
net.unix.max_dgram_qlen=50
net.ipv4.tcp_keepalive_time=900
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_intvl=156
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_congestion_control=cubic
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_max_syn_backlog=1024
net.ipv4.tcp_max_tw_buckets=16384
net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_time=1800
net.ipv4.ip_forward=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.udp_rmem_min=6144
net.ipv4.udp_wmem_min=6144
net.ipv4.tcp_rfc1337=1
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.tcp_ecn=0
net.ipv4.route.flush=1
net.ipv4.tcp_rmem='6144 87380 524288'
net.ipv4.tcp_wmem='6144 87380 524288'
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.all.temp_prefered_lft=3600
net.ipv6.conf.default.temp_prefered_lft=3600
vm.dirty_ratio=90
vm.dirty_background_ratio=80
vm.oom_kill_allocating_task=1
vm.overcommit_memory=1
vm.page-cluster=3
vm.drop_caches=3
vm.min_free_kbytes=4096
vm.panic_on_oom=0
vm.dirty_expire_centisecs=1000
vm.dirty_writeback_centisecs=2000
vm.oom_kill_allocating_task=0
vm.vfs_cache_pressure=10
vm.min_free_order_shift=4
vm.laptop_mode=0
vm.block_dump=0
Step 3
Now we need to enable it. So, navigate to /system/etc/init.d and create a file with the following code:
Code:
#!/system/bin/sh
# grep sysctl /etc/init.d/*
# Load /sys/etc/sysctl.conf
sysctl -p
sysctl -p is what initializes the code.
Just FYI: You don't actually need these lines:
Code:
# grep sysctl /etc/init.d/*
Code:
# Load /sys/etc/sysctl.conf
So this would have just sufficed.
Code:
#!/system/bin/sh
sysctl -p
If the above code does not work for any reason, try this:
Code:
#!/system/bin/sh
sysctl -p /system/etc/
Name your file something like this 10sysctl
Save your file.
NOTE: Your ROM must support init.d. You can do this by using dsixda's android kitchen
Step 4
Save your ROM and install it via recovery
OR
you could just push the files into your current ROM and try them out.
Step 5
For operating the script enter the following code in terminal emulator
Code:
su
sysctl -p
is all that is really needed to run the script. So here are some more options:
If you think that init.d is being faulty, enter in terminal emulator
Code:
su
sysctl -p
and then
Code:
sysctl -a| grep vm
What this does is manually start up sysctl.conf and then verify it with the succeeding code.​
OR
Ignore what
Code:
sysctl -a| grep vm
is outputting and just see if you experience better battery life (you should)​
----------- For knowledge -----------​
Credits to imoseyon for portions of the info​
Ok, so what exactly is sysctl.conf?
The sysctl.conf is a configuration file for "sysctl" which is an interface for dynamically changing kernel parameters in the Linux OS. The configuration file contains the following elements, vm.min_free_kbytes, vm.dirty_ratio, vm.dirty_backgroud_ratio, vm.vfs_cache_pressure, vm.oom_kill_allocating_task. There are many other elements within the file, but we will be primarily focusing on these specifically (the vm prefix stands for virtual memory). The sysctl.conf file should be located in /etc (/system/etc) by default. To enable it you need your ROM to execute "sysctl -p" somewhere during the boot process (or shortly afterward). We will also be discussing how to enable it if it is not already done so. You can also run sysctl -p manually to enable it any time after the OS is started.
Now, let’s get down to what sysctl.conf does and how it works.
min free kbytes (vm.min_free_kbytes)
This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size. Default is 2048kb.
dirty ratio (vm.dirty_ratio) and dirty background ratio (vm.dirty_background_ratio)
This controls how often the kernel writes data to "disk" (in our case the internal microSD system card, not the removable microSD card). When your apps write data to disk, Linux actually doesn't write the data out to the disk right away, it actually writes the stuff to system memory and the kernel handles when and how the data is actually going to be flushed to the disk. These values represent a percentage, the higher the percentage, the longer it waits to flush, the lower the percentage, the more often flushes will occur. Now remember, we are dealing with solid state storage, not the traditional disk platter and spindle. So we are actually able to delay flushes a little longer with solid state versus a traditional hard drive disk.
VFS Cache Pressure (vm.vfs_cache_pressure)
Now here is where it gets interesting! File system cache (dentry/inode) is really more important than the block cache above in dirty ratio and dirty background ratio, so we really want the kernel to use up much more of the RAM for file system cache, this will increas the performance of the system without sacrificing performance at the application level. The default value is 100, as a percentage, and what you want to do is lower the value to tell the kernel to favor the file system cache and not drop them aggressively.
oom allocating task (vm.oom_kill_allocating_task)(enable or disable, generally in Linux this value is either a "1" or a "0," representing as on or off.)
This enables or disables killing the OOM-triggering task in out-of-memory (oom) situations. If this is set to zero, or disabled, the OOM killer will scan through the entire task list and select a task based on heuristics to kill. This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed. If this is set to non-zero, or enabled, the OOM killer simply kills the task that triggered the out-of-memory condition. This avoids the expensive task list scan, which can take mass amounts of time and "hang" or freeze the system.
block_dump (vm.block_dump)
This enables block I/O debugging when set to a nonzero value. If you want to find out which process caused the disk to spin up (see /proc/sys/vm/laptop_mode), you can gather information by setting the flag.
When this flag is set, Linux reports all disk read and write operations that take place, and all block dirtyings done to files. This makes it possible to debug why a disk needs to spin up, and to increase battery life even more. The output of block_dump is written to the kernel output, and it can be retrieved using "dmesg". When you use block_dump and your kernel logging level also includes kernel debugging messages, you probably want to turn off klogd, otherwise the output of block_dump will be logged, causing disk activity that is not normally there.
overcommit_memory (vm.overcommit_memory)
This controls overcommit of system memory, possibly allowing processes to allocate (but not use) more memory than is actually available.
0 - Heuristic overcommit handling. Obvious overcommits of address space are refused. Used for a typical system. It ensures a seriously wild allocation fails while allowing overcommit to reduce swap usage. root is allowed to allocate slighly more memory in this mode. This is the default.
1 - Always overcommit. Appropriate for some scientific applications.
2 - Don't overcommit. The total address space commit for the system is not permitted to exceed swap plus a configurable percentage (default is 50) of physical RAM. Depending on the percentage you use, in most situations this means a process will not be killed while attempting to use already-allocated memory but will receive errors on memory allocation as appropriate.
page-cluster (vm.page-cluster)
This controls the number of pages which are written to swap in a single attempt. The swap I/O size.
It is a logarithmic value - setting it to zero means "1 page", setting it to 1 means "2 pages", setting it to 2 means "4 pages", etc.
The default value is three (eight pages at a time). There may be some small benefits in tuning this to a different value if your workload is swap-intensive.
panic_on_oom (vm.panic_on_oom)
This enables or disables panic on out-of-memory feature. If this is set to 1, the kernel panics when out-of-memory happens. If this is set to 0, the kernel will kill some rogue process, by calling oom_kill().
Usually, oom_killer can kill rogue processes and system will survive. If you want to panic the system rather than killing rogue processes, set this to 1.
The default value is 0.
Panic is a system error that is detected by the kernel.
dirty_expire_centisecs (vm.dirty_expire_centisecs)
How old "dirty" data should be before the kernel considers it old enough to be written to disk. It is expressed in 100ths of a second.
dirty_writeback_centisecs (vm.dirty_writeback_centisecs)
This is the interval of when the writeback daemons periodically wake up and write "old" data out to disk. It is expressed in 100ths of a second.
Click to expand...
Click to collapse
Woah.!!
Sent from my GT-S5830 using Tapatalk
Flashable ZIP
Tenfold huh? should give it a try..
EDIT (updated):
Heres a flashable zip to make things a little easier:
Instructions:
1. Reboot to CWM
2. Mount system
3. Flash
DOES IT WORK?
See for yourself
v2-04/30/2012 [without semi-colons of sysctl.conf (refer Step 2) & removed extra lines of 10sysctl (refer step 3)]
pure AWESOMENESS
Sent from my GT-I9100 using xda premium
Is it working. For ace?????
Sent from my GT-S5830 using Tapatalk 2
Anyone comfirm this working?
added to my future rom
Sure.. after 30min from the first post someone definitely will answer if it extends battery life
Let's see who'll be the first to notice that his bettery last longer
Thanks for sharing this
Is it compatible with CM9?
I installed this on my 2.3.6 based ROM and everything is smooth so far. I also ran the supercharger scripts and all 3 had no errors just in case anyone was wondering if they'd conflict with eachother.
/me Flashed,charging Batt ... ->Start
Testing ...edit with notes follows in 24h ...
Thx 4 sharing
(Edit) for me the battery jumps stopped,its more accurate...but i dont have more battery life.
Verstuurd va men ace via Tapatalk
Installed on 2.3.6 based ROM. Everything went smoothly installing. I ran the V6 turbocharger scripts and it didnt cause any errors to come up in case anyone was wondering.
Sent from my VS910 4G using xda premium
Just installed now, on CM9, Beta 8 by the GalaxyICS team.
Currently charging, and I will show a battery life screenie tomorrow and report on the performance
Downloaded, short term testing looks promising, played angry bird for 30mins, that use to drain like 10% battery, now it's only 6%. Not ten fold but still, improvement from just a file, i'll take that any day, this should come standard on all roms now
Does it works on Lewa rom?
Yes i think it was we need It appears to save battery ... Tomorrow i will do full test with full charge
ok installed 5 minutes back on Lk's I two Rom aka cyanogenmod. no problem but I notified a significant change in speed.. phone feels faster. battery backup dropped two percent in 3 minutes of edge usage. ll update this post after 5 hours.. those who want to install do it without fear its installing no bootloops no errors...
thanks for the share
---------- Post added at 08:01 AM ---------- Previous post was at 07:38 AM ----------
kohrangi said:
Does it works on Lewa rom?
Click to expand...
Click to collapse
Yes it works...
Mmm... testing... im at hospital for 2 days without my charger so... It will come handy if works.
Thanks!
Enviado desde el hospital usando Tapatalk con la mano derecha (soy surdo pero tengo suero)
A question, though: is this version of the mod any different from the original? Because the flashable zip of the original mod is bigger than the one posted here. Just curious. Anyway, I'm going to install the original. I'll come back later with answers.
AlterJack said:
A question, though: is this version of the mod any different from the original? Because the flashable zip of the original mod is bigger than the one posted here. Just curious. Anyway, I'm going to install the original. I'll come back later with answers.
Click to expand...
Click to collapse
Files sysctl.conf are the same. Original sysctl.conf contains one empty line at the end of file - that is all.

Jelly BeanNexuS OTA port (AOSP Logcat Added)

ⒿjellyJOLLYteamⒿ​
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
***Proudly Presents ***
You Jelly???
Proudly Presnets​
Important: before attempting to flash this ROM, please understand the risks to your device, which include the possibility of causing it to enter a bootloop, causing a soft-brick, or potentially even a hard-brick. Understand that the chances of causing a problem which cannot be fixed is very low, but still a real possibility. If something crazy should go wrong, and you end up with a broken device, do not blame anyone but yourself. Consider yourself warned.[/CENTER]
Here are a few things you should do before starting:
Create a full NANDroid backup.
Backup your /efs partition to an external location, such as your computer. A great tool to do this is provided by lyriquidperfection — EFS Pro.
Ensure that you're running a 5.x version of ClockworkMod Recovery.
Now that that's all said and done, let's commence with the...Important: before attempting to flash this ROM, please understand the risks to your device, which include the possibility of causing it to enter a bootloop, causing a soft-brick, or potentially even a hard-brick. Understand that the chances of causing a problem which cannot be fixed is very low, but still a real possibility. If something crazy should go wrong, and you end up with a broken device, do not blame anyone but yourself. Consider yourself warned.​
Here are a few things you should do before starting:
Create a full NANDroid backup.
Backup your /efs partition to an external location, such as your computer. A great tool to do this is provided by lyriquidperfection — EFS Pro.
Ensure that you're running a 5.x version of ClockworkMod Recovery.
Now that that's all said and done, let's commence with the...
Instructions—
Using CWM, make sure to wipe data/factory reset
From there, flash the ROM (JellyBeanAlpha.zip
[*]Wipe Data/Factory Reset
[*]Finally, reboot the device.
Downloads—
Alpha2 Have GSM/Data Fix Included
ALPHA2(Latest)
Alpha2DorinManXKernel
This zips are outdated!)
[*]ROM: JellyBeanAlpha.zip | mirror #1, mirror #2, mirror #3, mirror #4, mirror #5, mirror #6, mirror #7.
[*]Kernel (to fix mobile data): zIMAGE-JB.zip.
[*]SuperUser fix: CWM-SU-v0.89_fixSU.zip.
Click to expand...
Click to collapse
What works, what doesn't (Nexus OTA Port)—
Working: device boot | LED-flash | SD card (internal-only) | MTP (can't copy files) | ADB | Vibration | SuperUser | GSM (courtesy of bpear96) | Network Data (courtesy of stormtroopercs) | logcat (courtesy of edint3000 & bpear96, again).
Not working: WiFi | Bluetooth | Camera | Google Now/Google Search | Audio | anything else.
What works, what doesn't (AOSP Build - Thank you Stormtrooercs for logcat!)—
Working: device boot | LED-flash | SD card (internal-only) | MTP (can't copy files) | ADB | Vibration | SuperUser | GSM (courtesy of bpear96) | Network Data (Apn Needs To Be Set Manually) (courtesy of stormtroopercs) | logcat (courtesy of edint3000 & bpear96, again).
Not working: WiFi | Bluetooth | Camera | Google Now/Google Search | Audio | anything else.
Credits & thanks—
cile381, for getting the ROM to boot.
randomblame, for contributing to the work on the ROM.
bpear96, for fixing GSM and logcat, as well as hosting the ROM.
edint3000, for helping fix logcat.
stormtroopercs, for fixing network data.
michals1982, for hosting the ROM.
blurkness, for hosting the ROM.
Rueben_, for creating a video review.
LastStandingDroid, for creating and starting the original thread.
screamworks, for cleaning up and editing the OP.​
Pre-Served
FAQ​
Q: Whats do i need?
Q: You need an Nokia3310 with Latest CWM (Syijah Kernel) or regular CWM Recovery (Latest)
Q Can i flash this ROM and revert back to my old ROM ?
A: Yes, but some people may have problem. Follow the instructions inside the Quote Below!
bpear96 said:
If this bricks your phone, and you cant boot or get kernel panic. AT YOUR OWN RISK try re partitioning and flashing a stock sammy rom in ODIN. This is what i did and it worked
You need to download this http://hotfile.com/dl/146321681/7a0247f/I9100XXKL1_I9100OXAKL1_OXA.zip.html in odin
CODE_I9100 goes in PDA GT-I9100-CSC-Multi goes in CSC and MODEM_I9100 goes in Phone the .pit file goes in PIT in ODIN then hit start
To easily root and return to CM9(if you want) flash this http://codeworkx.de/download/cyanogenmod/galaxys2/cm-9-20120420-ODIN-galaxys2.tar.md5 in ODIN. That will flash CM9 and CWMR
---------- Post added at 03:52 AM ---------- Previous post was at 03:51 AM ----------
I had one.. i didnt thank flashing a cm9 zip would almost brick my phone, and it shouldn't
Click to expand...
Click to collapse
Q: Is this rom avaialable for daily use
A: Absolutely NOT!
Q: Can i help?
A: yes logcat is needed: (How to Logcat)
paxChristos said:
Here's how to use logcat:
There are two main ways to do a logcat, within android, and through adb.
Logcat within android can be done one of two ways, through a Logcat app:
Here are two good examples are either: aLogcat or Catlog
I prefer catlog, because in my opinion it has a little bit nicer UI. Both of these programs can dump their logs to a txt file, which is very useful for debugging. Or, you can do it in terminal emulator (same rules as running through adb(see below))
On the other hand, using adb to run logcat, in my opinion is much more useful, because you can start using it when android boots (i.e. once the boot animation appears.)
The code for logcat to output to a file is
Code:
adb logcat > name of problem.txt
you can also do
Code:
adb logcat -f name of problem.txt
how I prefer to do it is this way:
Code:
adb logcat -v long > name of problem.txt
with the -v flag & the long argument, it changes output to long style, which means every line of logcat will be on its own line (makes it a little neater, imo)
Note: When outputting to a file, you will see a newline, but nothing printed, this is normal. To stop logcat from writting to a file, you need to press ctrl+c.
Here's where using logcat (via adb makes life really easy)
Lets say you find a problem you're having after looking at a logcat.
For example:
When I was trying to use a different ramdisk, wifi wouldn't work so I got a logcat that's almost 1300 lines long (a lot of stuff happens in the background)
So if you are searching for an error in the logcat file (it's always e/ for error, f/ for fatal. Those are the two main things that will break a system.)
Code:
D/dalvikvm( 871): GC_CONCURRENT freed 472K, 6% free 10224K/10823K, paused 1ms+6ms
V/AmazonAppstore.DiskInspectorServiceImpl( 871): Available blocks: 21981, Block size: 4096, Free: 90034176, Threshold: 5242880, withinThreshold? true
D/AmazonAppstore.UpdateService( 871): Received action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
W/AmazonAppstore.UpdateService( 871): Confused about why I'm running with this intent action: null from intent: Intent { cmp=com.amazon.venezia/com.amazon.mas.client.framework.UpdateService }
D/dalvikvm( 890): GC_CONCURRENT freed 175K, 4% free 9375K/9671K, paused 2ms+3ms
V/AmazonAppstore.ReferenceCounter( 871): Reference (MASLoggerDB) count has gone to 0. Closing referenced object.
E/WifiStateMachine( 203): Failed to reload STA firmware java.lang.IllegalStateException: Error communicating to native daemon
V/AmazonAppstore.UpdateService( 871): runUpdateCommand doInBackground started.
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateCommand( 871): Not updating key: digitalLocker from: 1334228488057
V/AmazonAppstore.UpdateService( 871): Finished UpdateCommand: digitalLocker
V/AmazonAppstore.UpdateService( 871): Running UpdateCommand: serviceConfig
V/AmazonAppstore.MASLoggerDB( 871): performLogMetric: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
V/AmazonAppstore.MASLoggerDB( 871): onBackgroundTaskSucceeded: Metric logged: ResponseTimeMetric [fullName=com.amazon.venezia.VeneziaApplication_onCreate, build=release-2.3, date=Wed Apr 11 13:10:55 CDT 2012, count=1, value=1601.0]
W/CommandListener( 118): Failed to retrieve HW addr for eth0 (No such device)
D/CommandListener( 118): Setting iface cfg
D/NetworkManagementService( 203): rsp <213 00:00:00:00:00:00 0.0.0.0 0 [down]>
D/NetworkManagementService( 203): flags <[down]>
E/WifiStateMachine( 203): Unable to change interface settings: java.lang.IllegalStateException: Unable to communicate with native daemon to interface setcfg - com.android.server.NativeDaemonConnectorException: Cmd {interface setcfg eth0 0.0.0.0 0 [down]} failed with code 400 : {Failed to set address (No such device)}
W/PackageParser( 203): Unknown element under <manifest>: supports-screen at /mnt/asec/com.android.aldiko-1/pkg.apk Binary XML file line #16
D/wpa_supplicant( 930): wpa_supplicant v0.8.x
D/wpa_supplicant( 930): random: Trying to read entropy from /dev/random
D/wpa_supplicant( 930): Initializing interface 'eth0' conf '/data/misc/wifi/wpa_supplicant.conf' driver 'wext' ctrl_interface 'N/A' bridge 'N/A'
D/wpa_supplicant( 930): Configuration file '/data/misc/wifi/wpa_supplicant.conf' -> '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): Reading configuration file '/data/misc/wifi/wpa_supplicant.conf'
D/wpa_supplicant( 930): ctrl_interface='eth0'
D/wpa_supplicant( 930): update_config=1
D/wpa_supplicant( 930): Line: 4 - start of a new network block
D/wpa_supplicant( 930): key_mgmt: 0x4
(mind you, that's 29 lines out of 1300ish, just for example)
I then could do the following with logcat:
Code:
adb logcat WifiStateMachine:E *:S -v long > name of problem.txt
and this will only print out any errors associated with WifiStateMachine, and anything which is fatal, which makes it about a million times easier to figure out what's going on!
In WifiStateMachine:E, the :E = to look for Errors, the full list of options is as follows:
V — Verbose (lowest priority)
D — Debug
I — Info (default priority)
W — Warning
E — Error
F — Fatal
S — Silent (highest priority, on which nothing is ever printed)
You can replace the :E with any other letter from above to get more info.
In order to filter out anything other than what you are looking for (in this case, WifiStateMachine) you must put a *:S after your last command (i.e. WifiStateMachine:E ThemeChoose:V ... ... AndroidRuntime:E *:S)
Sources: http://developer.android.com/tools/help/logcat.html
http://developer.android.com/tools/help/adb.html
Click to expand...
Click to collapse
You all know the risks before flashing ANY ROM on XDA-Developers. don't come here and you bricked my phone because i didn't touch your phone.... end of this info
Wuhuuu! Thank you for trying to port Jelly Bean to our Galaxy S2!
Keep us posted mate! Definitely getting a nexus device next time!
Okur90 said:
Keep us posted mate! Definitely getting a nexus device next time!
Click to expand...
Click to collapse
i will do if anyone consider to help its appriciated , editing boot.img wouldn't be stupid as i can't do it myself due to my pc won't allow me to ...
also its bed time here almsost ....
thanks my friend.
Goodluck dude... thanks for porting jb...
Sent from my GT-I9100 using xda app-developers app
I will continue nut crack this until i figure out what cause it to not boot.
Tough i think its the missing information in boot.img that cause it to not boot, tomorrow is a new day with porting
Sent from my GT-I9100 using Tapatalk 2
Awesome !!!!
HI...
Great to see that someone is making an effort to get the awesomeness of jellybean on our droid.
I always delved and tried to port the Gnex ported AOSP rom based on Jellybean to out SGS2. I'm not really a dev so I tried gathering info from internet and follow some guidelines that were provided for successful port.
What I did was :
1. I downloaded awesome's Gnex jellybean port and used files from F1-pure Galaxy Nexus rom as I felt they might have most things similar.
2. Downloaded and set up kitchen.
3. Replaced boot.img from f1 to Gnex rom
4. Modified build.prop to match with our device's build.prop
5. Replaced updated.script in META-INF
6. Added HW lib files that were missing in Gnex rom
7. Compiled and build the rom back using kitchen.
I was quite afraid to try flashing it on my phone as there was a huge risk of bricking it. However I made up my mind to try it out.
I flashed the rom and to my surprise - the whole installation steps went totally fine with no errors. I was elated !!!
HOwever when it rebooted, it got hung up at Bootlogo...
So, as per my understanding either there is some kernel resources issue or I may have done something wrong
Anyways I'm ready to test and help in anyway I can for facilitating the port, but I'm not a dev.. just someone who's starting to be one
dev997 said:
HI...
Great to see that someone is making an effort to get the awesomeness of jellybean on our droid.
I always delved and tried to port the Gnex ported AOSP rom based on Jellybean to out SGS2. I'm not really a dev so I tried gathering info from internet and follow some guidelines that were provided for successful port.
What I did was :
1. I downloaded awesome's Gnex jellybean port and used files from F1-pure Galaxy Nexus rom as I felt they might have most things similar.
2. Downloaded and set up kitchen.
3. Replaced boot.img from f1 to Gnex rom
4. Modified build.prop to match with our device's build.prop
5. Replaced updated.script in META-INF
6. Added HW lib files that were missing in Gnex rom
7. Compiled and build the rom back using kitchen.
I was quite afraid to try flashing it on my phone as there was a huge risk of bricking it. However I made up my mind to try it out.
I flashed the rom and to my surprise - the whole installation steps went totally fine with no errors. I was elated !!!
HOwever when it rebooted, it got hung up at Bootlogo...
So, as per my understanding either there is some kernel resources issue or I may have done something wrong
Anyways I'm ready to test and help in anyway I can for facilitating the port, but I'm not a dev.. just someone who's starting to be one
Click to expand...
Click to collapse
Isn't nexus an neon device ? I know that one x made a port and its running the port, but did you use all framework files? Because we can't mix odex and deodexed what i know it can cause problems
Edit i will work on getting boot image extracted whew i come home also i will all. Vold.fstab so. SD may be mounted. Note that it wasn't mounted on all devices
Sent from my GT-I9100 using Tapatalk 2
Jelly bean porting guide!
http://forum.xda-developers.com/showthread.php?t=1739561
Sent from my GT-I9100 using Tapatalk 2
sahibunlimited said:
Jelly bean porting guide!
http://forum.xda-developers.com/showthread.php?t=1739561
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Great been waiting for someone to post what they changed in boot image i just knew some files great
Sent from my GT-I9100 using Tapatalk 2
sahibunlimited said:
Jelly bean porting guide!
http://forum.xda-developers.com/showthread.php?t=1739561
Sent from my GT-I9100 using Tapatalk 2
Click to expand...
Click to collapse
Thanks .. I'll try to make sense out of it .. but I seriously doubt that I can ..
Anyways.. u must have also tried it out ? any luck yet ?
You should mos def keep the paranoid base imo.
Most versatile ROM out there
And thanks for porting
But Google said in I/O that the Jelly Bean Framework is a lot more "buttered", there are specific Project Butter changes to let it work like a charm. If you replace ALL framwork-files, it would be an ICS with Jelly Bean look. Am I right?
eisdrachen said:
But Google said in I/O that the Jelly Bean Framework is a lot more "buttered", there are specific Project Butter changes to let it work like a charm. If you replace ALL framwork-files, it would be an ICS with Jelly Bean look. Am I right?
Click to expand...
Click to collapse
No because we replace all files with jelly bean even framework
EDIT: Rebase will be done!
New Port will be based on ; http://forum.xda-developers.com/showthread.php?t=1737849
Sent from my GT-I9100 using Tapatalk 2
[SIC] said:
You should mos def keep the paranoid base imo.
Most versatile ROM out there
And thanks for porting
Click to expand...
Click to collapse
Greetings again, the rom is still based on Paranoid CM9
Only thing left is the boot.img to make it boot (Eventually)
Lets wait for: cile381
(Sorry i can't fix it myself, any method i use to setup it up right doesn't work)
its my PC.. i guess that is damaged somehow.....
guyz some one start a porting thread and lets make a team for porting jb now enough discussion the one x has got it already
mightyillidan said:
guyz some one start a porting thread and lets make a team for porting jb now enough discussion the one x has got it already
Click to expand...
Click to collapse
This is a port thread
the thing is: this thread has nothing yet to give for the developement forum,
but i'm currently working on the port
Using Nexus as a base

[Kernel][JellyBean] Devil3_1.7.5 [17/10/12] - Cappy

This kernel is based on teamhacksung's kernel for Jellybean
This kernel is meant be working on every Rom based on cm10
Many Thanks to:
Teamhacksung
Zacharias.maladroit
Onecosmic
ytt3r
TK Glitch
Ezekeel
Eugene373
franciscofranco
Sunra
scheichuwe
perka
sztupy, for his great work, to get usb host mode driver
mialwe
stratosk
F4k for the idea to flash bigmem libs
...
sources:
https://github.com/DerTeufel
Click to expand...
Click to collapse
Working on this kernel is taking many hours almost every day. With a small donation, you show me, that my work is appreciated by you.
If you like this kernel, please donate to me
Download link and changelog can be found here:
http://www.hellybean.com/jelly.html
Click to expand...
Click to collapse
Kernels with VC in the name are coming with Voodoo Color
Changelog:
changelog 02.08.2012:
- bug fix to bln, to prevent kernel panic in some situations (thx to thalamus)
- switched from deep_idle 2 to idle2 (also thx to thalamus)
- updated kernel to linux 3.0.38
- dockaudio sysfs for captivate and fascinate
IDLE2 can be enabled with the following command:
echo 0 > /sys/module/cpuidle/parameters/idle2_disabled
IDLE2 can be disabled with the following command:
echo 1 > /sys/module/cpuidle/parameters/idle2_disabled
Stats can be obtained from the standard cpuidle interface, which, for
IDLE2 is located at:
/sys/devices/system/cpu/cpu0/cpuidle/state*/time
where * = 1, 2, 3
Click to expand...
Click to collapse
changelog 27.07.2012:
- hack mfc driver, to give all available mem to an application, if the requested mem is more than the max. available (maybe useful later, does not change anything right now (afaik))
- fix execution of boot-patch.sh, disabled twice execution of init.d, enabled tv-out server for all devices (i9000 already had this)
- battery: fix charging display for car dock
- increase read-ahead on moviNAND
changelog 25.07.2012 part2:
- fixed cwm backup and restore for kernels without /datadata partition
changelog 25.07.2012:
- updated recovery (no "sdcard format"-bug anymore, external sd card is named correctly)
- vibrant: hopefully fixed froyo ril
- jellybean: galaxy s settings working now
changelog 22.07.2012:
- updated kernal base to linux 3.0.36
- updated "block" to linux 3.3
- readded fiops io scheduler (kept cfq this time)
- updated cwm recovery to 6.0.1.0 (please create a new nandroid, because of possible incompatibilities between old/new recovery)
- compiled with linaro toolchain (gcc 4.7.1) and O3 compiler flags
- made uksm scan less often (save cpu time and power)
- at first boot: only delte init.d scripts created by other kernels
- increased usb write performance
- lowered ram and display voltages a little bit
- fixed some bugs related to devil settings (they should stick now after reboot, if set by one of the devil apps)
- support for scripts in /system/etc/shutdown.d (thx to Efpophis)
all scripts placed at /data/local/shutdown.d or /system/etc/shutdown.d get executed at shutdown/reboot
you can use this, to play a shutdown sound for example.
by default 00shutdown gets created, which plays a music file, when it is placed at one of these folders/places
/system/media/audio/ui/shutdown.ogg
/data/media/audio/ui/shutdown.ogg
Click to expand...
Click to collapse
- disabled some debugging options
- audio (and for fascinate: camera fixes) by Efpophis+
- patch for improving batterie life by CML
- nfts read/write driver built in (for use with usb host mode)
- reverted refreshrate_mod and gpu_oc mod, as both weren't working
changelog 18.06.2012:
- some changes to load balancing
- added ultra ksm (metioned by zach thx for this my friend)
- readded fiops io scheduler (still experimental and could cause instablilities)
- using snappy compression for zram now (2 times faster, but only 2% less compression)
- added the possibility to change zram size (at /data/local/devil/zram_size, with valid values: 50, 75, 100 and 150 (all in mb))
- fixed the applying of user_min/max freq after reboot
- vibrant: fixed gps
- fascinate: fixed nandroid in cwm recovery
what is ksm? http://en.wikipedia.org/wiki/Kernel_SamePage_Merging_(KSM)
uksm is more optimized and also working for single core systems. using this should give much better ram usage, but at the cost of more cpu usage
############# most probably not working (yet)##############
i have added seperate gpu oc from jt1134's galaxy_tab (to switch between 200 and 250 mhz), but i did not get any improvements in antutu...further tests needed
echo 1 > /sys/kernel/pvr_oc/pvr_oc (for 250 mhz)
echo 0 > /sys/kernel/pvr_oc/pvr_oc (for 200 mhz), no reboot needed
and also have changend default screen refreshrate from 60 to 56, with the possibility to change it:
echo 1 > /sys/kernel/refreshrate/enable (60 hz)
echo 0 > /sys/kernel/refreshrate/enable (56 hz)
######################################################
changelog 10.06.2012:
cwm recovery:
- fixed mounting of external sd card to pc
kernel:
- picked two commits from linux 3.0.32 (avoid a possible memory leak, small fix to ext4 driver)
fascinate:
- fixed wrong mount points
changelog 09.06.2012:
- updated Zram and Zcache from linux 3.3
- updated android binder driver from linux 3.3
- fixed restoring of backups within TWRP recovery
- added virtual buttons to cwm recovery (Attention: they still don't work!)
- call vol hack from tk glitch (take a look at init.d folder and edit the script to make changes to call vol hack)
- bigmem values get applied at first boot after power on (if there is a value at /data/local/devil/bigmem, 1 for 391 mb and 2 for 403 mb (the last one breaks 720p)
- prevent phantom key presses (from tk glitch)
changelog 24.05.2012:
- Smooth_ui included to ondemand, conservative, smartass, lulzactive, lagfree and lazy governor (only one setting for activating/deactivating it in general)
- 3 cpu governor presets (smooth, normal, powersave) for ondemand, conservative, smartass, lulzactive, lagfree (only one setting for switching the mode in general)
- no need for activating/deactivating of selective live_oc anymore --> just change target low and target high
- BLX back in
- fixes to devil idle to be more stable while in call
- 1,5 mb more ram (thanks to mialwe)
- added aroma filemanager to cwm recovery
- added fully working TWRP recovery optional to cwm recovery (to use TWRP, just create a file named "twrp" at /cache)
- added option to select ram config in kernel --> no need for flashing an other kernel to get more ram (thanks to stratosk)
- switched to new initramfs from stratosk and mialwe ( now there will be cmw zip and odin tar file of every kernel version)
- added possibility to use Zram instead of Swap
- no need for flashing/using special scripts to make swap/zram working anymore
- added zcache
- added frontpage
- added cleancache
- added fudgeswap (thanks to ezterry and faux123)
changelog 01.05.2012:
- all changes from cm9 stock kernel (including mount points option)
- some fine tuning to deadline and sio
- Devil Idle: limiting bus/ram/gpu speed to 100 mhz for 100-800 mhz cpu freq, while screen off (automatic mode) or always (permanet), both modes automatically reduce the int voltages of the affected freq by 50 mV
- compiled with swap support
- added stratosk's smooth_ui to lulzactive governor (activated by default)
- rest oc_value to 100 while screen off, and back when screen turns on (combined with devil idle automatic, can't be turn on/off without devil idle)
- added posibility for different voltages while screen off (also bundled with devil_idle, with default settings, stock arm voltages are applied, because of live_oc set to 100)
- added the possibility to set freq limits while screen off (min and max freq)
19.04.2012
- even better fix to selective live_oc (last one (in test kernel) generated some overhead)
- fixed sampling rate of ondemand and conservative (have ported mialwe's/stratosk's sleep multipliers)
- new tunables for ondemand and conservativ
sleep multiplier and tunables:
mialwe and stratosk had the great idea, to change the sampling rate of conservative and ondemand governor while display of. for this, he introduced the sleepmultiplier (in his case factor 3). this means, if you set sampling rate to 20000, it changes to 60000 while screen off, and back, when screen on.
for ondemand and conservative:
i have made this multipliers tunable. proper values are between 1 and 5, because one could want a higher multiplier while screen off, if sampling rate is very low while screen on (higher sampling rate means, less checking for work load --> better batterie, worse performance). with this tunables you get better batterie, without making the performance worse while screen on.
two other tunables: up_threshold_min_freq and responsiveness_freq
the first one is a very low threshold while on low freq (by default 40), to make the governor scale up faster, until the responsiveness_freq is reached.
the responsiveness_freq is set to 400000 (400 mhz) by default. while the freq is below this value, up_threshold is the same as up_threshold_min_freq, and freq jumps to responsiveness_freq, with skipping the freq between the actual one and the responsiveness_freq. (conservative governor does not jump up to this step)
responsiveness_freq can be set to values between 100000 and 1400000
up_threshold_min_freq can be set to the same values as the normal up_threshold.
not tunable: while screen off, up_threshold is set to 95, no matter your other settings, to save more batterie.
up_threshold_min_freq is disbaled by default for conservative governor
for lulzactive:
for this governor, i did similar things, but they are not tunable till now.
when screen off:
- inc_cpu_load is set to 90, and back to the original value, when screen turns on
- up_sample_time is set to 50000, and back to the original value, when screen turns on
- down_sample_time is set to 40000, and back to the original value, when screen turns on
other changes:
- fix to touchwake from ezekeel, and another fix from stratosk
- upstream fix to compass
- building for i9000B now, too (big thanks to F4k for the hints by pn )
- removed some typos from recovery
- removed some annoying "no's" and "yes" from recovery in misc menu
- fixed wifi mode switch (pm_fast is the one with better signal)
14.04.2012:
- new b versions (only stock ram) changend to 377 mb, VC version needs the 720p fix from my ftp server. cmc version already patched
13.04.2012:
- updated wifi driver
- added the possibility to switch between wifi PM_Fast and PM_Max mode (Pm_Fast = better signal, PM_Max = better batterie, default is PM_Max)
- user interface to disable fsync (this gives more performace, at the risk of data loss on a crash, taken from ezekeel, so it should be ok ), default is off, to be safe
- fixed voodoo color kernels (these have the VC in their names)
10.04.2012:
- added vibrator intensity control (by mialwe), presets can be changend in recovery
- stock ram version now available (348 mb ram), XL (390 mb), XL_bm (402 mb)
- removed 1080 mhz freq for now
- small correction to touchwake
- small correction to selective live_oc (now the low freq really are not live_oc'ed)
05.04.2012:
- fixed bug in selective live_oc, which caused the target high not taking affect to the highest freq, if highest freq equals target high
- fixed another bug in selective live_oc, which could lead to gpu crashes due to overclocking the ram, but not the cpu freq (for low steps)
- added a switch to change between "normal" and selective live_oc
by changing the live_oc mode while using it, live_oc value is set back to 100, to prevent strange things
- added possibility to set max. freq for boot (in recovery). This freq is set until init.d is executeted (it is automatically set to 1000 at this point, to make sure there are no conflicts with other cpu settings from users)
#Already in the last version, but i forgot about it:
- deep idle fixes from stratosk (many thanks)
- added possibility to underclock by using live_oc (limit is 90 now, which means lowering all freq and bus speed by 10%, to save more batterie when really needed)
03.04.2012:
For now there are three different RAM versions:
- stock mem kernel has 379 mb ram, everything working
- "slim ics" (XL) kernel comes with 390 mb, this is breaking playback of some high resolution videos
- XL_BM is coming with 402 mb ram, but breaking 720p
(while flashing the kernel, the modded rom files are also flashed, so you don't need to flash a new rom to get 379 or 390 mb)
-added new frequency: 1080 mhz (1100 does not like live_oc)
- fixed SmartassV2 for live_oc (after changing live_oc value, you have to change the smartass values, too, but then they automatically apply to the live_oc value (although you can only select 800 mhz in nstools (for example))
- touch recovery with custom devil menu (for some reason it takes a few seconds to load the first time, missing virtual keys is a warning, because there are no virtual keys yet)
-fast charge (thx to chad0989 for this), disabled by default.
you also can use the widget from chad (to place on homescreen) to toggle the fast_charge mode
https://play.google.com/store/apps/d...stchargewidget
Click to expand...
Click to collapse
while fast charge is activated you cannot connect as usb device
- added datafix script to init.d (this script is deactivated by deafult. to make it work, you have to creat a file named datafix and placed in /data/local/)
- reworking and cleaning many parts to get more ram, speed, and stability
05.03.2012:
- updated sio i/o scheduler to latest version
- small updates to ondemand and conservative governor from linux 3.2
- bettter performance for CFS kernel due to tuning and patches
- tuning to deadline scheduler
- better i/o performance
- changed bootlogo (probably not the last time )
28.02.2012
- finally working bln V9 (no need for LED2 anymore)
- fixed lockscreen freezes
- reverted memory tweaks, which could be the reason for lagging after using a day
- again wlan fixes from tk-glitch
- tweaked conservative and ondemand governor (conservative still is not too aggressive)
- added dm-cache again (who has removed this from my github? )
- improve usb signal quality
- xcaliburinhand's dock audio support (untested, do not have a dock)
- less debugging
- fixed kernel version not displayed under "about phone"
12.02.2012
- Added newest Fiops scheduler (tuned for more performance)
- When Gpu is active, min CPU freq is set to second lowest step
- fixes to live_oc and custom voltage
- default mount parameter NOATIME and NODIRATIME (faster)
- updated Wifi drivers (thanks to tk-glitch)
- tuned intellidemand for better performance
- removed some stuff (zram, swap, tweaks to cpufreq untill I know what was causing the instabilities of last build)
05.02.2012
- added Touchwake
- added BLX
- upgraded BLN from V8 to V9 (working for missed calls, blinking or static light, configurabel by using NSTools or BLN Pro App)
- added Intellidemand governor
- added mdnie settings to voodoo color version
- readded deep idle v2 again (I think it is the best/only working one, although
- version with CFS (instead of BFS) now also available (maybe better multitasking and batterie life, but slower)
- removed BFQ I/O Scheduler
- tons of smaller fixes and improvements
30.01.2012
-revert: Voodoo Sound now to be set with DSP Manager
29.01.2012
- Linux kernel 3.1.10
- Deep Idle from Eugene373 (always enabled, no stats)
- added BFQ v 3.1 I/O Scheduler
- Voodoo Sound now to be set with DSP Manager
- Zram (can be disabled by removing Zram file from init.d)
- Zcache and Cleancache (not working yet?)
- optimized rwsem algorithm
- USB Host V5
24.01.2012
- init.d support (the folder is not created by the kernel. You have to do it for yourself)
- Deep Idle V2 back in
- new Cpu governors: MinMax, Lagfree, Lulzactiv
- LED V2 (you can set blinking by using nstools, also working for missed calls in most cases (sometimes it is not working for missed calls, don't know why at the moment))
- Backlight Dimmer (only LED version): used to turn led backlight of, while screen is on, after defined period of time. Deactivating it, makes your backlight stay on all the time
- I/O-less dirty throttling completely backported from kernel 3.2
- Ext4 with 3.2 patches
- Proportional Rate Reduction for TCP - by Google
- USB Host V 4
19.01.2012
- Usb Host drivers integrated
- Cm9 Color adjustment
- Removed Deep Idle because of Bluetooth problems (hopefully it will come back, still testing)
16.01.2012:
- Updated Kernel basis to Linux 3.1.9
15.01.2012:
- fixed bug in cpu spy, caused by live_oc
- still using voodoo color for now, maybe two additional kernel versions tomorrow
[/quote]
files with .zip have to be flashed within recovery (twrp or cwm)
files with .tar can be flashed by using odin or heimdall (they are placed at the end of post 3)
Downloads:
http://rootaxbox.no-ip.org/divers/jellybean/ many thanks to Rootax
http://devil.haxer.org/ many thanks to SysTem-X (not updatet yet)
just in case ...
First
Sent from my Cappy powered with Jelly Bean using Tapatalk 2
Continuing my discussion from ICS thread here. Either I effed up enabling Idle2 or running a internal Cat of kmsg is not letting my phone drop to idle . Can Idle 2 be enabled from the app or that needs to be implemented?
Edit: Got everything to work. Here is the KMSG that I got. The problem is, if I use ADB the phone doesn't activate Idle2 but i feel like making my phone cat kmsg while I'm trying to crash it might not get the whole txt? I could be wrong. Hope it provides more info.
Idle2kmsg.txt
Wait so what's the difference between deep_idle 2 and idle2? Anyways I'm going to flash it and see what's the difference!
Sent from my SGH-I897 using xda app-developers app
@DerTeufel
Apparently I don't get SoD with idle2, my phone locks up. Screen Actually showed lockscreen this time when I attempted to wake it up while playing music. Sadly my computer doesn't see the device during this state. Any advice? Did you take a look at the kmsg I provided in my earlier post?
Thanks for your contribution .
Can't get to recovery?
Hello all, first time in Devil kernel.
First flash went well, I flashed and tested it was working by rebooting back into recovery. I set a few options (such as vibrate intensity) and rebooted, everything was OK (even better even, because Waze started working finally).
I did a 'touch /data/twrp' to try to enable the TWRP recovery, and rebooted, but now I'm kinda stuck at the kernel logo. Capacitive buttons do light up (but don't vibrate the phone), and I can reboot by holding all three hard buttons for ten seconds.
I noticed in the changelog that "for some reason" it takes a few seconds to start TWRP, but I waited for ten minutes (and dropped by battery 43%) before giving up. Coincidentally, now I'm getting the "android.process.media" has stopped error, waiting to see if a appdata wipe will help on that one...
Thing is, even after deleting the file I touched, it's still not letting me into Recovery (the normal CWM). Are there any hints at this? Or should I look at trying to get Heimdall working to try reflashing the kernel?
Tsaukpaetra said:
Hello all, first time in Devil kernel.
First flash went well, I flashed and tested it was working by rebooting back into recovery. I set a few options (such as vibrate intensity) and rebooted, everything was OK (even better even, because Waze started working finally).
I did a 'touch /data/twrp' to try to enable the TWRP recovery, and rebooted, but now I'm kinda stuck at the kernel logo. Capacitive buttons do light up (but don't vibrate the phone), and I can reboot by holding all three hard buttons for ten seconds.
I noticed in the changelog that "for some reason" it takes a few seconds to start TWRP, but I waited for ten minutes (and dropped by battery 43%) before giving up. Coincidentally, now I'm getting the "android.process.media" has stopped error, waiting to see if a appdata wipe will help on that one...
Thing is, even after deleting the file I touched, it's still not letting me into Recovery (the normal CWM). Are there any hints at this? Or should I look at trying to get Heimdall working to try reflashing the kernel?
Click to expand...
Click to collapse
yes, i think best would be to reflash the kernel, and then try to get to recovery.
DerTeufel1980 said:
yes, i think best would be to reflash the kernel, and then try to get to recovery.
Click to expand...
Click to collapse
Yeah, on the thoughts that it might have been a bad flash, I did try that. Now I've downloaded the 8/1 version for testing, we'll see what results. TWRP should be rom-independent, right?
I just don't know what else I might be doing wrong. Perhaps it's reading the TWRP information from a previous version and hanging up? Oh well, I supposed it can wait.
I renamed the TWRP file from a previous kernel's version and tried to reflash, but still no go...
Tsaukpaetra said:
Yeah, on the thoughts that it might have been a bad flash, I did try that. Now I've downloaded the 8/1 version for testing, we'll see what results. TWRP should be rom-independent, right?
I just don't know what else I might be doing wrong. Perhaps it's reading the TWRP information from a previous version and hanging up? Oh well, I supposed it can wait.
I renamed the TWRP file from a previous kernel's version and tried to reflash, but still no go...
Click to expand...
Click to collapse
i think twrp is not working at the moment with jellybean. i try to fix this tomorrow.
till then, you have to go to cache and delte the twrp file from there. if this file isn't present, then please attch your /boot.txt
DerTeufel1980 said:
i think twrp is not working at the moment with jellybean. i try to fix this tomorrow.
till then, you have to go to cache and delte the twrp file from there. if this file isn't present, then please attch your /boot.txt
Click to expand...
Click to collapse
Ok. Somehow the Devil Kernel Config app wasn't properly deleting the file, once I used an actual command to delete it, it worked OK to be in CWM recovery.
Just for kicks, I attached my /boot.txt log.
Tsaukpaetra said:
Ok. Somehow the Devil Kernel Config app wasn't properly deleting the file, once I used an actual command to delete it, it worked OK to be in CWM recovery.
Just for kicks, I attached my /boot.txt log.
Click to expand...
Click to collapse
Boot.txt is fine now
Gesendet von meinem GT-I9000 mit Tapatalk 2
Just for clarification, doesn't the boot.txt file get overwritten each boot? So if I'm having issues getting into TWRP, and I reboot to get out of recovery mode, the boot.txt file will only give information about the current boot (not the broken TWRP)?
Tsaukpaetra said:
Just for clarification, doesn't the boot.txt file get overwritten each boot? So if I'm having issues getting into TWRP, and I reboot to get out of recovery mode, the boot.txt file will only give information about the current boot (not the broken TWRP)?
Click to expand...
Click to collapse
Yes. That's right. It would have been helpful, if you grep it with adb, while stuck. I already did this now, and it wasn't helpful
Gesendet von meinem GT-I9000 mit Tapatalk 2
DerTeufel1980 said:
Yes. That's right. It would have been helpful, if you grep it with adb, while stuck. I already did this now, and it wasn't helpful
Gesendet von meinem GT-I9000 mit Tapatalk 2
Click to expand...
Click to collapse
One thing that always frustrated me was the fact that there is literally no way to watch the kernel messages on the display as it boots. That's one of my most trusted debug methods on the computer: Have it show what it's doing on the console.
Of course, there is a serial port somewhere, but it's apparently not easily accessible without special hardware...
Something just occurred to me: What if we could manually load the TWRP ramdisk and chroot into it? Would that allow us to interactively watch it? or (since stuff is already loaded and junk) that may not be possible? I noticed that adb starts, but we can't get a shell, so...
There is 1.1.3 kernel uploaded.
http://rootaxbox.no-ip.org/derteufel/jellybean/Cappy/113/
Sent from my SGH-I897 using xda premium
Search Button not working. Press it, not working, no response.. Have to go to the search app instead.
---------- Post added at 05:39 PM ---------- Previous post was at 05:38 PM ----------
Please click one of the Quick Reply icons in the posts above to activate Quick Reply.
---------- Post added at 05:40 PM ---------- Previous post was at 05:39 PM ----------
Please click one of the Quick Reply icons in the posts above to activate Quick Reply.
The search button no longer invokes the normal search function in an app, instead it launched Google Now in Jelly Bean. If that feature is missing in your ROM, nothing will happen when you press it, you must press-and-hold instead.

[Q] Nexus 10 hangs every night - something in libEGL/OpenGL?

Hi!
I have a Nexus 10 and it's been working flawlessly since I bought it, running CyanogenMod 10.1 most of the time. After I upgraded to 4.4 it started to hang, become unresponsive when being left on with screen turned off for a couple hours. Wouldn't last a night without hanging, regardless if it was being charged or not. Every time after that I had to hard reboot (press power button for longer than 8-10 seconds). This would happen on stock 4.4, stock 4.3, CM 10.2, stock kernel, francoKernel. Even on fresh install with no apps installed.
When I left it connected to USB with ADB logging, I could see that the last thing in the log before it hangs was usually something related to libEGL, GL, GL Operation, glDrawArrays.
For example:
Code:
11-23 13:08:34.250 W/System.err( 1012): java.lang.RuntimeException: GL Operation 'glDrawArrays' caused error 505!
(I found somewhere that this is GL Out of Memory error)
Code:
11-23 13:08:38.955 W/ ( 1012): GLES-MALI OOM error: execution failed (gles_fbp_read_pixels at vendor/arm/mali6xx/gles/src/fb/mali_gles_fb_read_pixels.c:693)
Code:
12-15 21:06:40.813 D/libEGL (16985): glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES, (GLint *) 0x426e3be0);
12-15 21:06:40.813 D/libEGL (16985): glBindFramebuffer(GL_FRAMEBUFFER_OES, 2);
12-15 21:06:40.813 D/libEGL (16985): glGetError();
This is the latest log on CM 10.2 with OpenGL tracing in logcat (just the last part):
http://pastebin.com/6rpmfYca
The full log:
http://www61.zippyshare.com/v/5060489/file.html
This is some previous log:
http://pastebin.com/J9dNBBZS
What is causing this? What app/service is it dying in (there is MovieMaker in the log before the issue happens, but WTH?)? How can I debug this further?
_anarion_ said:
Hi!
I have a Nexus 10 and it's been working flawlessly since I bought it, running CyanogenMod 10.1 most of the time. After I upgraded to 4.4 it started to hang, become unresponsive when being left on with screen turned off for a couple hours. Wouldn't last a night without hanging, regardless if it was being charged or not. Every time after that I had to hard reboot (press power button for longer than 8-10 seconds). This would happen on stock 4.4, stock 4.3, CM 10.2, stock kernel, francoKernel. Even on fresh install with no apps installed.
When I left it connected to USB with ADB logging, I could see that the last thing in the log before it hangs was usually something related to libEGL, GL, GL Operation, glDrawArrays.
For example:
Code:
11-23 13:08:34.250 W/System.err( 1012): java.lang.RuntimeException: GL Operation 'glDrawArrays' caused error 505!
(I found somewhere that this is GL Out of Memory error)
Code:
11-23 13:08:38.955 W/ ( 1012): GLES-MALI OOM error: execution failed (gles_fbp_read_pixels at vendor/arm/mali6xx/gles/src/fb/mali_gles_fb_read_pixels.c:693)
Code:
12-15 21:06:40.813 D/libEGL (16985): glGetIntegerv(GL_FRAMEBUFFER_BINDING_OES, (GLint *) 0x426e3be0);
12-15 21:06:40.813 D/libEGL (16985): glBindFramebuffer(GL_FRAMEBUFFER_OES, 2);
12-15 21:06:40.813 D/libEGL (16985): glGetError();
This is the latest log on CM 10.2 with OpenGL tracing in logcat (just the last part):
http://pastebin.com/6rpmfYca
The full log:
http://www61.zippyshare.com/v/5060489/file.html
This is some previous log:
http://pastebin.com/J9dNBBZS
What is causing this? What app/service is it dying in (there is MovieMaker in the log before the issue happens, but WTH?)? How can I debug this further?
Click to expand...
Click to collapse
I can't offer a solution, but I have the same problem. Mine started when I moved to KitKat. I thought the problem was occurring when on a charger and the charge level reached FULL. But I also have the OLD MovieMaker app loaded. I am going to uninstall it and see if that has any effect.
Have you had any luck tracking down the problem?
rlrbjr said:
I can't offer a solution, but I have the same problem. Mine started when I moved to KitKat. I thought the problem was occurring when on a charger and the charge level reached FULL. But I also have the OLD MovieMaker app loaded. I am going to uninstall it and see if that has any effect.
Have you had any luck tracking down the problem?
Click to expand...
Click to collapse
Hi!
I was able to find some old threads about this aptly named Sleep of Death issue, here for example.
Unfortunately no conclusion, most people seem to return their devices :/
Now I think this is indeed some massive memory leak, becasue I was able to see ADB logs with all processes stopping, and the screen blinking with lock screen once when this happened.
As for MovieMaker, this might be misleading - I froze it in TitaniumBackup but the issue still exists.
My plan now is to write a script that would run
Code:
adb shell dumpsys meminfo
every couple seconds/minutes and plot the memory usage until the issue strikes.
I will report here if I find anything.
Best regards,
anarion
I uninstalled Movie Editor (rather than freezing it) and my system is much better (so far). I have not had a single lockup. It still too early to know if this is a god long term solution but I will keep you informed.
Sent from my Nexus 10 using Tapatalk 4

[MOD] Add Extra Keys To Your Nav Bar In Android O style

This should be in the development section but I don't have the required amount of posts so I put it here, no worries...
Disclaimer
Your phone your responsability!!!
Please make sure you read everything, especially the "IMPORTANT" chapter, I won't reply to question(s) whose answer(s) is/are here!!!
I made a SystemUI navigation bar mod for me and I thought that some people may like it so I share it here with you guys.
It enables you to add extra keys (left/right/up/down arrows for text correction or navigation on pages, volume up/down, music panel) directly from the navbar tuner settings.
I have seen on XDA news that you can achieve the same result by editing the settings_secure file but it's not very practical because every time you have to reboot before the new key appears.
REQUIREMENTS
A Nexus 6 (obviously):cyclops:
TWRP
Android Nougat 7.0
IT WON'T WORK ON 7.1!!!
FOR 7.1 SEE BELOW.
IMPORTANT!!! DO NOT SKIP!!!
I made this mod for my ROM that I built from source based on Pure Nexus 7.0, so I can't guarantee that it'll work on a different ROM brand.
If you come from another ROM than Pure Nexus feel free to try and report here, I made a rescue zip to get you back to your original configuration in case it doesn't work so you don't need to worry.
But back up anyway, just in case.
Now we may a problem, that is application signature.
As said above I'm on a home built ROM, and I have signed it with my signature, signature that is unique to my ROM and that will prevent installations on a different ROM.
What I did to have it to work for you guys is that I signed the apps that I put here with the Pure Nexus 7.0 original signature, that should be OK if you are on Pure Nexus 7.0.
If you are on a different ROM, or if you are on Pure Nexus 7.0 but for some reasons it doesn't work, you'll have to do as follows:
- extract your SystemUI.apk in /system/priv-app and put it on your internal storage or computer,
- open it with 7zip or something similar,
- inside you'll see a META-INF folder and AndroidMAnifest.xml, extract them,
- open my modded SystemUI,
- delete the META-INF folder and AndroidMAnifest.xml inside of it and replace them with the ones you extracted from your SystemUI,
- close everything,
- zipalign my modded SystemUI (optional but better for optimization, zipaligning has been lost since the signature has been replaced),
- now my SystemUI has your signature so you can flash the zip.
If it still doesn't work then you're out of luck, to have it to work would mean to have your ROM's source and do the edits there but sorry, I won't do it because it's too much work (downloading 20 GBs of data for the source, compiling a whole ROM etc...).
In that case upload your SystemUI.apk and your framework-res.apk here and I'll try to do it, but no guarantees...
7.1
Why am I not on 7.1?
I tried it but there wasn't any interesting new features for me so there was no point to switch to it and go again through the lenghty process of downloading the source, compiling it, editing/theming/etc-ing all the apps, no, I sticked to my good old 7.0.
INSTALLATION
There are 3 zips.
1 - The green theme is the one I use on my phone but it may look weird on yours since the green theming needs other apps to be complete. Give it a try though, it looks nice to my opinion!
Tell me if you want the full green theme, I'll upload here the other files.
2 - The stock theme is the regular Nougat white theme.
3 - A rescue zip to get back to your original SystemUI in case something goes wrong.
Backup your ROM (probably not needed, but just in case)
Choose which flashable zip you want, put it on your phone, flash it in recovery, reboot.
You may have to resize the keys if you want to have many of them on the nav bar, as for me I have 9, check the below screenshot to see what's the ideal size to have all of them to fit.
OTHER KEYS
If you want to try other keys do as follows:
- find the key code number for key you want to add, here are some examples (not tested so not sure they all work):
CALL = 5
ENDCALL = 6
DPAD_CENTER = 23
CAMERA = 27
* Used to launch a browser application:
EXPLORER = 64
* Used to launch a mail application:
ENVELOPE = 65
NOTIFICATION = 83
SEARCH
MEDIA_REWIND = 89
MEDIA_FAST_FORWARD = 90
MUTE = 91
PAGE_UP = 92
PAGE_DOWN = 93
MEDIA_RECORD = 130
CONTACTS = 207
CALENDAR = 208
MUSIC = 209
CALCULATOR = 210
CUT = 277
COPY = 278
PASTE = 279
- open settings_secure (it's in /data/system/users/0),
- edit the sysui_nav_bar field, here's an example if you want to add a camera icon:
key(27:file:///storage/emulated/0/camera.png)
27 is the key code for the camera, camera.png is a camera icon that you'll have to put on your internal storage,
- reboot,
- please report here if it works or not.
The new keys can be used in conjunction with tasker (see XDA news for the related tutorials) to only appear when certain apps are opened but if you want I can add them to the list of available keys in the nav bar tuner, let me know.
TO DO (NO ETA)
I'd like to add a custom key to launch the applications drawer but I didn't look into it yet and I don't know if I'll manage to do it anytime soon, I'm pretty busy at the moment.
That's all, enjoy!!!:good:
XDA:DevDB Information
Additional Keys on Nav Bar, Device Specific App for the Nexus 6
Contributors
PakDe888
Version Information
Status: Testing
Created 2017-04-25
Last Updated 2017-04-25
reserved, in case...
you can do the same with last stock 7.1.1 firmware without having to root, or install twrp or unlock the bootloader or whatever...
you just have yo use this app :
https://play.google.com/store/apps/details?id=xyz.paphonb.systemuituner
it needs a special permission but changes take effect immediately, no need to reboot
my settings for exemple :
left button switches off the screen and right button launches Google app.
Yeah well you know, there are different kind of people on this forum.
Some of them don't want to bother and understand how things work so they rely on apps to do customizations, theming etc. (and sometimes complain that their phone becomes unresponsive, lags and stuff, yep, too many apps), you seem to be in that category.
Other people don't understand how things work but they are willy to learn and they may be interested by this mod because they will learn something in the process. It's for them that I took the time to make the zips, register on XDA, write the OP and upload the files, and that I offered to try to make it work on 7.1.
That said today I added the assist key in the nav bar, but since nobody seems to be interested I won't waste time to upload the new apps here.
Farewell guys!!!!
take it easy man !
I like to know how things work, I understand what I'm doing and I'm not complaining about anything !
My Nexus 6 runs like a charm.
I wasn't saying that your post isn't interesting but just giving the information that there's a simplest way to personalise nav bar that works with stock 7.1.1 firmware.
?
PakDe888 said:
....
That said today I added the assist key in the nav bar, but since nobody seems to be interested I won't waste time to upload the new apps here.
Farewell guys!!!!
Click to expand...
Click to collapse
Hope I'm not to late. I'd like to know could you post or pm it to me. I haven't had the time to play around with this type of stuff but hopefully I can this weekend and this sounds like a good mod to start with. Thanks op!

Categories

Resources