Related
TKSGB KERNEL HAS BEEN RENAMED TO KGB KERNEL!
NEW THREAD HERE
PLEASE DISREGARD THE REST OF THIS POST
----------------------------------------------------------------------------------------------------------------------------
There aren't very many tweaks in yet but it should be stable again and a lot of ext4 and lowmemkiller lag issues should be gone! Here's an incomplete list of features.
Voodoo: Lagfix and sound. No color for now
CPU governors: The same ondemand, ondemandX, interactive, interactiveX, smartassv2 and ondemandX as default
I/O schedulers: The same cfq, bfqv2r1, sio, deadline, vr and deadline as default with the last three being optimized for flash
jhash3, OC/UV, BLNv9, 3rd-party batteries, boot animations
LED flashlight, CIFS and TUN
zram
User-adjustable in-call audio boost, no boost by default!
Preliminary dock audio support, need more feedback
Autogroups and Tiny RCU removed pending performance evaluation
How to adjust in-call audio and zram
Run callboost or zram from a root prompt (AS ROOT). To manually tweak zram size or call boost volumes, look in /etc/init.d/ for the startup scripts they drop after enabling. The filenames are 05zram and 91callboost.
Recommended settings for callboost are 1 or 2, 0, 0, and 0 or 1. zram is 12.5% of available RAM by default.
The zram script crashes when enabling if there isn't enough RAM free. Don't run zram enable unless you're sure you have enough RAM on hand, such as right after a fresh reboot.
How to use dock audio
Preliminary testing (thanks ACLakey even if you do have a Mesmerize ) indicates it does something right. I have no way to know if it's doing something wrong or even if it doesn't work at all so give me feedback.
How to use your phone as an access point
Get the latest Wireless Tether for Android (3.0b6 last I checked), and set mode to Samsung softap in the settings. It won't be peer-to-peer and WPA2 encryption will work.
"STABLE" DEVBUILD 1027
CWM zip: http://www.mediafire.com/?tjsadn6v0cocqy6
Odin: http://www.mediafire.com/?redm61dt4uwjpt2
Oh, and just because...
"BLEEDINGEDGE" DEVBUILD 1116
CWM zip: http://www.mediafire.com/?mg78n9a77sje6e4
Changelog: Drivers/kernel settings from EI20, except for the dpram driver which is still from EH09. Removed carrier hotspot tracking code in init.rc (doesn't make hotspot tracker directories in /system), ARM and memory and RCU updates/tweaks, changes to scripts in ramdisk.
Still pretty untested
P.S. Don't confuse one for the other, thanks
Please excuse the mess below.
----------------------------------------------------------------------------------------------------------------------------
Kernel is alpha and untested for the most part, and I cannot guarantee stability or robustness of features. Still, I've been using it every day for a few weeks now, and it's pretty stable for me. It should work on most EH09-based ROMs out there, including PowerWashed, GeeWiz and TSM Resurrection, just to name the ones I know as I am a Fascinate user. It works with Mesmerize and Showcase too, I'm given to understand, with the proper ROM tweaks (which I don't claim to know anything about).
FEATURES
Voodoo: Lagfix, Sound v10, and Color v2. Use with Voodoo Control.
CPU governors: conservative, performance, ondemand, ondemandX, interactive, interactiveX (ondemandX as default)
I/O schedulers: Noop, CFQ, BFQv2-r1, SIO, V(R), Deadline (deadline as default). The last 3 are optimized for use with flash memory.
Autogroups, jhash3, Tiny RCU for responsiveness.
OC/UV up to 1.7GHz, with Voltage Control/Pimp My CPU.
Third-party battery support allows use and charging of aftermarket batteries and batteries for other Galaxy S phones.
No hotspot monitoring with the WiFi driver from the i9000.
In-call audio boost: Higher volumes and mic gain settings. Works OK as of 10/18.
CIFS and TUN included in base kernel. UTF-8 native language support was already there.
BackLightNotifications v9 with a ported touchkey driver from the i9000. Automatic installation of the proper liblights. Use BLN Control and/or Blinky to get down to business.
Bootanimations: Works with /data/local/bootanimation.zip, /system/media/bootanimation.zip, or /system/media/sanim.zip. Automatic installation of the proper bootanimation binary.
LED flashlight: The camera LED makes a surprisingly good flashlight. Activate with any of a number of flashlight apps from the Android Market.
zram from Linux 3 (credit imoseyon). Open up a terminal and run "zram" to get started. By default "zram enable" will use 12.5% of total RAM as an LZO-compressed ramdisk and set up swap space on that. Don't run the script unless you have at least 50MB or so of RAM free. To change the size of the zram, edit the relevant line in /etc/init.d/05zram (it's in bytes, do your own math) and reboot.
Other standard features: init.d support, adb shell gives you a root prompt
Various behind-the-scenes tweaks: A growing list of ARM and Samsung kernel/driver patches for hardware errata and Linux kernel patches to enhance interactivity
CHANGELOG
For complete changes refer to github.
Code:
[size=4][B]1018[/B][/size] Most changes on this one are behind the scenes.
[b]In-Call volume boost changes[/b] +12dB at earpiece only & mic gain boosts
[b]Update interactiveX and ondemandX CPU governors[/b]
[b]ondemandX as default[/b] i'm pretty sure this is a backport from linux 3 too
[b]Use CodeSourcery 2010q1 toolchain[/b] bad Linaro, bad!
[b]zram backport[/b] and add zram script to initramfs
[b]Memory tweaks[/b] optimize memcpy functions, tweak lowmemorykiller
[b]Bugfixes[/b] to autogroups and a couple other things
[b]initramfs changes[/b] probably falls under bugfixes actually
[size=4][B]1012[/B][/size]
[b]In-Call volume boost changes[/b]
[b]dvfs lock fixed[/b], no more pegging CPU at 1440MHz with bluetooth
[b]lowmemkiller settings[/b] changed in init.rc
[size=4][B]1010[/B][/size]
[b]In-Call Volume boost[/b] numbers were chosen arbitrarily, need detailed feedback
[b]Autogroups, [strike]Tiny Preempt RCU[/strike][/b] woopz
[b]Bootanimation support[/b] install required binary on boot
[b]Add ondemandX CPU governor[/b]
[b]ondemand as default[/b] interactiveX pegs the CPU high on hw video playback
[b]optimize sio and vr[/b] for flash devices
[b]Voodoo Color fix[/b] no more green tint at low brightness
[b]More tweaks[/b] ARM, Samsung, buildflags; see github
[size=4][b]1006[/b][/size]
[b]Third-party battery support[/b] apparently works fine as of 10/10
[size=4][b]1005[/b][/size]
[b]BackLight Notifications[/b], neldar-flavored, finally!
[b]Installs liblights on boot[/b]
[b]deadline scheduler[/b] tweaked for flash memory
[b]interactiveX governor is default[/b]
[size=4][b]0927[/b][/size]
[b]Initial release[/b]
KNOWN ISSUES/TO-DO LIST
Dock audio: I've almost got this merged but have no dock and no way to test.
Lots more tweaks and testing. I know it isn't fully polished and some things could use cleanup and updating. There is also a veritable sea of tweaks out there that I haven't even started parsing through.
Autorooting, autoinstall of busybox, bash, nano, and a bunch of obnoxious init.d scripts
Recovery with crazy rainbow colors and logos, etc.
TKS does not yet come with CWM. The version most of you are using is probably the blue ClockworkMod Recovery 3.0.2.8x by I believe times_infinity. It's pretty compatible with my kernel with a couple of minor bugs. Mirrors: http://www.mediafire.com/?91cq99066cwph4d http://www.multiupload.com/QEP9U2MC2G
CWM-FLASHABLE ZIPS
NEW 1018 http://www.mediafire.com/?07nero2764ktcn4 http://www.multiupload.com/V81P3FNJOD
1012: http://www.multiupload.com/JFLEF7U7EH
1010: http://www.mediafire.com/?9f58oks4a988a7o http://www.multiupload.com/PDXE2U08IG
1006: http://www.mediafire.com/?ev1g554de7ab9g0 http://www.multiupload.com/KB7833E0E4
1005: http://www.mediafire.com/?em8md8yxq7o61ny http://www.multiupload.com/EHJFAPYW51
0927: http://www.mediafire.com/?76ea7izaqc3e7a2 http://www.multiupload.com/O1HRXNCQQW
ODIN TARS
NEW 1018: http://www.mediafire.com/?didta4h7vk0uh8p http://www.multiupload.com/EXS2REYBAI
1012: http://www.multiupload.com/W8VZQGA3AG
1010: http://www.mediafire.com/?2tiiwoeav61ha0f http://www.multiupload.com/4XORWQIQIZ
1006: http://www.mediafire.com/?p9u3ow2mw70n26c http://www.multiupload.com/58XYU7OF86
1005: http://www.mediafire.com/?5ojvasq4lurvxnp http://www.multiupload.com/4W2GPSZHU7
0927: http://www.mediafire.com/?rqwe26c1pi4766r http://www.multiupload.com/JST3N8AAIP
GITHUB
All I do is kang other people's work, get it?
https://github.com/kangtastic
Also where you can see the full changelogs.
THANKS
imoseyon: Merged Voodoo Lagfix by hand. Also, he and the next two guys and I are like the only ones doing anything with the TW GB kernel on this phone.
ccampos784: Merged Voodoo Sound, and some other dev work before I forked his branch.
djp952: Ported the i9000's Wi-Fi driver and killed VZ's hotspot monitoring dead. It wasn't the only thing he ported from the i9000 to get EH09 building. And on that note...
The Samsung Galaxy S i9000: It is truly the gift that keeps on giving. Comparing good work i9000 people have done on the i9000 and CM7 repos with the EH09 code makes broken things work again, period.
TeamSbrissenMod & Supporters: The TSM-Resurrection ROM got me to try EH09, but they've done lots of great work over the last year.
jt1134: Got me started with cross-compiling my first kernel, and he is responsible for most of the innovation on this phone.
Other "historically important" people: adrynalyne, imnuts, SirGatez, nemesis2all, navenedrob etc.
IRC people too numerous to list and random people too numerous to list from whom I have taken all sorts of ideas and code that ended up in this kernel
DISCLAIMER
I am not a developer and the sole reason I started was so that I could be happier with the kernel I use on my own phone. If something does not get added or fixed, you are welcome to do it yourself.
I take no responsibility for exploding phones, voided warranties, missed appointments, dead babies and the like which are claimed to be related to your decision to use my kernel in any way. You're in the "development forum."
That said, feel free to leave useful feedback and suggestions. For bug reports, link logcats and dmesg output. And enjoy!
INFORMATION REGARDING OC/UV VALUES
The default values in the Samsung source are as follows:
1000MHz arm_volt=1275mV int_volt=1100mV
800MHz arm_volt=1200mV int_volt=1100mV
400MHz arm_volt=1050mV int_volt=1100mV
200MHz arm_volt=950mV int_volt=1100mV
100MHz arm_volt=950mV int_volt=1000mV
arm_volt_max=1350mV int_volt_max=1250mV
Of these the values that everyone talks about are the arm_volt values. arm_volt is what is modified by Voltage Control, Pimp My CPU, etc. int_volt is a secondary line that is not reported or directly adjustable by the user. The Glitch kernel plays around with int_volt for their different "leakage" versions, demonstrating that int_volt, too, plays a significant role in max overclock, but this isn't a concern of mine at the moment.
arm_volt_max is set to 1350mV which would then be the theoretical "overvolting limit". In this example you could overvolt 1000MHz by up to +75mV before running into driver limits.
Here are the default values in TKS.
1700MHz arm_volt=1500mV int_volt=1250mV
1600MHz arm_volt=1500mV int_volt=1250mV
1500MHz arm_volt=1500mV int_volt=1225mV
1440MHz arm_volt=1500mV int_volt=1200mV
1400MHz arm_volt=1450mV int_volt=1175mV
1300MHz arm_volt=1400mV int_volt=1150mV
1200MHz arm_volt=1350mV int_volt=1125mV
1000MHz arm_volt=1250mV int_volt=1100mV
800MHz arm_volt=1200mV int_volt=1050mV
400MHz arm_volt=1050mV int_volt=1050mV
200MHz arm_volt=950mV int_volt=1050mV
100MHz arm_volt=950mV int_volt=1050mV
arm_volt_max=1500mV int_volt_max=1250mV
Let's look at 100-1000MHz first. At 1000MHz there is a slight -25mV arm_volt undervolt (or just plain old undervolt) as well as a -50mV drop in int_volt for all frequencies <1000MHz. In other words, for stock frequencies there is already an undervolt built right in that you should take into account.
At higher clock settings the values are essentially best guesses at the proper settings for that speed, refined by community experience, so talking about a "proper" undervolt level is a little bit inaccurate. Note that voltage is maxed out at 1440MHz and above, but the secondary int_volt values keep increasing. The effect is a ramping up of total power supplied with increasing clockspeed, as it should be.
So I wouldn't be at all surprised to see 100-1000MHz benefitting from a couple +25mV boosts compared to "the settings I used to use on my old kernel" here and there and I'd pay attention to differences between the default voltages, especially 1200MHz+, of the old and new kernels. With different defaults, seemingly different undervolt settings could translate into the exact same amount of mV supplied.
awesome man...great to see eh09 finally getting some kernel love
hopefully once imoseyen gets his i500 from someone sending it, u can get some more help as well
(if u bet bln working ill reactive my fascinate for awhile lol)
I can give feedback about what DOES work despite being in alpha stage:
Voodoo color is working (personally, I like to go "punchy" on gamma hack)
OC is stable at least to 1400 for me with default noop/interactive, and with 100mhz state disabled (I could only go up to 1200 on MIUI without immediate instability on Glitch)
My phone is quite stable (so far) on this kernel, more so than what you'd expect on an alpha release
I'm glad you posted your own thread for this kernel comeradesven
Another Fascinating post by my XDA app...
This kernel is what I've been looking for
With a battery fix and in-call volume fix, I think I'll have a permanent GB solution! I'm hard of hearing and most of these GB kernels just don't cut it for me. CM7 (MTD) works, but Slacker caching doesn't work because of the file system. Slacker says tough s**t, we're not supporting it. So here we are. I'll put this on my spare Fassy and test it out today.
I'm also hard of hearing, but in-call isn't too, too bad for me on speakerphone... Media volume, on the other hand... IDK if media volume has anything to do with this kernel or if it's an EH09 issue...
Another Fascinating post by my XDA app...
Does this kernel use the Nexus S color source like on Glitch's kernel?
FDro said:
Does this kernel use the Nexus S color source like on Glitch's kernel?
Click to expand...
Click to collapse
If you're talking about mDNIe values, then no. I tried adding some new values earlier and it didn't work. It does have a ported Nexus S framebuffer driver like all Voodoo Color kernels AFAIK.
Awsome work sir!!
which one is better... voltage control or pimpmycpu?
now i use voltage control oc up to 1400 with uv 50 all way down. so far run smooth.
i use noop and ondemand, if i use conservative then phone get lag
I purchased SetCPU originally, can I use it instead?
Sent from my SCH-I500 using xda premium
djblu said:
I purchased SetCPU originally, can I use it instead?
Sent from my SCH-I500 using xda premium
Click to expand...
Click to collapse
IIRC the answer to that for this variety of overclock code is as follows.
Short answer: No
Long answer: Maybe but you might/probably will have problems
will this eventually have a -100uv kernel. i've the best battery life using pbj kernels with that setup. hope this gets it too. will switch kernels once all the kinks get worked out.
thx for your efforts.
mgrimmenator said:
will this eventually have a -100uv kernel.
Click to expand...
Click to collapse
Voltage Control = roll your own undervolt
The only real missing feature is BLN.
Can't seem to get it to download on my fiancee's phone.
Just flashed 9-27 through cwm and flashlight confirmed working. Awesome job
sent from my SCH-I500 PWGB 2. 0b3 voodoo , shot v7
Does this kernel support non OEM batteries?
Idea: RAM optimization, if feasible
Another Fascinating post by my XDA app...
So far this kernel is working out great for me. Loving voodoo color. Makes me wish I waited on buying that Thunderbolt off eBay. The cwm file didnt work for me (probably a bad download, stayed on bootanimation for WAY too long, lagging the animation) so I used the Odin version instead. Booted instantly. Many thanks for putting this together.
Sent from my SCH-I500 using Tapatalk
Originally Posted by djblu
I purchased SetCPU originally, can I use it instead?
Sent from my SCH-I500 using xda premium
Click to expand...
Click to collapse
IIRC the answer to that for this variety of overclock code is as follows.
Short answer: No
Long answer: Maybe but you might/probably will have problems
Click to expand...
Click to collapse
Thanks for the clarification. next question:
how do keep from getting stuck in boot loop? Do I need to reflash my recovery immediately after flashinging the kernal?
Sent from my SCH-I500 using xda premium
So I will set my cpu governor, smartassV2, and go on with my day, and at some point, not sure when, I will find the governor has switched to interactive.
Any ideas why the governor is not sticking or how to remmedy it?
I've tried reinstalling no frills, and reflashing the kernel I'm using to no avail.
This is not a common problem for my phone or kernel/rom as far as I know. (p500 franco.Kernel.v19.4-gbs.v18c devoid froyo final)
Cheers
bump 10character
Hi, I am running leedroid's v5 and it works perfect but the governor smartassv2 is a little strange
Because after some time it locks to highest clock set and never go down again until I change governor and back again.
Is it supposed to work like this? How is it really supposed to work?
What governors do you guys recommend?
what oc program are you using?
System tuner pro
But leedroid just announced that there is a problem and he's trying to fix it so right now this thread is solved
I just got my VZW S4 MI1, & have root w/de la vega & safestrap 3.65 & I've done lot's of modding & romming on my prev phone, Moto Razr Maxx, but I'm brand new to Sammy…
I searched for topical threads & didn't find one for the VZW S4, so I'm asking for some guidance, please:
I'd like to get advice for the best battery friendly, (& performance too!?, but battery is most important) cpu governors & Schedulers to use in SETCPU.
This phone is great & has more features & a lower mAh rating, 2600-S4 vs. 3200-Razr Maxx; & I'd like to get the benefit of others experience, all help appreciated!
Thanks in advance, oldwolf
I'm sure someone will say just try and see what you like but I like you would like to know others experience.
I am on Stock MJ7 rooted and would like to also know if the settings can be changed safely if they show in trixstermod and if they will stick since it is stock kernel.
On a side note I get great battery life compared to my Galaxy Nexus.
oldwolf613 said:
I just got my VZW S4 MI1, & have root w/de la vega & safestrap 3.65 & I've done lot's of modding & romming on my prev phone, Moto Razr Maxx, but I'm brand new to Sammy…
I searched for topical threads & didn't find one for the VZW S4, so I'm asking for some guidance, please:
I'd like to get advice for the best battery friendly, (& performance too!?, but battery is most important) cpu governors & Schedulers to use in SETCPU.
This phone is great & has more features & a lower mAh rating, 2600-S4 vs. 3200-Razr Maxx; & I'd like to get the benefit of others experience, all help appreciated!
Thanks in advance, oldwolf
Click to expand...
Click to collapse
I'm not sure you can set different governors with the stock kernel unless I'm mistaken? I've never tried Safestrap so I don't know. When I was on my old Galaxy the lulzactive governor gave amazing performance and battery life once you tweaked it. SmartassV2 was also pretty good but not as responsive as lulz.
When I had my Droid X, smartass gave awesome battery, it's basically ondemand with a screen-off profile.
I usually stick with ondemand though if SA isn't available, it ramps fairly well.
I'm not too sure about all those new governors that are out now, there's so many now lol
Sent from my SCH-I545 using xda app-developers app
You can't control the governors or do much of anything in setcpu with a stock kernel.
Sent from my SCH-I545 using Tapatalk
In TrixterMOD it shows these settings on Stock Kernel for 4.3.
General Page
TCP - cubic - reno : cubic is default
Read Ahead Buffer : 256 is default
Scheduler - noop - deadline - cfq : cfq is default
Governor - msm-dcvs - interactive - ondemand - userspace - powersave - performance : ondemand is default
Frequency Lock : default is off
Min freq - 384000
max freq - 189000
Governor control has a bunch of settings listed for interactive and on demand only.
applying msm-dcvs reboots phone.
Specific page
MP-Decision : default if on
Multicor Power Saving - 0 - 1 - 2 : default is 0
Temperature Throttle - on - off : default is off
GPU Governor - performance - ondemand - simple - interactive : default is ondemand won't apply simple or interactive
GPU Max Freq - 128 - 200 - 320 - 450 : default is 450
Ondemand and Interactive are the only 2 that you'd want to use. It's a stock kernel so you can't really expect any of the more exotic options to fool around with.
tshelby73 said:
In TrixterMOD it shows these settings on Stock Kernel for 4.3.
General Page
TCP - cubic - reno : cubic is default
Read Ahead Buffer : 256 is default
Scheduler - noop - deadline - cfq : cfq is default
Governor - msm-dcvs - interactive - ondemand - userspace - powersave - performance : ondemand is default
Frequency Lock : default is off
Min freq - 384000
max freq - 189000
Governor control has a bunch of settings listed for interactive and on demand only.
applying msm-dcvs reboots phone.
Specific page
MP-Decision : default if on
Multicor Power Saving - 0 - 1 - 2 : default is 0
Temperature Throttle - on - off : default is off
GPU Governor - performance - ondemand - simple - interactive : default is ondemand won't apply simple or interactive
GPU Max Freq - 128 - 200 - 320 - 450 : default is 450
Click to expand...
Click to collapse
wait wait wait.
You can adjust all those settings on the stock kernel? Can you adjust them and confirm they stick?
Specifically disabling the temperature throttle?
If that's the case, then I may not return my S4... that's all I need :good:
This is potentially great news for me. I was going to get a g2 because the performance of my stock (haven't rooted yet) mj7 s4 is terrible... but if I can adjust all these settings (and they stick)... that would be great.
I just adjusted cpu and gpu Governor's to performance and read ahead to 1024 and they appear to be sticking the gpu is locked at 450 and 1 core is maxed most the time phone seems faster. The temp control is off by default. It's been about 20 min.
Sent from my SCH-I545 using Tapatalk
thanks for all of your replies... @ tshelby: I don't have experience w/trixter mod, & to clarify, I use SetCPU to adjust governor, schedule settings; but I don't know a lot about the underlying tech- I use the app's website 'support' section to get recommended settings & examples.
If you are on Stock MJ7, how did you flash the trixter mod, fm what little I know, there is no custom recovery for stock MJ7, even if there is root…
I can confirm that the msm-dcvs causes reboots.
I purposely stayed on MI1 so I could use custom recovery of Safestrap, this way I can modd away & always get back to my last nand backup if stuff like msm-dcvs really messed things up.
Where can one find Trixter mod?
thanks again, oldwolf
crawshayi, it is the app SetCPU that I've used to change governors, safestrap is Hashcode's custom recovery…
I'm editing on my S4, don't see the 'delete' button, this was accidental double post… only saw 'Edit / Delete' but no direct sign of how to delete... sorry, away fm desktop
mods, pls delete… & let me know what I should do to delete one of my posts.
oldwolf613 said:
thanks for all of your replies... @ tshelby: I don't have experience w/trixter mod, & to clarify, I use SetCPU to adjust governor, schedule settings; but I don't know a lot about the underlying tech- I use the app's website 'support' section to get recommended settings & examples.
If you are on Stock MJ7, how did you flash the trixter mod, fm what little I know, there is no custom recovery for stock MJ7, even if there is root…
I can confirm that the msm-dcvs causes reboots.
I purposely stayed on MI1 so I could use custom recovery of Safestrap, this way I can modd away & always get back to my last nand backup if stuff like msm-dcvs really messed things up.
Where can one find Trixter mod?
thanks again, oldwolf
Click to expand...
Click to collapse
You don't flash trickster mod you can get it on the play store.
Sent from my SCH-I545 using Tapatalk
thanks, can I use trickster along w/SetCPU? tia, oldwolf
Sent from my DROID RAZR using Tapatalk
oldwolf613 said:
thanks, can I use trickster along w/SetCPU? tia, oldwolf
Sent from my DROID RAZR using Tapatalk
Click to expand...
Click to collapse
You could, although they're basically the same thing so I don't know what app would override the other.
Then again, I'm still skeptical that you can modify the stock kernel at all despite what the app shows, that's low level code even root access doesn't get you to.
Of course, I could be totally wrong. Maybe @Surge1223 has a better understanding?
Sent from my SCH-I545 using Tapatalk
josh, thanks for the speedy reply; btw, if you are on MJ7, how did you get the custom recovery & kernel on your device? I had MI1 out of the box, & avoided theeota update, b/c everyone seems to be saying that there is no custom recovery for MJ7 - btw, how / where can I learn more about governors, schedulers, & the custom settings possible in trickster? I looked at it for a bit & realized it was over my head… tia oldwolf
oldwolf613 said:
josh, thanks for the speedy reply; btw, if you are on MJ7, how did you get the custom recovery & kernel on your device? I had MI1 out of the box, & avoided theeota update, b/c everyone seems to be saying that there is no custom recovery for MJ7 - btw, how / where can I learn more about governors, schedulers, & the custom settings possible in trickster? I looked at it for a bit & realized it was over my head… tia oldwolf
Click to expand...
Click to collapse
I'm on MDK, it was the first firmware that came with the device & the only one you can get a custom recovery on. I made sure to read up on XDA before I got the phone, then I bought it used.
Give me a minute to find the link on the write up that taught me about kernel stuff.
EDIT: I'm on my phone and can't find the really detailed guide right now, but here's a beta app from the play store that an XDA member made to teach about what different governors/schedulers do.
https://play.google.com/store/apps/details?id=com.kyler.mbqscpuguide
Sent from my SCH-I545 using Tapatalk
Actually, with a stock rooted mj7 rom, trickster, and the stock kernel, you CAN adjust all of these settings and they WILL stick. Everything is much more responsive, which is all I really wanted.
No over clocking or voltage support, among other custom kernel features... but there is still a surprising amount to tweak for a stock kernel.
crazysoccerman said:
Actually, with a stock rooted mj7 rom, trickster, and the stock kernel, you CAN adjust all of these settings and they WILL stick. Everything is much more responsive, which is all I really wanted.
No over clocking or voltage support, among other custom kernel features... but there is still a surprising amount to tweak for a stock kernel.
Click to expand...
Click to collapse
It's just weird to me that you can do that even with root, but hey if you can that's awesome.
Sent from my SCH-I545 using Tapatalk
Theres a certain amount of leeway here, as the system has to change the cpu settings sometimes depending on what youre doing. You cant change the kernel settings beyond whats provided by stock. You can change governor and I/O scheduler within the ranges allowed by stock. So you can change ondemand to interactive etc. The system checks on these though so it can actually degrade battery life and performance, but you can disable some of those checks like mpdecision, smd, etc. You can also change the sdcard settings and a few other things as well.
Sent from my SCH-I545 using XDA Premium 4 mobile app
This will allow you to load unsigned kernel modules. These kernel modules are now compatible with OC1 AND OF1!
Devs do not use my work without permission!
Do not deviate from the instructions or try to use any other kernel modules unless you know what you are doing.
{
"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"
}
Flash the downloaded zip in FlashFire or Safestrap:
OC1
https://www.androidfilehost.com/?fid=24459283995307174
OF1
https://www.androidfilehost.com/?fid=24459283995307172
Credits:
This is completely based off of @jeboo's original BypassLKM exploit on MK2.
Modload script updated by @Surge1223
@stang5litre for helping with my late night screwups.
@npjohnson for helping me get my start on this.
@bkkzak and @mugsy77 for OF1 testing
@Edgardo_Uchiha for the startup script suggestion
Kernel modules compiled and tested by myself and all mdk users on my AIO kernel
These are the exact same modules that mdk users have.
Some are not there right now but I am working towards getting more added.
CPU GovernorsAbyssplug:
Abyssplug governor is a modified hotplug governor.
Alucard
A favourite choice and one of the original governors that Alucard_24 made. Alucard is based on ondemand but has been heavily tweaked to bring better battery life and performance. It has been known to be battery friendly without sacrificing much performance.
ArterActive
It is an interactive CPU governor port from newer source code. It has more optimizations for Snapdragon 80x processors.
ConservativeX
Developed by Imoseyon (feat. briefly in the Lean Kernel for Galaxy Nexus), the ConservativeX governor behaves like the Conservative governor with the added benefit of locking the CPU frequency to the lowest interval when the screen is off. This governor may additionally perform hotplugging on CPU1, but there is no documentation to confirm that suspicion at this time.
Darkness
It's based on nightmare but more simple and fast, basic configs but very complex structure. It is an updated version of the nightmare gov, so far it is quite stable in tests
IntelliActive
Based off Google's Interactive governor with the following enhancements:
1. self-boost capability from input drivers (no need for PowerHAL assist)
2. two phase scheduling (idle/busy phases to prevent from jumping directly to max freq
3. Checks for offline cpus and short circuits some unnecessary checks to improve code execution paths. Therefore, it avoids CPU hotplugging.
Created by Faux
IntelliDemand:
Intellidemand aka Intelligent Ondemand from Faux is yet another governor that's based on ondemand. Unlike what some users believe, this governor is not the replacement for OC Daemon (Having different governors for sleep and awake). The original intellidemand behaves differently according to GPU usage. When GPU is really busy (gaming, maps, benchmarking, etc) intellidemand behaves like ondemand. When GPU is 'idling' (or moderately busy), intellidemand limits max frequency to a step depending on frequencies available in your device/kernel for saving battery. This is called browsing mode. We can see some 'traces' of interactive governor here. Frequency scale-up decision is made based on idling time of CPU. Lower idling time (<20%) causes CPU to scale-up from current frequency. Frequency scale-down happens at steps=5% of max frequency. (This parameter is tunable only in conservative, among the popular governors)
To sum up, this is an intelligent ondemand that enters browsing mode to limit max frequency when GPU is idling, and (exits browsing mode) behaves like ondemand when GPU is busy; to deliver performance for gaming and such. Intellidemand does not jump to highest frequency when screen is off.
IntelliMM
A rewrite of the old Min Max governor and has 3 cpu states: Idle, UI and Max. Intelliminmax (intellimm) governor is designed to work with the newer SOCs with fixed voltage rails (ie MSM8974+ SOCs). It is designed to work within those fixed voltage ranges in order to maximize battery performance while creating a smooth UI operations. It is battery friendly and spends most of the time at lower frequencies.
Lionheart:
Lionheart is a conservative-based governor which is based on samsung's update3 source.
The tunables (such as the thresholds and sampling rate) were changed so the governor behaves more like the performance one, at the cost of battery as the scaling is very aggressive.
Nightmare
A PegasusQ modified, less aggressive and more stable. A good compromise between performance and battery. In addition to the SoD is a prevention because it usually does not hotplug.
OndemandPlus
Ondemandplus is an ondemand and interactive-based governor that has additional power-saving capabilities while maintaining very snappy performance. While the interactive governor provides a modern and sleek framework, the scaling logic has been been re-written completely. Reports have found that users find ondemandplus as a more battery friendly governor. In ondemandplus, the downscaling behavior from ondemand is only very slightly modified. However, the upscaling has been modified to not scale up to maximum frequency immediately.
Optimax
This is based on ONDEMAND, like almost all governors that have arisen from XDA. It contains some enhancements from LG, particularly to freq boost handling so it will boost to a set level, almost like HTC's governor. It has different tunables to the HTC governor but it behaves pretty similar, the tunables it comes with default are a bit more conservative.
It originates from Cl3kener's Uber kernel for Nexus 5, where it has quite a reputation for battery life
PegasusQ
The Pegasusq is a multi-core based on the Ondemand governor and governor with integrated hot-plugging. It is quite stable and has the same battery life as ondemand. Ongoing processes in the queue, we know that multiple processes can run simultaneously on. These processes are active in an array, which is a field called "Run Queue" queue that is ongoing, with their priority values arranged (priority will be used by the task scheduler, which then decides which process to run next).
To ensure that each process has its fair share of resources, each will run for a certain period and will eventually stop and then again placed in the queue until it is your turn again. If a program is terminated, so that others can run the program with the highest priority in the current queue is executed.
Smartmax
Smartmax is a mix between ondemand and smartassv2. It behaves mostly like smartass with the concept of an "ideal" frequency. By default this is configured for battery saving, so this is NOT a gaming or benchmark governor! Additionally, to make it "snappy", smartmax has "touch poke". So input events from the touchscreen will boost the cpu for a specific time to a specific frequency. Developed by XDA user Maxwen.
Wheatley:
in short words this govenor is build on “ondemand” but increases the C4 state time of the CPU and doing so trying to save juice.
YankActive
A slightly modified interactive based governor by Yank555.lu. It has battery tweaks added onto it so expect better battery life! Based on user reports, this governor behaves more battery friendly than the original interactive governor without sacrificing performance.
Post3:
IO SchedulersIO Scheduler Comparison
Overall performance:
Best<------------------------------------------------------------------------->Worst
FIOPS > Noop > ZEN > Tripndroid > SIO > SIOplus > VR > Deadline > CFQ
Multitasking performance:
Less Apps<------------------------------------------------------------>Many Apps
Noop < FIFO < FIOPS < SIO < SIOplus < Tripndroid < ZEN < Deadline < VR < CFQ
Battery life:
Best<-------------------------------------------------------------------------> Worst
Noop > FIFO > FIOPS > SIO > SIOplus > ZEN > Tripndroid > Deadline > VR > CFQ
CFQ
Completely Fair Queuing scheduler maintains a scalable per-process I/O queue and attempts to distribute the available I/O bandwidth equally among all I/O requests. Each per-process queue contains synchronous requests from processes. Time slice allocated for each queue depends on the priority of the 'parent' process. V2 of CFQ has some fixes which solves process' i/o starvation and some small backward seeks in the hope of improving responsiveness.
Advantages:
Considered to deliver a balanced i/o performance.
Easiest to tune.
Excels on multiprocessor systems.
Best database system performance after deadline.
Disadvantages:
Some users report media scanning takes longest to complete using CFQ. This could be because of the property that since the bandwidth is equally distributed to all i/o operations during boot-up, media scanning is not given any special priority.
Jitter (worst-case-delay) exhibited can sometimes be high, because of the number of tasks competing for the disk.
Deadline
Goal is to minimize I/O latency or starvation of a request. The same is achieved by round robin policy to be fair among multiple I/O requests. Five queues are aggressively used to reorder incoming requests.
Advantages:
Nearly a real time scheduler.
Excels in reducing latency of any given single I/O.
Best scheduler for database access and queries.
Bandwidth requirement of a process - what percentage of CPU it needs, is easily calculated.
Like noop, a good scheduler for solid state/flash drives.
Disadvantages:
When system is overloaded, set of processes that may miss deadline is largely unpredictable.
FIFO (First in First Out):
First in First Out Scheduler. As the name says, it implements a simple priority method based on processing the requests as they come in.
Benefits:
- Serves I/O requests with least number of cpu cycles.
- Is suitable for flash drives because there is no search errors
- Good data throughput on db systems
Disadvantages:
- Reducing the number of CPU cycles corresponds to a simultaneous decline in performance
- Not very good at multitasking
FIOPS (Fair IOPS):
This new I/O scheduler is designed around the following assumptions about Flash-based storage devices: no I/O seek time, read and write I/O cost is usually different from rotating media, time to make a request depends upon the request size, and high through-put and higher IOPS with low-latency. FIOPS (Fair IOPS) ioscheduler tries to fix the gaps in CFQ. It's IOPS based, so it only targets for drive without I/O seek. It's quite similar like CFQ, but the dispatch decision is made according to IOPS instead of slice.
Benefits:
- Achieves high read and write speeds in benchmarks
- Faster app launching time and overall UI experience
- Good battery life
Disadvantages:
- Not very common in most kernels
- Not the most responsive IO scheduler (Can make phone lag)
- Not good at heavy multitasking
Noop
Inserts all the incoming I/O requests to a First In First Out queue and implements request merging. Best used with storage devices that does not depend on mechanical movement to access data (yes, like our flash drives). Advantage here is that flash drives does not require reordering of multiple I/O requests unlike in normal hard drives.
Advantages:
Serves I/O requests with least number of cpu cycles. (Battery friendly?)
Best for flash drives since there is no seeking penalty.
Good throughput on db systems.
Disadvantages:
Reduction in number of cpu cycles used is proportional to drop in performance.
SIO
Simple I/O scheduler aims to keep minimum overhead to achieve low latency to serve I/O requests. No priority quesues concepts, but only basic merging. Sio is a mix between noop & deadline. No reordering or sorting of requests.
Advantages:
Simple, so reliable.
Minimized starvation of requests.
Disadvantages:
Slow random-read speeds on flash drives, compared to other schedulers.
Sequential-read speeds on flash drives also not so good.
Sioplus:
Based on the original SIO scheduler with improvements. Functionality for specifying the starvation of async reads against sync reads; starved write requests counter only counts when there actually are write requests in the queue; fixed a bug).
Benefits:
- Better read and write speeds than previous SIO scheduler
Disadvantages:
- Fluctuations in performance may be observed
- Not found in all kernels
Tripndroid:
A new I/O scheduler based on noop, deadline and vr and meant to have minimal overhead. Made by TripNRaVeR
Benefits:
- Great at IO performance and everyday multitasking
- Well rounded and efficient IO scheduler
- Very responsive I/O scheduler (Compared to FIOPS)
Disadvantages:
- Not found in all kernels
- Performance varies between different devices (Some devices perform really well)
VR
Unlike other schedulers, synchronous and asynchronous requests are not treated separately, instead a deadline is imposed for fairness. The next request to be served is based on it's distance from last request.
Advantages:
May be best for benchmarking because at the peak of it's 'form' VR performs best.
Disadvantages:
Performance fluctuation results in below-average performance at times.
Least reliable/most unstable.
ZEN:
ZEN scheduler is based on the VR Scheduler. It's an FCFS (First come, first serve) based algorithm, but it's not strictly FIFO. ZEN does not do any sorting. It uses deadlines for fairness, and treats synchronous requests with priority over asynchronous ones. Other than that, it's pretty much the same as no-op blended with VR features.
Benefits:
- Well rounded IO Scheduler
- Very efficient IO Scheduler
- More stable than VR, more polished
Disadvantages:
- Performance variability can lead to different results (Only performs well sometimes)
- Not found in all kernels
Woot congrats @klabit87 they should love this!!!!
Sent from my stang5litre Edition 5.0 v3
second.......
gj
klabit87 said:
Reserved
Click to expand...
Click to collapse
Congrats my man! Know this was a long time coming for you.
@klabit87
Thanks man!
So what options does this enable that previously weren't available? And do you have a kernel auditor profile that you would care to share (that way settings can be applied more easily)?
bkkzak said:
@klabit87
Thanks man!
So what options does this enable that previously weren't available? And do you have a kernel auditor profile that you would care to share (that way settings can be applied more easily)?
Click to expand...
Click to collapse
This is not my daily device so I can't really tell you exactly what settings will work well but I'm sure a few more people will be able to post what works well for them.
It enables cpu governors that will help with battery life and performance. Some are just for performance so there may be a dip in battery life if they are used.
Others are made for battery conservation. There are descriptions in my aio kernel thread. I will update this thread to reflect them soon.
Can i flash this thru stock recovery or flashfire?
bontiloi said:
Can i flash this thru stock recovery or flashfire?
Click to expand...
Click to collapse
Flashfire. I will correct that soon as I can
Post 2 has been updated with descriptions of the different cpu governors and IOschedulers.
I do plan to add more as time permits. These should be plenty for you guys to use and get accustomed to custom governors.
So locked bl users have the same functionality of a custom kernel.
klabit87 said:
This is not my daily device so I can't really tell you exactly what settings will work well but I'm sure a few more people will be able to post what works well for them.
It enables cpu governors that will help with battery life and performance. Some are just for performance so there may be a dip in battery life if they are used.
Others are made for battery conservation. There are descriptions in my aio kernel thread. I will update this thread to reflect them soon.
Click to expand...
Click to collapse
Thanks!
So I noticed a bit of a problem but didn't have a whole bunch of time to test. I flashed followed your instructions exactly (flashing in newest safestrap with TWRP 3.0.0) and it works great. Then I decided to uninstall Safestrap (so I don't get the annoying pre-boot screen), BUT I couldn't load Safestrap app - it kept force closing. So I tried using your NC5 flasher to flash NC5 kernel, it seemed to work fine and I hit reboot in the app. Then when rebooting I hit 'recovery' on the SS screen and it booted into the rom... So obviously NC5 kernel was never flashed and this makes me think that once these kernel modules have been applied, then another kernel can't be flashed?
I'm not sure if anyone else has experienced this but just wanted to bring it to your attention. S4 is no longer my daily driver (N6P now) but I still use it as a media device.
bkkzak said:
Thanks!
So I noticed a bit of a problem but didn't have a whole bunch of time to test. I flashed followed your instructions exactly (flashing in newest safestrap with TWRP 3.0.0) and it works great. Then I decided to uninstall Safestrap (so I don't get the annoying pre-boot screen), BUT I couldn't load Safestrap app - it kept force closing. So I tried using your NC5 flasher to flash NC5 kernel, it seemed to work fine and I hit reboot in the app. Then when rebooting I hit 'recovery' on the SS screen and it booted into the rom... So obviously NC5 kernel was never flashed and this makes me think that once these kernel modules have been applied, then another kernel can't be flashed?
I'm not sure if anyone else has experienced this but just wanted to bring it to your attention. S4 is no longer my daily driver (N6P now) but I still use it as a media device.
Click to expand...
Click to collapse
Ok thanks. I will look into that. Until then might be best to use flashfire.
I would rather use flashfire and have custom kernel modules than use ss. But I will see what I can do.
Thanks
klabit87 said:
Ok thanks. I will look into that. Until then might be best to use flashfire.
I would rather use flashfire and have custom kernel modules than use ss. But I will see what I can do.
Thanks
Click to expand...
Click to collapse
For now, how do I revert the kernel mods so that I can flash NC5 Kernel, uninstall safestrap, then re-flash kernel mods with FlashFire?
bkkzak said:
For now, how do I revert the kernel mods so that I can flash NC5 Kernel, uninstall safestrap, then re-flash kernel mods with FlashFire?
Click to expand...
Click to collapse
Whether you flash with ss or ff isn't the issue. It's the script. You need to remove the config to start the script in smanager on startup. There is an error in the module loading. I will be fixing that this evening.
klabit87 said:
Whether you flash with ss or ff isn't the issue. It's the script. You need to remove the config to start the script in smanager on startup. There is an error in the module loading. I will be fixing that this evening.
Click to expand...
Click to collapse
Ok; so if I just go into smanager, tap on modload then deselect start on boot and hit save, then reboot, I should be able to load safestrap app and uninstall the bootstrap?
bkkzak said:
Ok; so if I just go into smanager, tap on modload then deselect start on boot and hit save, then reboot, I should be able to load safestrap app and uninstall the bootstrap?
Click to expand...
Click to collapse
Yes. Because then there is nothing to interfere with the kernel memory.
If not let me know because I have another theory. Thanks.
It worked for me in testing but now I do see your issue.
It has been fixed. @bkkzak Go to your busybox app and select install in order to re-install busybox.
Somehow it got borked. But the zip is fixed now. no need to reflash. Just reinstall busybox and all will be fixed.
Sorry for the mess up guys.
Took the plunge last night since I can never leave anything be. I'm running stangs ROM with these modules and love it! Followed directions, flashed with FF and not a problem. Been using app you suggested for tweaking but may look for one with profiles. Thanks again, its like a new toy. Just surprised the page is getting plenty of views but very few downloads of the module or comments... Great work..!
Working great so far. Using darkness gov as it seems to hover on 1 core more than others a hotplugs faster. Looking forward to seeing more all of them added. Thanks!!
Absolutely brilliant work @klabit87! Can't wait to flash this up and tweak. Is our Safestrap v4.01-B02 functional to flash this or does the patch still need to be implemented? I'll use FlashFire if not, probably use FF anyways since I saw a confirmation above.