Related
NOTICES: If you are noticing abnormally high battery drain and/or uptime, and you've updated to PRI 1.90, it has come to my attention
that this PRI has been problematic for a number of people, often resulting in large uptimes and/or poor battery life.
This issue affects people regardless of whether or not they are using a custom kernel
Downgrading your PRI and NV to 1.77 has been reported to resolve this issue.
You can find all PRI and NV versions by clicking here.
Due to troubling reports of battery issues possibly caused by the SBC battery charger modification, it is worth mentioning that by using any SBC build, you
fully assume any and all potential risks that the SBC modification may pose.
"netarchy-toastmod" is a kernel originally based on the GoDmOdE sources (Courtesy of Toast) integrating my work on fixing the fps for the Epson panels, and as of version 3.6.1, also integrating a fix for the Nova panels that does not require the use of Evo switch or manually setting any registers, etc, courtesy of work done by AssassinsLament (Well done on the nova fix). Special thanks needs to go out as well to Cyanogen and the cyanogen mod team, as a number of bugfixes and updates to the kernel in recent revisions have been ported over from cyanogen mod to enhance the overall netarchy-toastmod experience.
Click to expand...
Click to collapse
So what's in the kernel?
- Overclocking Support
- HDMwIn (As of 4.3.4)
- Audio gain tweaks (read: make it louder!)
- Fps Fixes
- tun.ko for openvpn users
- CIFS support (as of 4.2.2)
- BFS (in select builds)
- BFQ (in select builds)
- HAVS (as of 4.1.9)
- Assorted fixes/tweaks (that are sadly too numerous to list here)
- An army of rabid naked bunnies
Click to expand...
Click to collapse
The zipalign script in the kernel's modified inits is based on code in the Damage Control rom, and extended to check more places for apps.
The Dalvik code in the inits is courtesy of Ninpo/Hacre from the VillainRom team (over in the HTC Hero forums).
Click to expand...
Click to collapse
mroneeyedboh has written a handy little kernel starter guide with a lot of general information about custom kernels and various terms you might see flying around (such as cfs/bfs, havs/nohavs, etc).
You can view this guide Here
Click to expand...
Click to collapse
Current Revision: Stable: 4.3.1 - For Froyo Sense roms | Beta: 4.3.4
Click to expand...
Click to collapse
A note on multitouch:
Some of you may have used my 5point multitouch test builds with success, others with failure. Research has shown that the Evo's contain at least 2 different versions of the touch sensor, one of which does not support 5point multitouch (but it DOES support 3point). You can check which sensor you have using adb by issuing the following command: "adb shell cat /sys/android_touch/vendor" and examining the result. If your result is ATMEL_x0080_x0016, your phone can support 5point. If your result is ATMEL_x004F_x0016, your phone will only support up to 3point.
Click to expand...
Click to collapse
Disclaimer:
While these builds have been deemed generally safe, it is not feasible to account for all possible combinations of custom roms and uses,
custom roms may experience some breakage depending on how some features are set up, as these builds are not aimed at any one particular rom.
As such your mileage may vary, use these at your own risk.
Click to expand...
Click to collapse
2.2 Kernels (THESE WILL NOT WORK ON 2.1 ROMS):
These have only been tested against the rooted HTC 2.2 stock rom, they *may* work on the various custom 2.2 roms,
but this is NOT guaranteed. MAKE A NANDROID BACKUP JUST IN CASE!
Click to expand...
Click to collapse
If you get force closes on the camera, go to Menu -> Settings -> Applications -> Manage Applications -> All -> Camera -> clear data.
Click to expand...
Click to collapse
-----------------------------
2.6.32-based Kernels:
Click to expand...
Click to collapse
Beta Testing Builds
When making a post about any issues concerning beta builds, please include ALL of the
following information if possible:
1. Which kernel build(s) (ie; bfs/cfs havs/nohavs etc) are you using with the issue?
2. What Rom are you using?
3. If known, what OTA base is your rom using (ie; is it based on 3.29, 3.30, 3.70, etc)?
4. Does the issue persist if you go back to a stable kernel build?
5. The issue being experienced (obviously ;D)
4.3x:
To clear up some confusion that is apparently being spread around,
4.3x builds do in fact work on all current evo models, not just the newest model.
4.3.4:
--CFS builds--
No SBC:
4.3.4-cfs-nohavs-noUV-nosbc (No Undervolting)
4.3.4-cfs-nohavs-suv-nosbc (Static Undervolting)
4.3.4-cfs-havs-less-nosbc (Less Aggressive HAVS)
4.3.4-cfs-havs-more-nosbc (More Aggressive HAVS)
SBC: Use sbc builds at your own risk.
4.3.4-cfs-nohavs-noUV-sbc (No Undervolting)
4.3.4-cfs-nohavs-suv-sbc (Static Undervolting)
4.3.4-cfs-havs-less-sbc (Less Aggressive HAVS)
4.3.4-cfs-havs-more-sbc (More Aggressive HAVS)
For older beta builds click here.
---------------------------------------
Stable Kernels:
Universal Builds:
4.3.1:
--CFS builds--
No SBC:
netarchy-toastmod-cfs-havs-nosbc-universal
netarchy-toastmod-cfs-nohavs-nosbc-universal
--BFS builds--
No SBC:
netarchy-toastmod-bfs-havs-nosbc-universal
netarchy-toastmod-bfs-nohavs-nosbc-universal
These use Koush's anykernel for installation and should theoretically work on -any- rom.
*note* This is designed to be flashed over a phone that already has a working kernel of some kind flashed,
whether it's a stock kernel, or another custom kernel. In other words, if you can currently boot up your phone into whatever rom you have, this should work. ;D
The universal kernel also does not contain the tweak scripts of the normal build (ie; zipalign on boot and the dalvik tweak), it's intended to be a universally compatible kernel.
This also happens to mean the universal builds will probably work on CM
For older builds click here.
-------------
FAQ:
Code:
Havs: Hybrid Adaptive Voltage Scaling, basically tries to undervolt as much as possible to conserve power, but adapts to things like cpu load and temperature.
No Havs: Static voltage scaling, every cpu speed pulls a specific amount of power from the battery, no variation
CFS: http://en.wikipedia.org/wiki/Completely_Fair_Scheduler
BFS: http://en.wikipedia.org/wiki/Brain_Fuck_Scheduler
Q: Do I need to be rooted to use this kernel?
A: Yes, you need to be rooted, preferably a full root with nand unlock,
Q: How do I flash this kernel?
A: Copy the zip to your sdcard, and flash it from recovery mode
Q: My phone is suddenly unstable after using this kernel and I experience
weird things like reboots or other bugs
A: Are you overclocking? Try lowering the max speed of your overclock.
If the problems stop, you were overclocking too hard. If not,
please include the following information when reporting issues:
1. Your Baseband
2. What rom you're using
3. Your software number
4. Your panel type (Nova or Epson)
5. A Description of what's happening
Q: Why can I only overclock to 1152mhz? (In builds prior to 4.1.x)
A: Frequencies above 1152 have repeatedly turned out to be unstable for
a large percentage of users, so they have been removed to
eliminate the temptation to use them (and then complain because
they are unstable ;D).
Q: Does this kernel work with 2.2 (Froyo) roms?
A: The "Froyoized" kernels do
Q: Will this kernel work with my custom rom?
A: Maybe. The general population build of the kernel should work with
*most* custom roms, but as each custom rom can have it's own
customizations, your mileage may vary. In some cases, particularly
when a lot of customizations are in the rom's ramdisk, the kernel
must be repackaged with the ramdisk from the custom rom to be compatible.
Release notes:
Code:
Notes for Revision 4.3.4
- HDMwIn support added, you still need to download the free HDMwIn app
from the android market to use HDMI mirroring
- Timer tick set to 1000hz
- Unnecessary extra debugging turned off for public builds, should result in a small speed boost
Notes for Revision 4.3.2
- Wimax code updated, 4g should behave a bit better
- SD card read ahead fixed, higher class SD cards should
have an easier time reaching their potential speeds
Notes for Revision 4.3.1
- Screen tearing issues on sense roms should be fixed
Notes for Revision 4.3
- Camera drivers updated to support phones with the newer camera sensors
- ms79723's SBC v7 mod integrated for enhanced battery charging
- Misc speed tweaks/optimizations
Notes for Revision 4.2.2
- Kernel updated to 2.6.32.27
- Conservative set as default governor again
- Conservative governor defaults tweaked
- Less aggressive build has even more relaxed undervolting to aid those with REALLY picky phones
Notes for Revision 4.2.1
- Kernel updated from a 2.6.32.15 to 2.6.32.25
- Interactive governor added and tentatively set as default in some test builds
- Smartass governor added and tentatively set as default in some test builds
- Added BFS 357 smartass builds
Notes for Revision 4.1.9.1
- HAVS has made a return, this should help improve battery life by automatically dynamically undervolting the cpu when possible
Notes for Revision 4.1.8
- Added the BFQ I/O scheduler
- Split out kernel editions, now users have a choice between a CFS or a BFS kernel, if you don't like one, try the other ;D
- Enabled shadow writes on the gpu, which may result in better performance in opengl applications
Notes for Revision 4.1.7
- Add BFS to the kernel
- Allocate more memory to the gpu, this may result in better performance in opengl applications
- A rabid naked bunny vampire has materialized under your bed. Be afraid.
Notes for Revision 4.1.6
- Users with touchscreen issues should find their touchscreen is no longer as responsive as a stereotypical wife on her 10th anniversary
Notes for Revision 4.1.5
- Banished HAVS into the fiery pits of hell for now due to its inability to remain stable with any attempts to overclock. I'll be working on this on the side for possible future re-inclusion
- Clock frequency table remains opened up, with static undervolting in place
- Thanks to l33tlinuxh4x0r for being a guinea pig and helping test this build
Notes for Revision 4.1.4
- The beast responsible for the ridiculous overclocking instability at *any* speed beyond stock has been severely beaten and castrated by rabid naked bunnies (without anesthetic)
- Update scripts redone in the interests of making sure people who have had issues flashing the kernel in the past can do so
- The conservative governor has had some more tweaks to give it better out of the box performance, but you are free to set ondemand as your governor in setcpu if you wish. (If you want to migrate to ondemand you'll also need to set it as the governor in your setcpu profiles)
- The clock frequency table is fully opened up (re-detect frequencies in setcpu to see them) As always your mileage in overclocking may vary, but for some perspective, I ran 1152 through many loops of neocore and quadrant just fine.
Notes for Revision 4.1.3
- The ondemand governor is enabled as an option (switch to it in setcpu if you want to use it, remember you'll have to update your profiles to use it as well).
The default currently remains conservative to have a balance between performance and battery.
- The small segment of users getting bootloops due to the undervolting being too aggressive should be able to boot the kernel now (though if it persists the undervolting can still be adjusted)
Notes for Revision 4.1.2
- All frequencies above 1152 should now be properly visible/usable in setcpu (You may need to re-detect speeds in setcpu first)
Notes for Revision 4.1.1
- Hot on the heels of 4.1.0, a minor versioning fix ;D (4.1.0 reports itself as 4.0.3)
Notes for Revision 4.1.0
- Adapted HAVS for the evo, this may improve battery life by allowing the cpu to run at lower voltages when possible
- The overclocking range has expanded to allow attempting to clock above 1152, Remember that overclocking is unpredictable and potentially unstable by nature, if you encounter problems overclocking, lower the speed.
- Some threshold adjustments to the conservative governor in the interest of improving performance without obliterating battery
- Wired tethering should theoretically work, however if there are problems with the app, an alternative is azilink for wired tethering
Notes for Revision 4.0.3a
- An experiment of sorts, changing from the ondemand speed governor to the conservative governor (with some tweaks), in the interests of keeping good performance with less impact to battery life.
- Rewritten update scripts to hopefully alleviate the small number of people who seem to be having a problem flashing the kernel
Notes for Revision 4.0.2:
- People having stability issues with overclocking to 1152 *may* find it is a bit more stable (your mileage may vary)
Notes for Revision 4.0.1:
- Speed range should now allow underclocking to 128mhz (You may need to re-detect frequencies in setcpu)
- The Nova panel T2 register should be changeable again (for you Evo Switch/Novareq users)
Notes for Revision 4.0:
- Updated to the latest HTC released kernel sources (2.6.32)
- Camera should now be working properly
- HDMI output should be working in Froyo again
Notes for 3.7.8b-Froyoized
- Camera should no longer take dark snapshots when using the flash, the monster responsible has been severely beaten with a twig.
Notes for 3.7.8-Froyoized
- Camera app should no longer crash when changing from 5:3 widescreen to 4:3 standard ratio
- Camera app should properly allow 720p video recording and playback
- Japanese researchers have begun construction on a mecha-rabid naked bunny, codenamed: Bunnytron.
Notes for 3.7.7-Froyoized
- Re-integrate zipalign check and Dalvik cache tweak from the 2.1 line
- Some adjustments made to bluetooth-specific audio tweaks to combat distortion
- Audio adjustments to combat background noise overpowering the voice on the other end of a call
- Set version tag correctly (har har!)
- Super-mutant rabid naked bunny successfully created in lab conditions, however it disintegrates upon exposure to reality.
Notes for 3.7.6c-Froyoized
- SDcards with ext partitions added on should now cease confusing Froyo and allow the card to be mounted properly (Special thanks to Ninpo for directing me to the fix)
Notes for 3.7.6b-Froyoized
- Touchscreen adjustments, this may fix those who had touchscreen issues with 3.7.6
Notes for 3.7.6-Froyoized:
- Compatibility with the leaked 2.2 ota (and probably other 2.2-based roms)
- Working Camera (Limited to 3megapixels) EDIT: Reports indicate it claims 3mp but actually functions at 8mp
- Fps fix (of course ;D)
- Wireless Tether is reported as working with this as well
- 4g is confirmed as working
Notes for 3.7.5:
- Toned back audio boost tweaks a little to address distortion issues
- Updated gpu code for some 3d speed improvements
- Prevented the horde of mutant hairy toe-monsters from spreading toejam
all over the thread.
Notes for 3.7.4:
- Updated bluetooth code, courtesy of cyanogenmod
(You may have to re-pair your bluetooth devices)
- A new audio boost tweak has been applied
(This should not have the issues of the previous audio boost)
- Fixed an issue that would cause some Nova users to mysteriously
revert to 30fps. (Bad nova! no cookie!)
- Successfully avoided maiming any sabretooth'd tiger-striped cows
during the production of this update.
Notes for 3.7.3c:
- Some more tweaks to default performance (when not using setcpu/overclock widget)
Notes for 3.7.3b
- Killed that damn bug monster that decided yet again to sneak into one of my builds. Bad monster! No cookie.
Notes for 3.7.3:
- Adjusted the behavior of the speed scaling governor to give better performance out of the box for people that don't use setcpu or overclock widget
- Made adjustments to the general population build in the interests of making it compatible with Apps2SD by request.(Damage control users should have already been unaffected)
Notes for 3.7.2a
- Gave the monster holding wifi and 4g hostage a spanking (read: wifi/4g should be fixed)
Notes for 3.7.2
- Tweaked Nova settings in the interests of making sure everyone with a nova panel benefits from the fps fix
Notes for 3.7.1:
- Kernel should now have 100% more working HDMI output, no really, we mean it this time!
Notes for 3.7:
- HDMI output should now work in conjunction with boosted Nova/Epson fps
- tun.ko is now included by default for VPN users
Notes for 3.6.4:
- Behold, the return of 5point multitouch! This build should now automatically enable 5point multitouch for all phones that can support it. If the phone does not support 5point, it will default to 3point.
Notes for 3.6.3:
-Removed problematic audio boost patch that was giving issues with bluetooth
-Adjusted overclocking frequency tables to remove some problematic frequencies (Yes I know a small selection of you are going to be disappointed with the lowered cap, but I felt that the problems were more important at this time.)
-Evo switch ideally should not be required for decent framerates on Nova panels, but if users desire, by popular request, they can now use Evo Switch to tweak their T2 register [U]without[/U] it resetting after a screen cycle
-Default T2 value adjusted to 370, AssassinsLament believes this to present a good balance between out of the box performance and compatibility
-No fluffy pink bunnies were harmed in the making of this build
Can this be flashed with clockwork? Or just amon ra?
Is this a Froyo or Eclaire kernel? Any radio requirements?
Awesome, I have a Novatek. /facedesk.
jerryparid said:
Can this be flashed with clockwork? Or just amon ra?
Is this a Froyo or Eclaire kernel? Any radio requirements?
Click to expand...
Click to collapse
Should be flashable with either Clockwork or Amon Ra. Theoretically it might work on Froyo, but I've only tested it on Eclair.
This was not answered in the Godmode kernel thread. Does Camera work on this for 2.1.
mattrb said:
This was not answered in the Godmode kernel thread. Does Camera work on this for 2.1.
Click to expand...
Click to collapse
Yes the camera works on this in 2.1
Just flashed on Snacks v0.8 w/ Clockwork.
fps2d, avg 53-55, ~12 std
fixes touchscreen delay
can observe tearing
camera works
screen seems to be less responsive?
VoXHTC said:
Awesome, I have a Novatek. /facedesk.
Click to expand...
Click to collapse
me too. I am going to wait till things cool down a bit and bother HTC for another phone.
jerryparid said:
Just flashed on Snacks v0.8 w/ Clockwork.
fps2d, avg 53-55, ~12 std
fixes touchscreen delay
can observe tearing
camera works
screen seems to be less responsive?
Click to expand...
Click to collapse
I haven't noticed any loss of responsiveness on my end, if anything I'd swear it feels more responsive. Touch lag seems fairly significantly lessened.
I wonder if it could be related to the fact that I'm using a 1.47.651.1 based rom plus the latest radio/etc, curious.
Makes one wonder what all HTC changed in the update...
imaxreed said:
me too. I am going to wait till things cool down a bit and bother HTC for another phone.
Click to expand...
Click to collapse
umm? http://forum.xda-developers.com/showthread.php?t=711964
Best kernel on my epson screen. I like how i can overclock as well
jerryparid said:
umm? http://forum.xda-developers.com/showthread.php?t=711964
Click to expand...
Click to collapse
Thanks. I have seen that thread a hundred times but never entered it. The FPS doesn't bother me too much I am going to mess with this tomorrow i have the day off thank you.
jerryparid said:
umm? http://forum.xda-developers.com/showthread.php?t=711964
Click to expand...
Click to collapse
Yeah i'd love to see this fix for nova
netarchy said:
I haven't noticed any loss of responsiveness on my end, if anything I'd swear it feels more responsive. Touch lag seems fairly significantly lessened.
I wonder if it could be related to the fact that I'm using a 1.47.651.1 based rom plus the latest radio/etc, curious.
Makes one wonder what all HTC changed in the update...
Click to expand...
Click to collapse
I just flashed back to the Snacks kernel (v0.8 is 1.47 based); there is a substantial difference in sensitivity (not delay) between the two kernels.
jerryparid said:
I just flashed back to the Snacks kernel (v0.8 is 1.47 based); there is a substantial difference in sensitivity (not delay) between the two kernels.
Click to expand...
Click to collapse
Hrmm, is it glaringly obvious in any particular app? I'd like to see if I can reproduce the experience myself.
My phone keeps locking up when trying to watch youtube videos. Sorry if this is already a known issue.
krazyflipj said:
My phone keeps locking up when trying to watch youtube videos. Sorry if this is already a known issue.
Click to expand...
Click to collapse
Trying it out now, no problems with youtube for me.
Tearing doesn't seem as bad as I remember, but still bothersome.
when i seen this, i jumped into the air with my fist up like a touchdown at the superbowl.
flashing in juuusssst a second..
VoXHTC said:
Awesome, I have a Novatek. /facedesk.
Click to expand...
Click to collapse
same !!!!
This is a no-frills, lean, clean Froyo AOSP machine.
Thanks:
Giant_Rider and Capychimp for the collaboration, klothius for the dalvik-cache script, dferreira for his AOSP source, Fightspit for the battery indicator and Carz for his kernel source.
Sources:
Froyo AOSP
Kernel
Battery Mod
Email.apk
Not Working:
Camera
Includes:
Google apps
Optimizations
Custom hosts file
Swap (requires swap partition)
Apps2SD (requires ext partition)
JIT
Cache on Cache
Renice
Highly OC'd kernel
Launcher Pro
Customizations:
Apps2SD and Swap are enabled on boot but you need the required partition structure. Jit is enabled out of the box. Kernel OC is set at 352MHz (under volted) when idle and 652MHz under load. You can use SetCPU to change the scaling, the scaling range is currently 122-748 MHz.
** Warning **
Typical behavior of an unstable device at high clock speeds are random reboots, black screen of death, and the phone not waking up.
Rom:
Recommended to do a full wipe first including dalvik-cache and sd ext, unless an update is specified "no-wipe".
Fusebox v1.3
*No-Wipe Update*
- New kernel compile (smaller and cleaner)
- Replaced custom hosts file with stock file (was causing battery drain errors in some programs that use a certain implementation of ads).
Fusebox v1.2
*No-Wipe Update*
- Includes updates from v1.1
- New kernel compile (2.6.34.2)
- Changed the default CPU scaling governor to interactive
Fusebox v1.1
*No-Wipe Update*
- New kernel compile
- Updated Brut maps
- Updated Google apps
Fusebox v1.0
*Full Rom*
- New Froyo AOSP base
- Email.apk that works with Exchange
- Addded ES File Explorer
- Updated LauncherPro
- Added latest kernel compile
- Moved default cpu frequencies to init.d
- Added script to clear app cache
- Memory tweaks
Fusebox v0.5
*No-Wipe Update*
- New kernel compile
- Default 352 min CPU speed (reported to fix wake issue for some people)
- Added afflaq's Email.apk to fix Exchange (thx lodewj)
Fusebox v0.4
*No-Wipe Update*
- Added missing speech lib
- Tweaked internal memory management
- Adjusted default clock speeds
Fusebox v0.3
*Full Rom*
- New kernel compile
Fusebox v0.2
*Full Rom*
- New kernel compile
Fusebox v0.1
*Full Rom*
- Initial release.
Themes:
*Updated: For Rom v1.0 Only*
These are flashable updates you apply over the base rom.
Stock White
White with circular battery with % (Fixed)
Black with circular battery with % (Fixed)
Screens:
does anything not work? camera/BT/etc?
EDIT: nvm you edited your post
zeotrope said:
does anything not work? camera/BT/etc?
EDIT: nvm you edited your post
Click to expand...
Click to collapse
Just camera as far as I know right now.
fast rom but have one issue, when phone locks i cant get it unlocked, the screen stays black and no response on buttons. noticed that games not getting laggy when touching screen, had that issue with all other roms for new radio. tried to check out new froyo rider to compare, but its looping while booting so i tried only this rom. sorry for english if its poor
bartasrex said:
fast rom but have one issue, when phone locks i cant get it unlocked, the screen stays black and no response on buttons. noticed that games not getting laggy when touching screen, had that issue with all other roms for new radio. tried to check out new froyo rider to compare, but its looping while booting so i tried only this rom. sorry for english if its poor
Click to expand...
Click to collapse
That's typical of the device not being stable at the clock speed, is still at the default clocks? I may have to bump down the speed if this is an issue.
Switch33 said:
That's typical of the device not being stable at the clock speed, is still at the default clocks? I may have to bump down the speed if this is an issue.
Click to expand...
Click to collapse
yes its on defoult clocks. just managed to flash froyorider rom, as far as i have checked its not freezing while locking the phone, clocks and kernel are the same so maby the problem is somewhere else
bartasrex said:
yes its on defoult clocks. just managed to flash froyorider rom, as far as i have checked its not freezing while locking the phone, clocks and kernel are the same so maby the problem is somewhere else
Click to expand...
Click to collapse
Ok keep me posted, I have only noticed that behavior over 700MHz on my device...
Switch33 said:
Ok keep me posted, I have only noticed that behavior over 700MHz on my device...
Click to expand...
Click to collapse
i think its my device, cause the same just happened with froyorider
bartasrex said:
i think its my device, cause the same just happened with froyorider
Click to expand...
Click to collapse
Hmm ok, you can try installing setcpu and bump it down a notch, if it turns out to be a common problem then I'll adjust the default kernel frequencies.
@Switch33
does it have multilanguage support? (need dutch belgium ).
I was actually working on my own but now that you made one, the need for making one myself is pretty much gone
btw, I would clock it a little bit lower by default and use setcpu to bump it some higher if the phone handle's it
thnx for your work!! keep it up
P.s. got a small request. Don't know if you compiled the kernel from source, but if you do, could you use the slub alocater instead of slab? (if that isn't already the case) ^_^
edit:
some questions:
undervolted?
JIT ?
renice init scripts?
edit2:
Allready compiling carz12 kernel as we speak with slub instead of slab.
Will upload it later today and share it.
if it works well, I will repost it with a lot of kernel debugging disabled. I saw that the cm source that Carz uses has ktimes and stuff enabled. disabling this stuff shoud shaves off a little bit in boot time. I hope that this will apply to our phones as well. I do this stuff for embedded devices (routers) with a x86 base (amd/NS geode cpu's). But I have little to no experience on arm based devices.
thanks it realy fast and nice
also i have set CPU and i changed it to
max 576000
min 245760
its now working great and verry fast
ROM is unstable for me; used SetCPU to lower the clock speeds and it still has trouble waking from sleep or unlocking. Very annoying to say the least since the ROM is great when it's properly working.
EDIT: Rebooted phone and now a new problem -- all my downloaded applications are corrupted. I can not access any of them, just the default apps that came with the app. They do not show up in my app drawer but they show up in my Manage App. settings and they just appear as a 0kb with their system name on the side, not even the application name; seems like a reboot fixes this though.
Can those with problems try this kernel please.
http://gwww.multiupload.com/L6F13CDQYD
Just flash from recovery
download link is broken or filevo has some issues with their servers
lodewj said:
@Switch33
does it have multilanguage support? (need dutch belgium ).
I was actually working on my own but now that you made one, the need for making one myself is pretty much gone
btw, I would clock it a little bit lower by default and use setcpu to bump it some higher if the phone handle's it
thnx for your work!! keep it up
P.s. got a small request. Don't know if you compiled the kernel from source, but if you do, could you use the slub alocater instead of slab? (if that isn't already the case) ^_^
edit:
some questions:
undervolted?
JIT ?
renice init scripts?
edit2:
Allready compiling carz12 kernel as we speak with slub instead of slab.
Will upload it later today and share it.
if it works well, I will repost it with a lot of kernel debugging disabled. I saw that the cm source that Carz uses has ktimes and stuff enabled. disabling this stuff shoud shaves off a little bit in boot time. I hope that this will apply to our phones as well. I do this stuff for embedded devices (routers) with a x86 base (amd/NS geode cpu's). But I have little to no experience on arm based devices.
Click to expand...
Click to collapse
Thanks for the suggestions, I'll take a look at those today. The kernel is undervolted below 384 MHz, JiT is enabled out of the box and includes renice scripts as well as others.
hol17 said:
ROM is unstable for me; used SetCPU to lower the clock speeds and it still has trouble waking from sleep or unlocking. Very annoying to say the least since the ROM is great when it's properly working.
EDIT: Rebooted phone and now a new problem -- all my downloaded applications are corrupted. I can not access any of them, just the default apps that came with the app. They do not show up in my app drawer but they show up in my Manage App. settings and they just appear as a 0kb with their system name on the side, not even the application name; seems like a reboot fixes this though.
Click to expand...
Click to collapse
Do you have an ext partition on your sd card?
who know the "clock + weather" app is?
itenno said:
who know the "clock + weather" app is?
Click to expand...
Click to collapse
Beautiful Widgets 'smaller home'
Switch33, would you mind forging dutch language support in there? (belgium)
It may be netherlands as well ....
I'll send your fresh pina colada while I'll send carz12's as well
lodewj said:
Switch33, would you mind forging dutch language support in there? (belgium)
It may be netherlands as well ....
I'll send your fresh pina colada while I'll send carz12's as well
Click to expand...
Click to collapse
I'll look into multi-language this weekend, long weekend in canada should be able to get some stuff done.
ATTENTION: Only the main CWM and screenstate_scaling addon is compatible with ICS for now. LMK only works half way and shouldn't be used until I can find out if there's a method to automate the services.jar (as used by Supercharger to lock down LMK settings.
ATTENTION: 3G addon canot be used for CM7/MIUI at the moment!
ATTENTION: Addons are at the second post!
ATTENTION: 40MB has a very unaggressive LMK that will face lags at the end of the day but have higher degree of multitasking. You were warned
ATTENTION: If you're on Fugumod build 1922, which came out Nov. 3, meaning also on CM nightly 168 (and Neo 18 just recently) or any latest CM7 that has the latest didle code integrated into it, don't flash the screenstate_scaling addon! I've troubleshoot it with lippol94 and I found a bug in the latest didle code. I've explained it in the post here: LINK
ATTENTION: Mount /system before flashing! The CWM zip doesn't mount it for you automatically!!! This is to enable all phones (almost all?) to use this script. Go to "Mounts and Storage" in CWM to do this.
News
Updated ThunderBolt! to v2.6.1 with fixes to the main CWM updater script as well as moved S98bolt_siyah to bolt_scripts. Move it to init.d if you want to use ThunderBolt!'s hotplug/cpuidle/brightness settings for SGSII kernels.
Introduction
ThunderBolt! is a script package by me, pikachu01 that combines a few notable tweaks shamelessly modified to the max as well as hacks and scripts that I came up on my own(and added tonnes of things over the months of development and testing). Without further delay, please read the rest of the OP
Benefits
Better performance, better battery life through Linux kernel tweaks catered for Android OS and flash memory.
Better battery life and performance through usage of screenstate_scaling whereby it switches governors/thresholds/VM depending on your screen state.
Better performance and battery life for database writes as fsync is not utilized anymore.
Better network throughput from TCP tweaks and 3G tweaks
Less RAM usage through zipalign. I found that market apps like Viber and PlantsVsZombies aren't zipaligned. Oh and Swype too. Surprised? Me too.
Reduced /dbdata, /data, /sdcard usage of *.db files and faster database access through defragmentization of sqlite db files (a lot of apps use Database to store data like Swype dictionaries, Game saves etc)
Faster disk access through remount script (noatime, disable barrier etc)
Less lags through Quasi-charger, with mutltasking (e.g. NFS shift + Opera mobile with 5 tabs fully opened and no lags)
Minimum Requirements
Android Gingerbread 2.3.x
Note: Only the main CWM is ICS compatible. The LMK and screenstate_scaling might work on certain ICS ROMs. Try them out first. Nandroid beforehand!
At least 2MB free on /system (Delete unused ringtones or useless apps like Aldiko/Allshare etc).
Root
Kernel that supports init.d
Ext4 lagfix if you want to use the remount script
Addons
The 3G CWM is an addon that in most cases improve your mobile wireless speed.
The libsqlite CWM is an addon that removes the need to fsync before a database write is done. It'll improve database write speeds (where apps like SMS, contacts etc use databases)
The bin files CWM is an addon that uses Fugutweaks + system_server from Honeycomb. Some say that it improves response rates.
The LMK addon strives to maintain an effective LowMemoryKiller so that you have a small degree of multitasking coupled with a huge performance boost and a phone that lasts for days without needing a reboot to "clear off the memory or something". Split the LMK downloads to two with "Talon" version used for TalonDev kernel and "Others" version used for kernels that are not TalonDev. TalonMTD is not TalonDev btw, and "Others" version should be used instead. The higher the LMK value, the less multitasking capability you get. You'll get more performance for it though.
The screenstate_scaling addon will perform VM scaling and ondemand threshold scaling to get the best of battery life and performance. Not for CM7 kernels that have didle (that includes the stock kernel from night 168 onwards).
The graphics addon purpotedly increases graphics acceleration through some prop tweaks. There might be some devices that won't work well with these tweaks, hence I'm making it an addon. Try it and see if it increases frame rate or introduces instabilities.
Touchscreen tweaks are only for i9000. I included it by default though. It'll just be skipped in other devices. No issues here.
Included bolt_siyah script that tweaks SGSII related tunables (Dual core hotplugging settings, brightness related etc). Other phones will just skip this.
Known Issues
If you're using a custom MP3/Wav file as a ringtone, flashing ThunderBolt! might erase that setting causing your ringtone to be silent. Be sure to restore the ringtone again.
Barriers are turned off in /data. Corruption can happen but risks are minimal if you still have journaling.
Libsqlite safety_level is tuned to "1" from "3". There is risk of corruption here. Revert the libsqlite*.so files from the restore pack if you face corruption This is due to no fsync is done before databases are committed into disk hence it'll be faster but at the risk of corruption i.e. Launcher widgets going missing or SMS messages going missing etc.
sqlite_optimize script will produce errors like "malformed database" or "unknown collation sequence". It's normal, it means that these databases are not sqlite compatible, hence erroring out (skipped).
You may sometimes lose access to busybox. Install busybox installer (stericson's) from the market and install 1.19.3 to /xbin.
Bootup (even to the point where you can see the launcher)may be a little slow as zipalign takes some time.
remount script has to be launched using script manager
Remount script is only for i9000 Samsung, i9000 CM7/MIUI and i9001 + a few others(check /sdcard/bolt_scripts)
CWM zip is only for devices that has /system as its mount points. Remember to mount it in CWM.
The LMK/OOM is on the aggressive side. Some apps that you've hidden behind other visible processes SHOULD be killed to make way for bigger apps. This is to ensure your Angry Birds or Fruit Ninja doesn't LAG LIKE HELL after some time.
Instructions
Copy the CWM zip and all the addons you need to your internal sdcard
Mount /system in CWM (IMPORTANT!) (When mounted, it will show "unmount /system" for example. This means that an unmounted partition will show a "mount /system" for the /system partition)
Install using CWM all the CWM zips without needing a reboot in between
Wait for bootup
Open up Script Manager and launch /etc/bolt_scripts/remount[device] (e.g. remounti9000) as Root (The skull icon) and as Boot (The wheel icon).
Open up Script Manager and launch /etc/bolt_scripts/sqlite_optimize as Root (The skull icon). This script can be used arbitrarily at anytime that you want. Don't load it as boot or copy it to init.d though, it'll significantly slow down your boot up as the script is a very long running script.
Open up Script Manager and launch /etc/bolt_scripts/s70darky_zipalign as Root (The skull icon). This script can be used arbitrarily at anytime that you want. You can copy it to init.d and setting its permission to rwx-rwx-rwx. I moved it to bolt_scripts so that first boot for some people won't be slowed down.
????
PROFIT
Note: The remount script is launched using Script Manager as any ROM lagfix will remount the partitions again later after init.d scripts finished launching hence reverting the mounts to stock lagfix mounts. This is true for MIUI/CM7, Voodoo and other lagfixes where partitions will be remounted to relatime just before Android OS appears, thus nullifying the init.d remount.The script then has to be launched only after the Android OS has launched.
Note: sqlite_optimize can be executed at anytime. i.e. once a week to optimize your *.db files. It's usually a 30secs - 2minutes process. Ignore the "malformed database" and "No collation found" errors.
Reverting/Undoing ThunderBolt!
To revert ThunderBolt!, download the appropriate zip packages of your device. Sorry, only CM7/MIUI/i9000 for now. Let me know of your device and I can probably make a restore package for you. All other devices other than CM7/MIUI/i9000, you're on your own if you need to restore. Hence, be sure to have a nandroid backup handy.
Go to CWM, mount /system. Install the restore CWM package.
Repackaging
Repackaging ThunderBolt! into custom ROMs is allowable as long as it is included as a prominent feature of the ROM as well as proper credits are included.
Please reply into the thread if you would like to include it as its just a nice thing to do
You are free to modify the contents of the scripts, but please make it known that you've modified it and also briefly include the modifications you've done to the list of features
How to find out if it works
Use File Expert/ Root Explorer, and navigate here:
Code:
/system/etc/init.d/
You will find at least these files inside (from the main ThunderBolt! package):
Code:
S98system_tweak
S98CFS
Now, using Terminal Emulator, do this:
To enter superuser mode:
Code:
su
Then:
Code:
sysctl -a | grep vm
You will get values like this:
Code:
dirty_ratio = 80
dirty_background_ratio = 40
vfs_cache_pressure = 10
If you use the screenstate_scaling addon and then use ADB, and when the screen is off, you will get:
Code:
dirty_ratio = 90
dirty_background_ratio = 75
vfs_cache_pressure = 1
Next, do this in Terminal Emulator to check for the installed the LMK addon if it works correctly:
Code:
getprop | grep ADJ
You will get:
Code:
[ro.FOREGROUND_APP_ADJ]: [0]
[ro.VISIBLE_APP_ADJ]: [1]
[ro.PERCEPTIBLE_APP_ADJ]: [2]
[ro.HEAVY_WEIGHT_APP_ADJ]: [4]
[ro.SECONDARY_SERVER_ADJ]: [5]
[ro.BACKUP_APP_ADJ]: [6]
[ro.HOME_APP_ADJ]: [3]
[ro.HIDDEN_APP_MIN_ADJ]: [7]
[ro.EMPTY_APP_ADJ]: [15]
Credits
Zacharias.maladroit
XDA's devs for some reference of some tweaks in Zach's scripts
zeppelinrox Supercharger scripts
nikademus - Fugutweaks
ForeverSupra - Fugutweaks ICS
ChainFire - Touchscreen Tweaks
Sources for libsqlite
https://github.com/CyanogenMod/android_external_sqlite
File: sqlite3.c (sqlite v3.7.2)
Modified:
Code:
-73097: aNew->safety_level = 3;
+73097: aNew->safety_level = 1;
-105161: db->aDb[0].safety_level = 3;
+105161: db->aDb[0].safety_level = 1;
Currently working devices
Samsung Galaxy S i9000
Samsung Galaxy S II i9100
Samsung Captivate
Samsung Vibrant
Samsung Galaxy S 4G
Samsung Galaxy S Plus i9001
Samsung Galaxy Note
Samsung Infuse 4G
Samsung Galaxy Tab
Samsung Galaxy S Plus i9001
Samsung Galaxy SL i9003
Samsung Galaxy SII AT&T i777
Samsung Galaxy Nexus
----------------------------------------------------------------------------------------------------------------------------
BUY me a cup of coffee if you enjoy my work. It'll motivate me to work harder and faster
Main scripts
S98system_tweak and S98screenstate_scaling is based on Zach's Platypus scripts.
WARNING:
Other scripts that tweaks the same VM,I/O,Readahead, CFS,BFS etc settings with different values(check the scripts and compare) and what not should not belong in the init.d with Zach's scripts. It'll ruin the harmony of the settings causing decrease in performance/battery life.
The system_tweak file will tweak these:
VM settings (tweaked to offer more battery life and performance with the RAM, a faster memory being used more often than NAND writes)
Prop tweaks (3G/HSDPA tweaks mostly that offer more speed to some people that use US carriers that deliberately reduce their 3G/HSDPA in their build.prop)
Scheduler tweaks (CFS scheduler tweaks that offer more granularity)
TCP tweaks (tweaks the TCP to be more like how our desktop acts)
Network security tweaks (Disables some well known attack windows such as icmp_echo_ignore_broadcasts etc)
Misc tweaks (you can look at the script itself, google will tell you what it does)
Readahead tweaks. Optimizes different memory devices readahead values. It's not 1024/2048 for all devices. It won't work well that way.
Screenstate_scaling can tweak these (governor scaling is disabled by default):
Governor and governor tweaks (threshold etc) when screen is off. Screenstate scaling is used to conserve battery as it swaps out the ondemand governor to conservative when your screen is off. When it turns on again, it will swap it out with ondemand. You can of course, change the AWAKE_GOVERNOR and SLEEP_GOVERNOR to whichever governor you like. Please edit the script and tweak it to your liking
The screen state scaling is to optimize battery life when your screen is off, hence you'll get more battery life out of it.
Editing screenstate_scaling script
Beginning v1.9.3, no governor scaling is done in screenstate_scaling. Only VM scaling.
To enable governor scaling yourself, Use VIM editor ONLY! Using other editors will introduce spaces at the end of each line, corrupting the script.
Read the script, edit it in your PC (it is easy to edit, just read it thoroughly), then push it back to init.d and giving the rwx-rwx-rwx permission.
Link: http://www.vim.org/download.php#pc
Governor of choice
smartassV2 (Both awake and sleep governor).
Don't need to edit the screenstate_scaling for this. Just enable it in Voltage Control etc. Sleep sticks to 100MHz most of the time while 800MHz is the ideal frequency when awake. Might consume more battery when awake compared to ondemand.
ondemand with patched sleep detection (Both awake and sleep governor).
Don't need to edit the screenstate_scaling for this. Just enable it in Voltage Control etc. Battery saving at sleep and fast switching at awake. Might not be as smooth as smartassV2. Note that only TalonDev and Semaphore has this AFAIK. Other kernels might apply the patch in the future. Check with the dev.
ondemand as awake governor and conservative as sleep governor
Battery saving, but not as battery saving as the combinations above. Conservative is a bit more battery saving than ondemand, but due to its tunables being a bit aggressive, only a bit more battery saving. Conservative is battery saving in nature due to it scaling slower than ondemand. It still has the problem of inherently scaling to the maximum while asleep which is non-existent or low probability of happening in the combination above.
Disclaimer
This won't brick your phone or cause it to go haywire. If it does, I will not be responsible for it. Do some research before attempting to use it (as always).
remount Script
I created a post-boot script that you could remount your partitions to:
Disable barriers for /data
Noatime for every mount point (Using atime for mount points will decrease the life of the disk as writes are performed everytime a file is accessed for the access time)
Increased commit time to 60 seconds as opposed to 5 seconds. By default, journaling will commit to disk every 5 seconds. That means, if you changed something more than a time span of 5 seconds, your files are not likely to get corrupted on power loss. By adjusting this to 60seconds, the risk is slightly higher, but it's a risk I'm willing to take, and an informed decision that you should make if you choose to use this script. This increases performance by a lot! 59 seconds of the time, you will not face lags stemming from journaling. It's like having journaling only 1/12th of the time.
How-To
Wait till Android finishes loading everything.
Install Script Manager from Market
Point script manager to the script you placed in the sdcard.
Run as root.
Do this at every boot.
You can add a widget to your home screen for the script so that you can
activate it easily.
Disclaimer
I am not responsible for data corruption or data loss from using this remount script. You should know its risks after reading the information from this guide. If you haven't, you should read the whole guide and make an informed decision.
FYI
Acid tweaks/SAS/USAS also has this remount script in the init.d. Too bad the Voodoo mounts will revert it to normal when you boot, hence the init.d script doesn't work. Only a post-boot script works to remount. I'm not sure about other lagfixes (CF-root,Speedmod etc), but it's highly likely that remount script in the init.d doesn't work as well.
zipalign Script
I've modified the original darky zipalign script to actually work. The previous script doesn't work as the file redirection actually doesn't work. I've also moved this to /etc/bolt_scripts in 2.6.0 so that boot time is lessened for first time boot (if the user has a lot of unzipaligned APKs). Try running it in Script Manager or move it to init.d whenever you want
drop Script
Drop script perform a cache drop operation to provide more free memory to the user. Use it when you feel that memory is lacking.
S98CFS* Script
The CFS script is only for tweaking the CFS values. If you still get lags here and there, you can try replacing the CFS script with the ones in the bolt_script directory. To temporarily apply it to test it out, you can run them from Script Manager as well (as root). When you're satisfied, just delete the existing S98CFS* script and copy the CFS file you like to init.d.
s78enable_touchscreen Script
This is a script to tweak the touchscreen sensitivity. In the bolt_scripts directory, I've included another 2 files which are stock and s78enable_touchscreen_2. Both revert to stock and much more sensitive touchscreen respectively. Replace the files if you want to use it. To temporarily increase the sensitivity, you can use Script Manager (run as root) as well.
sqlite_optimize Script
Optimizes your SQLite databases (*.db) on your phone by VACUUMing it and REINDEXing it. Should make apps faster and reduce disk space consumption.
bolt_siyah Script
bolt_siyah script is a script stemming from the Siyah kernel and is only applicable for SGSII phones. It optimizes your CPU hotplug settings as well as power savings and brightness (for SGSII phones). It is located in /etc/bolt_scripts/S98bolt_siyah. You can move it to init.d if you have an SGSII phone and would like ThunderBolt!'s settings to apply at boot.
cpugputune Script
cpugpu tune script (/etc/bolt_scripts/cpugputune) contains:
* Siyah GPU frequency/voltage tuning (with my own settings for a balanced performance/battery saving proflie).
* CPU undervolting (similar to Voltage Control, but doesn't have the limitation of Voltage Control's limits. You can set it however you want till it hits the limits that is set in your kernel itself. (Note: You will require a kernel that supports undervolting for this to work)
- To run this script, follow the same instructions as the remount script.
- I've commented out the voltage settings for CPU/GPU because each phone will have its own threshold for each (too low and it hangs). Before uncommenting, be sure to change the UV_mV_table to your own stable settings.
- To know how to undervolt, play a MKV file in software decoding using MX Video Player for 10minutes while limiting the frequency's voltage that you want to tune. Slowly decrease it (by editing it and then running the file on Script Manager) until it hangs. Then add +50mV to get a stable voltage.
- To limit a frequency, add these lines to the script:
Code:
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
This limits it to 200MHz (example).
- To undervolt the GPU frequency, use Nenamark as a benchmark. To limit a frequency for GPU, set all 3 frequencies to be the same. E.g.:
Code:
echo "100 100 100" > /sys/class/misc/gpu_clock_control/gpu_control;
This will limit it to 100. Then run the script in Script Manager and run Nenamark. If Nenamark cuts to black and phone fails to respond, calm down first. Press the home key and wait for it to get to your homescreen, then reboot from there.
- NOTE: Be sure to disable the remount script (untick the wheel icon in Script Manager and then reboot) before proceeding to undervolt your phone as the remount script will increase the likelihood of corruption after a phone hang.
Changelog:
3/5/2012 (LMK 1.0.7)
- Fixed the positioning of default.prop (there was a mess in placement of the default.prop inside /etc in some of the LMK zip files. I forgot which, hence I'm refreshing all the LMKs up a version with the placement fixed for those that are broken. Please redownload.
3/5/2012 (2.6.1)
- Fixed updater script for main CWM. Just removing obsolete lines (no feature impact)
- Moved S98bolt_siyah to /etc/bolt_scripts as Siyah currently has a tweak app called ExtTweak by xan In order for it not to be override it. you can move this file to the init.d or run it with Script Manager if you want ThunderBolt!'s settings to override it.
3/4/2012 (2.6.0, screenstate_scaling 1.6.0, LMK 1.0.6, Restore 1.1.0)
- Less aggressive RAM tuned at screen on. Same aggressiveness when screen is off.
- More battery centric governors at sleep (with 99 up_threshold on most of the governors at screen off).
- Ondemand is at 95 up_threshold if io_is_busy is set.
- Removed kernel panic settings. Leave it at kernel defaults (whatever that is)
- Updated LMK to not use /data/local.prop. Instead it uses /system/default.prop
- Updated main CWM to not use /sdcard. bolt_scripts is now located at /system/etc/bolt_scripts. Be sure to point your Script Manager settings there now.
- Moved the zipalign script to bolt_scripts to ensure first time boot is faster. First time boot for some people might be slow as they might have a lot of unzipaligned APKs. You can move the script to init.d and give it rwx-rwx-rwx permissions if you want to.
2/13/2012 (2.5.1)
- A small fix to cpugputune by commenting out the if/fi between the UV_MV_Table tweak so that people can run the script fine even without any edits.
2/9/2012 (2.5.0 and screenstate_scaling 1.5.2)
- Added a CPU/GPU tune file (/etc/bolt_scripts/cpugputune) that contains:
* Siyah GPU frequency/voltage tuning (with my own settings for a balanced performance/battery saving proflie).
* CPU undervolting (similar to Voltage Control, but doesn't have the limitation of Voltage Control's limits. You can set it however you want till it hits the limits that is set in your kernel itself. (Note: You will require a kernel that supports undervolting for this to work)
- To run this script, follow the same instructions as the remount script.
- I've commented out the voltage settings for CPU/GPU because each phone will have its own threshold for each (too low and it hangs). Before uncommenting, be sure to change the UV_mV_table to your own stable settings.
- To know how to undervolt, play a MKV file in software decoding using MX Video Player for 10minutes while limiting the frequency's voltage that you want to tune. Slowly decrease it (by editing it and then running the file on Script Manager) until it hangs. Then add +50mV to get a stable voltage.
- To limit a frequency, add these lines to the script:
Code:
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq;
echo "200000" > /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq;
This limits it to 200MHz (example).
- To undervolt the GPU frequency, use Nenamark as a benchmark. To limit a frequency for GPU, set all 3 frequencies to be the same. E.g.:
Code:
echo "100 100 100" > /sys/class/misc/gpu_clock_control/gpu_control;
This will limit it to 100. Then run the script in Script Manager and run Nenamark. If Nenamark cuts to black and phone fails to respond, calm down first. Press the home key and wait for it to get to your homescreen, then reboot from there.
- NOTE: Be sure to disable the remount script (untick the wheel icon in Script Manager and then reboot) before proceeding to undervolt your phone as the remount script will increase the likelihood of corruption after a phone hang.
- Also tuned the conservative and smartassV2 governor to have a threshold difference of 10 instead of 5.
2/3/2012 (2.4.1 and screenstate_scaling 1.5.1)
- Mostly comment cleaning
- Changed TCP Syncookis to false. Most kernels won't even support it. Hence its a useless change, but change it in case some kernels do support it and nope TalonDev and Siyah doesn't support it. Can't enable/disable it.
1/26/2012 (2.4 and screenstate_scaling 1.5)
- Changed zipalign script to reroute to /data/local dir instead of sdcard.
- Updated screenstate_scaling sample rates to 100k for sleep and 20k for awake.
1/23/2012 (2.3.131)
- Bugfix update by removing one line before s98system_tweak.
1/21/2012 (2.3.13, screenstate_scaling 1.4.14)
- Disabled down_differential. Too battery draining for some people.
- Tweaked smartassV2 and conservative to be more battery friendly.
1/19/2012 (2.3.12, screenstate_scaling 1.4.13)
- Fixed max_events_per_sec not tuned correctly.
- Added down_differential (only for kernels that supports this) tuning to ondemand governors that will reduce lags by a little bit.
1/15/2012 (2.3.11, screenstate_Scaling 1.4.12)
- Fixed a bug on ondemand sleep scaling. Thanks ::Crack::
- Enabled MTD block tweaking. Thanks ::Crack::
- Made all sleeping governors have 90k sample rate. Good for battery life.
1/13/2012 (2.3.10, screenstate_scaling 1.4.11)
- Tuned sampling_down_factor of ondemand, ondemandX, conservative. This should resolve the issue of getting stuck 500MHz and above (I think). Siyah tweaked the sampling_down_factor to 4 and sampling rate of 120k. Since I tuned the sampling_rate to 10k, I'll need to tuned sampling_down_factor as well.
- Tuned interactive based governors (lulzactive, smartassV2) to have a more aggressive sleep.
1/12/2012 (2.3.9, screenstate_scaling 1.4.10)
- Tuned the ondemand, ondemandX and lulzactive to have up_threshold of 85.
- Tuned hotplugging in SGSII to be performance oriented a little bit.
- Tuned smooth_* to be performance oriented a bit.
1/12/2012 (2.3.8, screenstate_scaling 1.4.9)
- Fixed SOD/deadsleeping for SGSII kernels by disabling deepsleeplevel tweaking. Some phones can't handle it.
- Tuned ondemand,ondemandX, smartassV2, lulzactive governors again. Tuned hotplug settings again also (based on the governor tweaks). Added conservative governor tweaking.
1/10/2012 (2.3.7, screenstate_scaling 1.4.8, LMK 1.0.3, 3G 1.0.5, bin files 1.1.2)
- Updated main CWM to 2.3.7 with some cosmetic cleanup of the script and also enabled a default sampling_rate of 10,000 for ondemand/ondemandX.
- Updated screenstate_scaling to 1.4.8 fixing a typo bug in lulzactive. Also updated screenstate_scaling to 1.4.9 with cosmetic cleanup.
- Updated LMK, 3G, bin files with newer updater_binary.
1/7/2012 (2.3.6, screenstate_scaling 1.4.6, restore pack 1.0.3)
- Updated restore pack to remove bolt_siyah script and update updater binary.
- Fixed Siyah v2.6.5 lockup due to Siyah having hung tasks. ThunderBolt! enabled the lockup detection. I disabled this pending fix from gokhanmoral.
- Fixed some typo errors in system_tweak (kernel.sem, dirty_writeback_centisecs)
- Made windowmgr events to have a minimum of 60.
- Increased screenstate_scaling ondemand threshold to 95 if io_is_busy is enabled.
1/4/2012 (2.3.5, screenstate_scaling 1.4.5)
- Decreased the up_threshold for lulzactive, ondemand, ondemandx, smartassV2 for faster scaling.
- Disabled smooth_target/smooth_step/smooth_offset. Brings stutters to ondemand/ondemandX.
- Fixed iostats bug - Thanks PedroMRP.
1/2/2012 (2.3.4, screenstate_scaling 1.4.4, graphics 1.0.3)
- Fixed OndemandX, lulzactive, ondemand governor suspend_freq, pump_up_step respectively and sampling_rate (for all governors).
- Commented out graphic voltage settings
- Set deepsleep levels 1 level higher, prevents SOD.
- Fixed S98graphics, save as unix file.
1/1/2012 (2.3.3, screenstate_scaling 1.4.3)
- Updated lulzactive governor to check for minimum/maximum frequency so that it can scale properly
- Updated ondemandX governor to check for minimum frequency so that it can be the suspend frequency, in which previously it was set to 200MHz by default.
12/31/2011 (2.3.2, screenstate_scaling 1.4.2)
- Fixed ondemand tweaking for certain kernels(some kernels have the path to be /cpufreq/cpu0/* rather than /cpufreq/*)
- Added OndemandX tweaking as well in screenstate_scaling.
- Added sample rate tweaking in screenstate_scaling. This will make all tweaked governors (ondemand/ondemandX/lulzactive/smartass perform faster and sleep better using screenstate_scaling.
- Tweaked lulzactive/smartass/ondemand/ondemandX to have 20,000 sample rate when screen is on. 10,000 seems a bit too much.
- Tweaked all governors to have a sample rate of 100,000 when sleeping. Battery friendly.
12/31/2011 (2.3.1, screenstate_scaling 1.4.1)
- Moved SGSII tweaks onto another file (S98bolt_siyah)
- Made heap_size tweak to be 64MB by default or 80MB if greater than 64MB (in build.prop). 48MB or 64MB doesn't really make a difference. Haven't seen an app consume more than 32MB of heap yet.
- Commented out max window events. Each phone is different. Defaulting this to 60 seems wrong.
- Used an if/else on the idle_sleeping_frequency for smartassV2.
- Commented out sampling_down_factor. Some phones can't take it.
- Finally figured out why touchscreen tweaks aren't working :S I saved it using the wrong format! It should be UTF-8 [unix] instead of UTF-8[windows]. Facepalm!
12/30/2011 (2.3.0, screenstate_scaling 1.4.0)
- Updated 2.3.0 with minor editiing of sdcard tweak arrangement, smartassV2 and lulzactive governor tweaking, and SGSII tunables (hotplugging, bus frequencies etc).
- Added i9100 restore pack
- Used newest updater_binary. All the older CWM zips are not using the newer binary. Just update it with the file I've uploaded in the 2nd post.
- Forgot to add this: Enabled sampling_down_factor of 2 while screen is on. Might cause reboots/hangs if you've undervolted your top frequency (e.g. 1GHz) extensively. Recommend to add 25mV if you're facing issues.
12/17/2011 (2.2.0, screenstate_scaling 1.3.1)
- Updated 2.2.0 with CFSK as the default CFS. CFSK is still the fastest based on some feedback.
- Updated 1.3.1 for screenstate_scaling. Disabled sampling_down_factor as it makes the phone unstable when sampling rate is too low. If you're still getting reboots, please add 25mV to 1GHz.
12/13/2011 (2.1.9, screenstate_scaling 1.30, restore packs 1.0.2, all others)
- Updated main CWM to v2.1.9 with CFS 1.9.4 as the default due to popular demand.
- Renamed all the CFS scripts that have extensions. init.d can't load CFS's that have extensions (I tried using 1.9.4 and it didn't work when it had the .9.4 extension)
- Added io_is_busy and sampling_down_factor to ondemand. Will increase the performance while awake as sampling rate will be faster, and frequencies will stay very flexible when near 1GHz. io_is_busy will ensure that I/O operations utilizes high frequencies ~400-1GHz rather than being 100Hz when CPU is mostly idle. Will prevent microlags.
- Changed the screenstate_scaling ondemand up_threshold to 95 while awake and 98 while asleep to increase battery savings since microlags are eliminated almost completely from the above setting.
- Updated all addons' updater_script to ensure installation of consecutive CWM zips are correct.
12/10/2011 (graphics 1.0.1)
- Used the wrong updater_script for the graphics addon. Corrected this mistake.
12/10/2011 (2.1.7)
- Removed sleep_mode setting. Could be the culprit of sleep-deaths and/or reboots/instabilities.
- Separated the graphics acceleration tweaks to an addon. Might not work with some phones or it can cause instabilities. Please test it out for me.
- Discontinued the L version as CFS might not be the culprit for sleep-deaths/instabilities.
12/7/2011 (2.1.6L)
- Tuned down the CFS aggressiveness in the v2.1.6L after a few complaints about devices that can't wake up received.
12/5/2011 (2.1.6)
- Updated updater_script to remove bolt_scripts. I moved the directory hierarchy a bit in the last version (forgot to add that). Hence, removing it so that people will realize the scripts are in a different position already.
- Users have to manually readd remount scripts in Script Manager because of the above change.
- Added remountCM7MIUI-fullext4. A variation of CM7/MIUI that doesn't use yaffs2. Renamed the original remountCM7MIUI to remountCM7MIUI-yaffs.
- I just noticed that CFSK is actually the wrong CFS I wanted to use. Edited CFSK with the correct values. Should feel much smoother.
- Revamped most of the echo tweaks to use sysctl instead. Might make it compatible with ICS.
- Increased Dalvik heapsize to 48MB (another 16MB won't hurt much).
12/3/2011 (2.1.5)
- Added N7000 remounts.
12/2/2011 (2.1.4)
- Integrated some MintBolt! tweaks, notably the noda_auto_alloc and build.prop. The build.prop shouldn't change anything much but the noda_auto_alloc should make I/O transaction a little faster at the expense of corruption risk, which is small by the way.
- Fixed the sqlite_optimize by using busybox find instead. If you can't do busybox find, it means your busybox symlinks are broken. Contact your kernel/ROM developer for a fix.
11/27/2011 (2.1.3/Screenstate_scaling 1.2.3/80MB + 60MB 1.0.3/3G 1.0.3)
- Fix for 3G CM7/MIUI (I think) by removing some settings that doesn't do anything.
- 80MB/60MB LMK modified to be better at performance but sacrifices a bit of multitasking.
- ChainFire's touchscreen tweak integrated. Touchscreen more sensitive.
- Screenstate_scaling edited to be a bit more battery saving.
- CFS moved to another file (CFS experiments moved to bolt_scripts. If you would like to use another CFS, delete the one in init.d and copy the one you like back to init.d)
- sqlite_optimize and darky_zipalign improved to support Script Manager that doesn't symlink xbin/sbin automatically.
- Added SGSII remount
- Reduced readahead for phone mounts (non-sdcard mounts) to 256. This would reduce Quadrant I/O score by a significant value, as higher readahead boosts Quadrant scores. Quadrant is USELESS!!!!!1111 Link. Sdcard readhead is still 1024.
11/25/2011 (LMK 1.0.2)
- Fixed the Talon swappiness/ZRAM size typo
- Fixed the 80MB LMK typo
11/24/2011 (2.1.2/bin files 1.10/80MB LMK 1.0.1)
- Updated main ThunderBolt! CWM to v2.1.2 with most voted/best feedback values. Expect your phone to become super smooth from here. Also, let me know if you're suddenly facing FCs/reboots/apps failing to work because of this.
- Updated bin files addon with Fugutweaks ICS. (LINK)
- Added 80MB LMK. Very minimal/no multitasking, potentially more performance.
- Updated sqlite_optimize script to determine if /dbdata and /datadata is there before optimizing the *.db files under them. Less errors I guess. No difference, just a cosmetic change.
- Added SGS4G remounts.
- Updated Talon LMK settings to have 64MB swap and 40 swappiness. Less swap, more tangible RAM. Less swappiness, less RAM is compcached to swap.
11/23/2011(CFS Beta Pack/LMK addon 1.0.1)
- Added CFS Experiment #3. All of them are based on Experiment I. Please test them.
- Updated LMK addon Supercharger by removing some delay coding and build.prop sed. Seems to be removing the haptic feedback if you start it when you first start the OS (on a cooked ROM)
11/22/2011 (CFS Beta Pack)
- Added CFS Experiment #2 with 1.9.1 and CFS Experiments I. CFS Experiment I is based on 1.9.4 (with a little bit of difference). Let me know if this performs better or worse than 1.9.4.
11/22/2011 (3G 1.0.1)
- Fixed a typo in the hashbang (extra space)
11/22/2011 (Screenstate_scaling 1.2.2)
- Added CFS beta pack
- Fixed a typo hash on the sleep governor echoing.
11/21/2011 (2.1.1.1)
- Removed process renice in system_tweak and screenstate_scaling. Greater smoothness ... for games as well?
- Birthday edition. Notice the version. Yes, it's my birthday at the current moment/day.
11/20/2011 (2.10)
- Found a sweet spot for CFS. Not too aggressive, not too passive and gaming seems to be as smooth as the last time around.
- Found a semi-sweet spot for VM. Tweaked VM to be less aggressive.
- Overall smoother experience!!! Try it!
11/20/2011 (2.0.1)
- Changed VM settings slightly. Made expire to be 30 seconds, but kept the writeback to once every 2 seconds. Should provide a smoother garbage collecting.
- Removed ksoftirqd from being reniced and changed the renice priorities of each app. Should provide a smoother experience.
11/20/2011 (2.0.0)
- Revamped CFS tweaks by making rationalizing the values to a few rules (Values not be 500,000 for each sched_*_ns and latency should be 4 times the min_granularity). Should reduce problems associated with sudden lags or games that are not working correctly or apps that are not working correctly. This is a wide assumption, hence it's not an all encompassing fix, but it should make things work better in the long run.
- Revamped VM tweaks to increase garbage collection of caches and reduced cache ratios so that its getting written much easier. Should reduce microlags by a bit.
- Increased semaphore limit by a bit. Just increasing the limits, wouldn't affect much too, but set the recommended limits.
- Added shmmax and msgmni tweaking. Increased shared memory segments and messaging (thread messaging related). Wouldn't affect much too, but set the recommended limits.
- Added renicing of apps for phone,sms,keyboard,system ui, some important system apps to have higher priority than other processes. Increased smoothness on those apps.
- Added discard mount option to all ext4 mounts. Automatic TRIM is induced to increase write speed of all SSD type mounts in the long run. You'll not feel this at the beginning, but once you've used your disks continuously in the long run, the write speeds will increase by a bit.
- Revamped VM tweaks and added renicing processes for screenstate_scaling. Will scale those by screen behaviour.
- Renamed the CWM zips by removing the duplicate i9000.
11/18/2011(1.9.4)
- Reduced CFS aggressiveness. Lags when playing games and unbootable device issues should be solved by this.
- Updated Supercharger to Update 9 RC3.2. Not sure if this fixes the missing haptic feedback if ThunderBolt! is integrated into a ROM, but please try this out.
- Made screenstate_scaling an addon as some MIUI/CM7 users can't figure out how to delete a file from a zip file.
- Updated VM settings in screenstate_scaling and system_tweak to a all rounded setting. Memory should be cleanly allocated from RAM to Cache to RAM. Would need to experiment if this works out better or not.
- Made LMK an addon since its already stable. Making 6 CWM zips all the time when updating to a new version is painstaking, and makes it longer for me to release an update.
- Made some bugfixes to all updater scripts including the restore packs and addons. Recommend to redownload all addons/restore packs.
I don't understand. What is that?? thanks
EDIT: Thank you for your great work pikachu01 !!!!! *__*
raXoN91 said:
I don't understand. What is that?? thanks
Click to expand...
Click to collapse
I will upload a flashable collection of scripts here in an hour Wait for it
Ok Can I flash it on every Rom?
raXoN91 said:
Ok Can I flash it on every Rom?
Click to expand...
Click to collapse
Yes, you should be able to flash it on every ROM.
This is sure to be as fast as Usain Bolt
Hi pikachu, what is the sqlite3 binary for?
cheers
MintBerryCrunch said:
Hi pikachu, what is the sqlite3 binary for?
cheers
Click to expand...
Click to collapse
The sqlite3 binary is used with the system_tweak script. The script will vacuum the *.db files in /dbdata to make it smaller and faster.
More info:
http://www.sqlite.org/lang_vacuum.html
OK. Uploaded the CWM file. Just flash and enjoy
Be sure to read the instructions beforehand to know about its known issues.
Most recent changelog is here:
Code:
UPDATE 10/10/2011
[B]
- Modified I/O scheduler tweaks to check before applying, as it depends on the scheduler you use (CFQ/VR/SIO). Also read up a lot on I/O schedulers. From best to worst (when tweaked), for flash devices (SIO > Noop > Deadline > VR > BFQ > CFQ). I will provide the explanation on the Tips thread.
[/B]
- Changed the default readahead to 512, all other readaheads are still 1024 (sdcard etc)
[B]
- Added an overcommit_memory tweak that seems to stave of memory leak problems that causes lagginess (confirmed by a few people including me :P).
[/B]
- Commented out net.ipv4.tcp_mem. Better to have it recalculated by the amount of usable RAM by the kernel.
- Added check before applying to some TCP tweaks (IPV6 related)
- Reduced hsupa.category prop to 6 as theoretically SGS can only reach up to 6 on HSUPA.
- Fixed AGPS prop setting. It was not applied correctly
- Reverted ring delay to 500. Seems to work better I think (from experimenting)
- Check before applying on /proc/sys/kernel/sem
- Check before applying on /procy/sys/kernel/sched_features
Most important changes in bold.
Translation:
* Reduced lagginess
* Improved I/O performance on some schedulers.
Hi,
Thanks a lot for the script.
One question, will this work on miui?
DonVito2020 said:
Hi,
Thanks a lot for the script.
One question, will this work on miui?
Click to expand...
Click to collapse
The main CWM should work. The remount script won't work.
Let me know how much speed increases you got
finally.. come out with new nice name.. haha.. gratzy!
DonVito2020 said:
Hi,
Thanks a lot for the script.
One question, will this work on miui?
Click to expand...
Click to collapse
Wait, is MIUI/CM7 using /dev/block/stl9 as /system? If not, the CWM zip might not work (it could work if /system was already mounted).
Flashed successfully over my JVS Rom. And set it to start on the boot. Thank you
raXoN91 said:
Flashed successfully over my JVS Rom. And set it to start on the boot. Thank you
Click to expand...
Click to collapse
Glad you like it
Feel any faster?
Is there some new memory freak settings to use with this zip or your old one are still good?
Mopral said:
Is there some new memory freak settings to use with this zip or your old one are still good?
Click to expand...
Click to collapse
Yeah, there's a new one, in my sig Since memory leak is fixed at my side, i'm using a more aggressive setting.
-------------
Also, my take on I/O schedulers and why I said SIO>NOOP>Deadline>VR>BFQ>CFQ
http://forum.xda-developers.com/showpost.php?p=18291071&postcount=251
Very nice job, wouhh
About the remount script, you say we have to launch the remount script with script manager, if I check run as boot, so I don't have to create a script remount (post 2) for each reboot?
superwahwah said:
Very nice job, wouhh
About the remount script, you say we have to launch the remount script with script manager, if I check run as boot, so I don't have to create a script remount (post 2) for each reboot?
Click to expand...
Click to collapse
If you already check it to run at boot, there's no need to run it again
Hello everybody, I was asked to bring this mod over from the EVO 4G LTE section and since the One X and One S use the same file I am modifying, both devices will get it This is also untested on the One X and One S, so please let me know if you encounter any issues, but it should work! This will ONLY work on phones with the Qualcomm S4 chipset, not the Tegra chipset!
This is a mod that should give you better performance by forcing cpu1 (second core) to run more, depending on the zip you flash below. The system will handle how it scales and the dcmhelper script will modify some parameters if you choose that zip. Some people on the EVO 3D felt that it gave them better battery life, some didn't. Some thought the performance was much better, some didn't. This is just something else for you guys to play with and see what works best for you Here are the details:
=============== How was this done? ===============
It was pretty easy, instead of modifying the kernel itself, I just modified /system/etc/init.qcom.post_boot.sh. It already sets extra parameters for the CPU and system shortly after boot. Here are the lines that I added:
Code:
echo 1 > /sys/devices/system/cpu/cpu1/online
chmod 444 /sys/devices/system/cpu/cpu1/online
What this does is it tells cpu1 to come online and then changes the permissions so user read-only so that it can't be overridden. This will be applied on every boot.
You can also verify this is working by any number of apps, but I find SystemPanel to be the best. They have a free lite version. Just download and tap on the top right where the CPU info is. You will the the CPUs changing, when it goes grey it's offline (which you won't see when using the Dual Core Mod).
aLogcat will also show you everything DCM is doing. Just apply a filter in aLogcat called DCM and it will tell you in detail what is going on.
If you want a little bit less info or want to use adb, just type su and then dcmlog and you will see what the 2nd core is doing exactly. This is updated every 1/4 second for extremely accurate results.
Click to expand...
Click to collapse
=============== Requirements ===============
Custom recovery
Root access (to write to /system)
Click to expand...
Click to collapse
=============== How to Flash ===============
Download the mod below and place on your internal_sdcard or sdcard (doesn't matter, just remember where you put it!)
Go into Settings > Power > Fast Boot and uncheck that.
Turn the phone off. Once off, press and hold the Volume Down + Power Button until you reach the white bootloader screen
Choose "RECOVERY" (volume down and up to move, power to select)
Choose "Install" and locate the mod wherever you put it. NOTE: If you don't see it, make sure that either internal_sdcard or sdcard is mounted. This can be done via the "Mount" button at the main menu of TWRP. Be sure that either internal_sdcard or sdcard is checked!
Wait until the install is finished and then tap "Reboot to System"
Click to expand...
Click to collapse
=============== Dual Core Mod v2.1 (flash over any existing version) ===============Updated dcmhelper
Fixed issues with cpu1 turning off when screen on
Fixed issues with cpu1 turning on when screen off
Added double check for cpu1 off when screen off
Added logging to logcat
Updated init.qcomm.post_boot.sh
Set perms of 444 on hotplug file, regardless of dcmhelper present or not
Other
Added /system/bin/dcmlog (type su then dcmlog from terminal or adb) - Tells you current cpu1 status [0 = off, 1 = on]
=============== Dual Core Mod v2 (flash over v1) ===============
MANY new options!
Added "Screen Profiles" and "Auto Tweak" script option (all located in one configurable file - /system/bin/dcmhelper) - see 2nd post for more info
Added "Memory Optimization" option - see 2nd post for more info
Support AT&T HTC One X
Support T-Mobile One S
"All-in-One" .zips - all devices supported via 1 .zip file (thanks to a very smart updater-script I wrote )
=============== Dual Core Mod v1 ===============
Initial release
Click to expand...
Click to collapse
=============== Explanation of Mods===============
All DCMs have memory optimizations!
Dual Core Mod - Full time cpu1 on
Dual Core Mod Plus - cpu1 on when screen on, cpu1 off when screen off
Dual Core Mod Ultimate - Same as Plus but governor is tweaked for more performance when screen on, more battery life when screen off.
Click to expand...
Click to collapse
=============== Downloads ===============
Dual Core Mod v2.1 Ultimate
Dual Core Mod Back to Stock
Click to expand...
Click to collapse
=============== Credits ===============
Freeza for doing this on the EVO 3D where I got the idea from
rohandhruva, remedy1419, and ewalk4866 for EXTENSIVE testing to fix issues and make DCM better
Click to expand...
Click to collapse
It has been asked to make it easier to donate for people using Tapatalk, so here are the links...
Donate to -viperboy-
http://bit.ly/n7sB9g
More Info
=============== How are all supported phones in 1 zip per file? ===============I wrote a custom updater-script that will identify your device and automatically give you the right file needed. Just like magic
Click to expand...
Click to collapse
=============== How can I monitor the 2nd core? ===============You can also verify this is working by any number of apps, but I find SystemPanel to be the best. They have a free lite version. Just download and tap on the top right where the CPU info is. You will the the CPUs changing, when it goes grey it's offline (which you won't see when using the Dual Core Mod).
aLogcat will also show you everything DCM is doing. Just apply a filter in aLogcat called DCM and it will tell you in detail what is going on.
If you want a little bit less info or want to use adb, just type su and then dcmlog and you will see what the 2nd core is doing exactly. This is updated every 1/4 second for extremely accurate results.
Click to expand...
Click to collapse
=============== What are the "Memory Optimizations?" ===============The optimizations I made are the same that I have made in viperROM. They are as follows:
echo "0,4,6,8,14,15" > /sys/module/lowmemorykiller/parameters/adj
echo "2560,4096,6144,7680,8704,10240" > /sys/module/lowmemorykiller/parameters/minfree
Click to expand...
Click to collapse
This will allow better multitasking and should eliminate any issues with apps being killed off very easily.
Click to expand...
Click to collapse
=============== What are the "Screen Profiles?" ===============The screen profiles are part of a custom script, located in /system/bin/dcmhelper. Once flashed, this .zip runs in the background to monitor screen state (uses hardly any power). When you choose a .zip with this in it, the phone won't just leave the second core always running - it will turn it off when the screen is off and on when the screen is on. This is done via this code here:
while : ; do
awake=`cat /sys/power/wait_for_fb_wake`
if [ $awake = "awake" ]; then
echo 1 > /sys/devices/system/cpu/cpu1/online
awake=
fi
sleep=`cat /sys/power/wait_for_fb_wake`
if [ $sleep= "sleeping" ]; then
echo 0 > /sys/devices/system/cpu/cpu1/online
sleep=
fi
Click to expand...
Click to collapse
Pretty simple and straightforward
Click to expand...
Click to collapse
=============== What is the "Auto Tweaking Script?" ===============The auto tweaking script is the second part of a /system/bin/dcmhelper. This part of the script will set certain governor settings based on the screen being off or on. In the viperROM version, the screen on settings are the same as in the ROM. In the other versions, the screen on settings are more set for performance. I intentionally kept the same settings in the viperROM version to make sure you get as close to the same battery life as unmodified viperROM. Here is a code snipit (from the non-viperROM version) that shows what the settings are:
ondemand_sampling_rate_awake=40000
ondemand_up_threshold_awake=80
ondemand_down_differential_awake=12
ondemand_sampling_down_factor_awake=3
ondemand_sampling_rate_sleep=80000
ondemand_up_threshold_sleep=95
ondemand_down_differential_sleep=5
ondemand_sampling_down_factor_sleep=1
Click to expand...
Click to collapse
Long story short, when awake, it will check if the CPU needs to increase speed faster and in bigger steps. When asleep, it will wait longer before polling the CPU to scale up and it will take a more gradual approach to scaling up. However, you shouldn't experience any lockscreen lag.
Click to expand...
Click to collapse
=============== Long Term Goals for Dual Core Mod ===============
Config file and script for users to set their own settings
Profiles for battery
Set max freq when screen off (will affect virtuous_oc daemon in viperROM, still working on that)
Click to expand...
Click to collapse
Any feedback about theses scripts (the "full one" w ith screen+memory+tweaks) on our lovely One S stock/CM9 ? It seems to be a very good option while waiting the OneS sources!
Good Job, will test it soon
Nice, good job!
Would these mods have any effect on custom roms like Lee Droid's and torxx
snwman said:
Would these mods have any effect on custom roms like Lee Droid's and torxx
Click to expand...
Click to collapse
I took a look at the scripts... It should be compatible with Stock (and derivated ROMs like LeeDroid & so on), as on CM9/AOSP ones. The scripts seems to affect on low-level files (/proc) related to the chipset, so the affected files should be present on both Stock/AOSP ones.
I'm under CM9 for now, but a Stock feedback can confirm this? You?
Thanks to me ;-) Well he came here
EDIT: lol sorry, didn't see it was a flashable zip
So, flashed the ZIP, but cpu1 never comes online... The script disables it permanently? I expected a cpu1-offline under a load factor, and goes online over another load factor.
plakers said:
EDIT: lol sorry, didn't see it was a flashable zip
So, flashed the ZIP, but cpu1 never comes online... The script disables it permanently? I expected a cpu1-offline under a load factor, and goes online over another load factor.
Click to expand...
Click to collapse
The One X guys seem to be having issues as well, it's hit or miss. Of course, I don't have issues in my testing lol what file did you use?
by linpack bench I can say 204 (and up) is stable score now.
in quadro bench:
before cpu score is 8486.
after cpu score is 8732.
so it's working.
Regards !
Thanks very much for this mod, going to try it out right now. Some questions on my part: (1) can this put any long-term additional stress on the cpu by forcing it to work more? (2) If a ROM is updated, does the script need to be flashed again after flashing the ROM? Again, thanks a lot; will try it out now and report my findings on the LeeDroid ROM.
Closed Source Project said:
Thanks very much for this mod, going to try it out right now. Some questions on my part: (1) can this put any long-term additional stress on the cpu by forcing it to work more? (2) If a ROM is updated, does the script need to be flashed again after flashing the ROM? Again, thanks a lot; will try it out now and report my findings on the LeeDroid ROM.
Click to expand...
Click to collapse
No, no added stress and yes, you will likely have to reflash after a ROM update since most ROMs wipe /system where this script is located.
The script installed fine and my ROM booted up nice and fast. I will now do benchmarks and other daily tasks while observing my battery life and report back with my final findings in a few hours. So far seems good.
I am on LeeDroid's latest with the full script installed (tweak scrip+mem opt+screen prof).
How did you come about those minfree values? Do you know offhand how the numbers in your script compare to those used by the minfree manager app (i.e. MFM uses MB, are your numbers in KB?)
My results: Battery seems to be better, yet performance is not so much. Both Quadrant and Antutu benchmarks show slightly lower scores than what I got right before flashing the mod. The difference is very minimal, just curious as to why it would be lacking ever so slightly. The general UI seems just as snappy as before.
Is there an app to view exactly what the CPU is doing and how many cores are running? If so, please share! Thanks.
Closed Source Project said:
My results: Battery seems to be better, yet performance is not so much. Both Quadrant and Antutu benchmarks show slightly lower scores than what I got right before flashing the mod. The difference is very minimal, just curious as to why it would be lacking ever so slightly. The general UI seems just as snappy as before.
Is there an app to view exactly what the CPU is doing and how many cores are running? If so, please share! Thanks.
Click to expand...
Click to collapse
Working with some people in IRC to improve everything. And yes, SystemPanel Lite, as said in the OP
-viperboy- said:
The One X guys seem to be having issues as well, it's hit or miss. Of course, I don't have issues in my testing lol what file did you use?
Click to expand...
Click to collapse
I used the modV2 with CPU/RAM/Tweaks, the full one.
Dual Core Mod v2 w/ Screen Profiles AND Auto Tweaking Script AND Memory Optimizations
And only first core is active ...
plakers said:
I used the modV2 with CPU/RAM/Tweaks, the full one.
Dual Core Mod v2 w/ Screen Profiles AND Auto Tweaking Script AND Memory Optimizations
And only first core is active ...
Click to expand...
Click to collapse
I have a fantastic group of testers, we got this sorted out. Just going over the final small details now, but I will have all new builds up in 30-60 mins confirmed working!
-viperboy- said:
I have a fantastic group of testers, we got this sorted out. Just going over the final small details now, but I will have all new builds up in 30-60 mins confirmed working!
Click to expand...
Click to collapse
Yeahhhh haaaaa!!!
hehe good testers, for good scripts man!
Updated to v2.1! Much, much improved thanks to my 3 great testers rohandhruva, remedy1419, and ewalk4866 for testing numerous builds and spending hours making sure this is as bulletproof as possible. Please see the OP for full changelog. A few other notes about v2.1:
I dropped a few of the versions because there were hardly any downloads on it. The "3 in 1" had literally 10 times the amount of downloads as some of the other versions. Based on this, memory optimizations are included in all builds. The naming scheme has changed as well, info in the OP.
Please use aLogcat if you want to view everything DCM is doing. Just apply a filter in aLogcat called DCM and it will tell you in detail what is going on. If you want a little bit less info or want to use adb, just type su and then dcmlog and you will see what the 2nd core is doing exactly. This is updated every 1/4 second for extremely accurate results.
Battery life should be very good on Ultimate because of the settings I have set. If for some reason you can verify that the mod isn't working by using what I said above, please let me know. I have verified with numerous people that it works, so it could be a minor issue in the flashable .zip. I'm not anticipating any issues, but anything can happen.
Enjoy
SmoothMod Kernel (SMK) for Samsung Galaxy Tab 3 8.0 3G (SM-T311), also may work on WiFi version (SM-T310), all stock and CM ROMs.
Development discontinued, read reason here.
This kernel is developed to give you more smoothness and stability than you can have on stock kernel and others.
Warning. Kernel may work on your device/ROM and may not. For me it works at all ROMs and for many people (on 4PDA.RU forum) it works too. Some people say (or said before kernel worked, this also can be) it doesn't work. So do a kernel backup please before you flash it first time. I've never had boot or usage problems with SMK, but it could be because i'm its developer (though it can not be the reason for that I'm always successfully boot it..). So it seems that our devices of the same model might be different. Be careful as I can not help you.
Features:
- Kernel version updated up to 3.2.26 and keeps updating
- Safe CPU overclock to 1.9 GHz with CPU-Boost kernel driver developed also by myself
- Custom (and only here) governor Smooth that is made to give both good battery saving and absolute smoothness. Uses GPU load and io_wait to additionally increase frequency at the right time.
- Kernel has a custom Android service smkd that controls all its features and provides many tweakable settings that you can change very simply: through terminal command "smkd" (instructions below) or "by hands" at folder "/smk" (like usual linux kernel settings at "/proc/sys/{kernel|vm|net}"). The program is written in C language, not as a script, for performance (shell-scripts are very slow when comparing with optimized C-programs).
- Tweak Menu that can be found if you type 'smkd' in your terminal.
- SmoothnessControl - one of smkd's functions that tries to guarantee UI smoothness to your tablet even if there are very CPU-hungry (but not I/O) apps/programs running like android.process.media and others. By default disabled. To enable, type this: 'su -c "scd --enable"' in terminal emulator. To disable, type 'scd --disable'.
- CPU Undervolt controlled through smkd.
- DynBS program (also developed by me) used by smkd to improve battery saving by 40% and more.
- Boeffla Sound Engine with custom settings, not working with Boeffla Sound Control app because smkd controls them (it's needed because smkd fixes engine's sound effects bug). Settings are stored folder "/smk" in files beginning with "boeffla.".
- Cron scheduler configured from file /sdcard/cron/root.
- All the custom tweakable settings described upper are reloading instantly after you change them or on delete (cron schedule file is also under the same watch).
- Kernel is compiled with optimized HYPER-TOOLCHAIN with gcc version 6.0 and maximally optimized compiler configuration.
Customizing kernel:
There is now nothing that needs to be explained, as customizing is pretty simple! Just type command 'smkd' (without quotes) and go through the menu (by entering appropriate symbols) as you want, changing parameters as you need.
Ask, if you have questions
If you have questions or suggestions about my kernel, feel free to write about that here and I will try to answer.
F.A.Q.:
Q.: Do I need to wipe Dalvik/ART cache before/after flashing this kernel?
A.: It is even not useful to wipe caches because they are used by Android only, not by kernel. So, it's not needed.
Q.: The kernel does not boot! What do I have to do to boot it?
A.: Write a message in this thread providing info about what ROM do you use, what Android version it is and what kernel build (kk/lp/mm) and version you are trying to boot. I will reply to that message and try to fix that problem.
Author: me, igoryan94
Download from Google Drive
Before flashing this kernel please do a backup yours first!
Warning! If you have a Jellybean/Kitkat rom, then download the smoothmod-kernel-kk-... build. If you use Lollipop (CM12), then your build to download will be ...-lp.... If it is a Marshmallow (CM13), then download mm build.
Other choice will cause your device to not be able to boot!
(Sorry for my (maybe )bad english)
Plans:
-
Developing now:
-
Changelogs (old*):
1.2.1/1.2.2:
- Returned possibility to load a profile from command line (command 'smkd --load [name]' or 'smkd ld [name]')
- Added custom setting for apps CPU time, now it has two groups: idle and high.
Idle group gives an app very small amount of CPU time, use for hungry apps that you don't need.
High group grants an app a 95% of all CPU time. Use to speed up some apps or games.
It is all very similar to Greenify and others, excepting that this is not battery saving solution, only to smooth up your Android, as Greenify disables an app and CGroup lowers app's CPU execution time available to it.
- I/O settings fully rebalanced for smoothness for system processes and apps processes
- Also added control group for I/O that does like one for CPU, but for I/O and developed its correct (for Android) behavior.
- Current configuration name in smkd menu now correctly saves and loads after reboot.
- Default LMK level changed to 125
XDA->SMK:
1.2:
- Got a smoother UI with better CGroup tweaking
- In case of some situations smkd will notify user with drawing a small square of some color at the left upper screen edge (portrait orientation). For overheat the color is red. When SmoothnessControl gets to work, color is light blue/cyan. If device's load is too high, the color will be blue.
"Notification" will blink when screen updates because the framebuffer devices are not support this method of screen drawing. But it works for now and I think that it is very useful to know the reasons of device's lags and freezes.
- Menu now immediately reacts to input, instead of pressing some characters and then Enter. Modified all menus that way so the interface is now much better.
- When exiting menu, parameters are automatically saved to default profile. No need to care about it anymore...
- Added Quick settings also to RAM and I/O
- Main menu: moved all "p)" menu elements to main menu level, it is quicker to access now
- Some more Quick settings options added
- Added Quick settings to my menu templates, so I will add this to most of the new menus in the future
- Main Quick settings colors changed to blue, additional are still white
- Overclock to 1920 MHz lowered to 1800 MHz because 1800 is much more stable (1920 causes reboots on Marshmallow on my tablet)
- Device now reboots when charging speed is too bad. By default this is disabled. Also added setting "Charge cycle time" and Quick settings for that so you can quickly set up to what charge speed you need (reboots are helpful but not very good for users that want to play device when it charges).
- 'Boost' feature disabled so now DynBS will work as always even when device is laggy
Previous:
1.1.22:
- CPU, Boeffla Sound and Network setting menus in smkd now have the Quick settings feature that helps to configure them by one click instead of tweaking them each
1.1.21.1:
- DynBS updated: now it uses frequencies from 350 to 700 MHz too, so more battery can be saved.
1.1.21:
- smkd now has menu interface which opens by default by command 'smkd' without options.
- All setting commands are removed. Use menu instead.
- In Cyanogenmod ROMs SystemUI is restarted every time when screen becomes disabled, so you may never see it lags or freezes again.
- PCS renamed to SC (SmoothnessControl).
- Overclock enables when device is laggy even when it is disabled in settings
- Redone temperature control: now smkd monitors a device temperature instead of CPU. It leads to better smoothness. Also overheat situations disable some functions like I/O readahead, ZRam, KSM.
- Overheat prevention function fully removed
- Governor Smooth now enables both cores on gestures with two or more fingers instead of simple tap.
1.1.20:
- Added charging compensation: now when battery charging is too slow, CPU Topology and voltage will be changed appropriately for quicker charge.
- Touch boost changed from 1400 to 1000 MHz, but it also boosts busfreq to 400 instead of 267 MHz. Results in better reaction on screen touch.
- Governor Smooth's default sampling_rate changed from 27000 to 16000 for quicker reaction
1.1.19:
- Added ARM CPU Topology for better multithread scheduling
- Some CPU Scheduler changes for smoothness or power saving (tweakable)
- Improved smkd UI code
1.1.18.1:
- Fixed performance/smoothness problems.
1.1.18:
- Added new default configuration "throughput"
- GPU acceleration is now forced for all apps and it is changeable from smkd.
- I/O scheduler SIOPlus added.
- DynBS is returned (one user asked for it as it really saves battery, as he said).
1.1.17:
- User profiles are no more exist, replaced with default configurations" instead. They are: smooth, battery, ram and cool. After each launch of smkd (mostly on reboot) configurations are removed and recreated to always be fresh and up to date.
- Added ability to create, rename and delete profiles by normal way, but default profiles cannot be replaced, deleted or renamed through smkd (only "by hands").
- GPU settings: composition and forced GPU-acceleration from Android settings for developers.
- Tripndroid and Zen I/O schedulers are added.
1.1.16.1:
- Configurations loading is now be always successful (but only if appropriate file exists), without that annoying errors "try again later, please..."
- Small tweaks optimization
1.1.16:
- Overclock now disabled by default, as it was on 1.1.14 and before, for battery saving (overclock eats too much battery). Can be enabled with command 'smkd -c -o 1'. Temperature control is now optimized for both CPU overclock and hardware maximal frequency modes.
- smkd interface improved a little.
- KSM functionality added with some fixes for Mali GPU driver bugs in userspace.
- Default temperature limit is now 64 C (before it was 67 C). This is done for more stability when the weather is hot.
- Some changes for smoothness and stability...
1.1.15:
- Overclock is enabled now for any time when screen is enabled (no more boost).
- Developed overheat preventing functions that cool device when temperature is between 90% of threshold and higher. CPU frequency will be set according to temperature for the moment (for every 2% will be a different frequency). Function can be disabled but it is not recommended.
- All cooling functions now control voltage too to be more effective.
- Governor Smooth tweaked for more balance (oc_nr_run_threshold->6)
- Governor Smooth: changed logic: half-overclock (to 1.7 GHz) will occur if number of processes running is a half of oc_nr_run_threshold tunable.
- smkd now controls I/O scheduler and I/O readahead settings, they are tweakable with smkd command. Profiles change this parameters too.
1.1.14:
- smkd tweaker program fully translated to english and comes now in two languages. Now it uses Android's property 'persist.sys.language'.
If your device configured for any language excepting russian, then program will be in english for you. At the other case it will print out text and messages in russian.
- Improved custom configurations in smkd. Now it loads profiles synchronous with service (by using mutex) instead of relaunching it with shell stop/start (it was too slow and even buggy to do that).
- DynBS will not be in kernel anymore, it is not so effective as needed. Instead, I've added a profile tweaks for my governor Smooth, that tweaks easily changeable from smkd (cmd. "smkd -c -s [0-2]").
1.1.13:
- Cron scheduler now works correctly (i'm happy ), doing exactly what was scheduled by the user at the exact times.
- I don't remember what was in this version because forgot this as I worked on 1.1.14 intensively.
-----
* Newer versions contain changelogs in install archive itself.
Very good kernel. Use [5.1.1] Resurrection Remix 5.5.9 + SMK 1.0.20.1 lp.
Nerovinger said:
Very good kernel.
Click to expand...
Click to collapse
Thanks
stuck at bootanimation..
Sent from my SM-T311 using XDA-Developers mobile app
so.hell said:
stuck at bootanimation..
Sent from my SM-T311 using XDA-Developers mobile app
Click to expand...
Click to collapse
What ROM do you use? Android version, SMK version?
AICP BY GR8NOLE.
SMK V-1.1.12
i try dirty flash n clean flash.stuck at bootamination..
Sent from my SM-T311 using XDA-Developers mobile app
so.hell said:
AICP BY GR8NOLE.
SMK V-1.1.12
i try dirty flash n clean flash.stuck at bootamination..
Sent from my SM-T311 using XDA-Developers mobile app
Click to expand...
Click to collapse
Looks like it will not work on AICP ROM, on Cyanogenmod 13 and ResurrectionRemix kernel works fine (I've tested that)... Sorry The reason for that I can not fix this problem is that I do not know (even cannot know) how to make an init.rc (this file starts all Android services on boot) file universal (to support absolutely all ROMs at one time). This is also the reason for three builds of kernel: kk, lp and mm...
Nice kernel. But can you please make a version of your kernel work with the T310 (WiFi)?
Stuck at Bootanimation
ROM: Resurrection Remix 5.6.9 by powermetza
Android Version:6.0.1
SMK version 1.1.12
pawas99 said:
Stuck at Bootanimation
ROM: Resurrection Remix 5.6.9 by powermetza
Android Version:6.0.1
SMK version 1.1.12
Click to expand...
Click to collapse
Try to flash on a clean ROM (with backup of cource)... All fine for me on RR.
Luis_0 said:
Nice kernel. But can you please make a version of your kernel work with the T310 (WiFi)?
Click to expand...
Click to collapse
I can't as i don't know much about modding in '/init.rc' script and also about what differences it has in kernels for T310, T311 and T315... Sorry.
There are too much incompatibilities with builds that are now (they must work everywhere but they don't)...
Ok. Added one question to poll. There are three variants for ROM and two for working or not (six at all), for me all works fine, so I voted for the first three answers.
Version 1.1.14 developer testing ends now, smkd fully translated to english. I will now build the kernel and then begin uploading it to Google Drive.
(sorry for my incorrect english)
igoryan94 said:
Try to flash on a clean ROM (with backup of cource)... All fine for me on RR.
Click to expand...
Click to collapse
Stuck at bootanimation even after flashing on a clean ROM.
waiting for update..
Hey @igoryan94,
Thanks a lot for making this great kernel!
I've flashed the KK version along with the stock ROM http://forum.xda-developers.com/showthread.php?t=2789510. It works very nicely. Would you please show an instruction (or a specific terminal command for newbies like me) of how to overclock CPU to 1.9GHz? Currently the max speed is 1.5Ghz according to kernel audit.
Thanks again
Hey I cant change the cpu frequent through kernel adiutor. As soon as i change the freq to 1920 it changes back to 1500.
igoryan94 said:
I can't as i don't know much about modding in '/init.rc' script and also about what differences it has in kernels for T310, T311 and T315... Sorry.
Click to expand...
Click to collapse
@gr8nole could help him in this?
xdaSEx10 said:
Hey @igoryan94,
Thanks a lot for making this great kernel!
I've flashed the KK version along with the stock ROM http://forum.xda-developers.com/showthread.php?t=2789510. It works very nicely. Would you please show an instruction (or a specific terminal command for newbies like me) of how to overclock CPU to 1.9GHz? Currently the max speed is 1.5Ghz according to kernel audit.
Thanks again
Click to expand...
Click to collapse
CPU frequency is automatically changed to 1920 MHz when special conditions are met (they are: "blocked" processes and waiting for I/O).. Version 1.1.5 will have full 1920 MHz CPU frequency.
I will now upload "developer" version of kernel 1.1.15_dev for KitKat users. If you want, test that) It is not fully contains all changes that i've done, but I'm not at home now and cannot compile new build... For now it has smooth overheat prevention and overclock fully enabled.
Hunter97 said:
Hey I cant change the cpu frequent through kernel adiutor. As soon as i change the freq to 1920 it changes back to 1500.
Click to expand...
Click to collapse
Please wait for SMK version 1.1.15, it will use 1920 MHz as a default frequency always excepting overheat moments (that will disapear very quickly) and governor's battery saver mode.
You can also use a developer version 1.1.15_dev if you use JellyBean/KitKat as your ROM.
Ok, "dev" version released for testing.
When I will return home, I will release another testing version that has an I/O scheduler change functionality, optional Overheat Prevention and changing min_freq to minimal (50 MHz) when temperature event occurs. Maybe it will have even more features (I have smkd code with me, PC is only needed for compiling kernel and ramdisk).
on NoleKat.T310. v1.1 KK 4.4.2 not boot. on CM13 it's ok, but, for me, the best android versioni for this tablet is kk stock and i install NoleKat.T310. v1.1.
jamax80 said:
on NoleKat.T310. v1.1 KK 4.4.2 not boot. on CM13 it's ok, but, for me, the best android versioni for this tablet is kk stock and i install NoleKat.T310. v1.1.
Click to expand...
Click to collapse
SMK will not boot on T310. Only T311.