{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I. Thanks!
.
Disclaimer: I take no responsibility for any damage that might occur to your device. You proceed strictly at your own risk. This is a work in progress.Thank you for your interest in Plasma kernel, I hope you enjoy it. I've poured hundreds upon hundreds of hours of work into putting together a kernel that best showcases our hardware. Plasma kernel would not be possible without super-smart people like AndreiLux, DerTeufel, temasek, googyanas, faux123, and the regular contributors to the official cm kernel repositories. Please donate to them to support their hard work!.
II. Features
CPU frequency range: 100MHz to 2.16GHz
ZZMoove, PegasusQ, performance (with support for multiple cores), and LulzactiveQ CPU governors
Zen, noop, deadline, row, cfq, sio, vr schedulers
Experimental Wolfson AND Voodoo Sound support (choose one or the other on the Audio tab of STweaks, then REBOOT!)
CPU voltage control
Linux 3.0.101
AndreiLux: Screen color calibration with mdnie-control
GPU over/underclock and over/undervolt
Control the frequency and voltage of all 5 GPU steps
Support for GPU clocks from 54MHz to beyond 800MHz
Control GPU governor sampling rate
Built with 4.8 toolchain
Built with -O3 and other optimizations
Extra panel brightness (<299)
Faux123: Dynamic fsync control (v1.2)
AndreiLux: Charging control
Support for STweaks
Control screen refresh rate (can be reduced to save battery)
AndreiLux: Memory/internal voltage control interface
AndreiLux: Adaptive Body Bias (ABB) control
AndreiLux: Digital brightness control/reduction (better than ScreenFilter)
LED control (with some color mixing adjustments by me)
Touchwake support, including touchkeys (enable in Screen tab of STweaks)
Multi-touch kernel-based gesture engine
Proportional Rate Reduction for TCP
Joe's RCU
Temasek: Frandom module (enable on the Memory/Internal tab of STweaks and REBOOT!)
S-Pen settings on the S-PEN tab of STweaks
zCache
Support for 4x parallel "Turbo ZRAM" (settings are on the "I/O / RAM" tab of STweaks)
UKSM
Enhanced Touchwake/Slide2Wake functionality
Arc-swipes to turn your phone on with one hand (Screen tab of STweaks)
Long-tap-off to turn your device off with one hand (Screen tab of STweaks)
Power off gesture: tap the top of the screen and a touchkey at the same time to trigger suspend
Change your power manager (PM) CPU lock frequency
Press the home button 4 times to toggle the screen negative
Press the home buttom 3 times as fast as you can to toggle the screen into nightmode (red)
exFAT support
For more, take a look at the commits
.
III. What's NewDon't forget to check out what was new in 2.0b7 and 2.0b12!
[ZRAM Total Disk Size]: By default ZRAM is setup as four (4x) swaps operating in parallel at equal priorities. Set this to the TOTAL amount of RAM you wish to dedicate to ZRAM, and STweaks will automatically divide it evenly by four.
[UKSM Enable]: Enable the UKSM daemon that will continuously scan memory for duplicate data.
[UKSM Daemon Sampling Rate]: How often the daemon checks for duplicate data.
[UKSM CPU Usage Limit]: How much system load (CPU usage) the daemon will use.
[Long-tap-off Always On]: Found in its own section under the Touchwake section. When enabled Longtapoff will always work, regardless of how you woke your device. Takes effect immediately.
[Many ZZMoove settings]: Many ZZMoove settings on the newly created "ZZMoove Scaling" and "ZZMoove Hotplug" tabs. Descriptions coming soon.
.
IV. Download / Donate
Support the development of Plasma kernel by DONATING if you find it useful!
AOSP 4.3.x only!
Plasma kernel v2.02 for Sprint Note 2 (L900)
Plasma Gesture Pack
Support the development of Plasma kernel by DONATING if you find it useful!
.
V. Changelog
v2.02 (November 2nd, 2013)
Tracked audio/media skipping bug to disabled loggers (thanks pappschlumpf!) By default logging is now enabled. While you can still disable it, it will always be reset upon reboot.
Changes to write-back caching (thanks temasek)
Support for switching touchkey backlight driver from ROM/kernel (bottom of Screen tab in STweaks) (thanks Yank555-lu)
Some bug fixes for Slide2Wake
.
VI. Archived Changelogs
2013-10-29 | v2.00
Linux 3.0.101 (thanks temasek)
Hopeful bugfixes for untouchable screen, and taps on top triggering suspend
Should you encounter a problem like that, cycling on and off (power button) should now reset any state variables
Fix FC issues. Works with more ROMs, including the latest AOSP nightlies
Allow pm_idx_freq to be set as high as 1600 MHz, theoretically could slightly speed up waking from deep sleep. Set on "Plasma Tuneables" tab of STweaks
Added several new tuneable ideas to zzmoove
Added "ZZMoove Scaling" and "ZZMoove Hotplug" tabs to STweaks. The descriptions are still a work in progress
Moved mDNIe controls to their own "Color" tab
Greatly enhanced the longpressoff feature's reliability and ease of use (by upgrading to scheduled_work)
Slide2Wake and arc swipes now trigger CPU and memory frequency locks to speed up waking
Slide2Wake and arc swipes no longer accidentally send input in the milliseconds after the screen comes on, but before you finished your gesture
Added option to Screen tab of STweaks to enable Longtapoff always, regardless of how the device woken
Expanded the trigger areas for slide2wake and arc swipes
ZRAM/swap is working and compatible with "Turbo ZRAM" (4x parallel ZRAM swaps for quad core devices) (thanks googyanas)
ZRAM settings in STweaks now allows you to set one total size of RAM that will be divided into 4x ZRAM swaps. Setting to 0 disables all swaps. Changes are applied instantly. No need for any other ZRAM/swap apps or init.d scripts.
UKSM (Ultra KSM (Kernel Samepage Merging)) enabled, with settings on the "I/O / RAM" tab of STweaks. Mostly just a novelty, but what it does is continuously checks RAM for duplicate pages to save space
zCache enabled and always running
Cleancache enabled
Frontswap enabled
Enabled LOWMEM_CHECK (thanks googyanas)
Enabled SPEEDUP_KEYRESUME as discussed in temasek's thread (Placebo effect? Maybe. Better ask Brian Molko. A cookie for you if you understand that reference) (thanks googyanas)
Added my own wake-speed ideas (2-second max-CPU-speed lock, and 2-second max-bus/RAM-speed lock on KEY_POWER press)
Permanently fixed (hopefully) the laggy, skippy, media bug
Toggle negative screen mode by taping the home button 4 times quickly (but NOT as fast as you can) (based on a commit by gokhanmoral)
Toggle nightmode (red) screen mode by pressing the home button 3 times VERY quickly (pretty much as fast as you can) This is purposely designed to be a dim red, as searing bright 255 red isn't particularly easy on your eyes in the dark. Fun fact: this (and the negative one described above) are functional even during boot...triple tap to see your bootscreen turn red
CPUFreq bug fixes/commits (thanks DerTeufel)
Permanent TRIM (thanks googyanas)
Added shell scripts to quickly and easily see statistics with as little typing as possible. Open a command prompt on your device, type "su" and press enter to ascend to root. Now you can type "szc" and press enter to see zCache statistics (szc = show zcache). Or type "ssw" to see swapfile/zRAM statistics (ssw = show swap). Note: Some statistics don't fully populate until a few minutes after boot
Experimental: Set ZZMoove governor for battery savings by obtaining a root shell as described above, then typing "zzb" and pressing enter (zzb = zzmove battery). Does not reapply after reboot.
Compiler optimizations
2013-07-19 | v1.67
- Updated to Linux 3.0.84 [thanks, temasek]
- Enabled support for SELinux
- Fixed some bugs with the stylus touchkey block
- Voodoo was removed
- Sound-control is permanently enabled. Anything Voodoo did, sound-control can do.
- A bunch of ROW and other smaller cherry-picks
- Fixed some STweaks bugs
- Fixed some gestures in the Gesture Pack
2013-06-26 | v1.65
- Updated to Linux 3.0.83 [thanks, temasek]
- Better battery life, particularly while idle. [thanks, temasek]
- Gesture engine now has support for two special gesture flags; TKEYS and EXCLUSIVE
- S-Pen: Disabled the booster and made it optional, as well as what frequency it boosts to. By default this used to lock at 800MHz when you used the pen, which has shown to be way overkill for the most part.
- S-Pen: Adjust input averaging strength (2 or 3 are the only useful settings. Wanna see what the actual input is from the digitizer? Set this to 0 and draw a line. Yeah...now you see what the poor driver has to filter out)
- S-Pen: Adjust box filter strength for pen input and hover input. Mostly experimental.
- S-Pen: Set minimum pressure before pen input is registered.
- S-Pen: Set fixed pressure (driver will never report sensitivity, and instead uses this value)
- S-Pen: Disable side button (for those that don't use it, it can really get in the way at times)
- S-Pen: X and Y axis offset (tweak this to your screen and usage. Samsung defaults this to -30 for right handed users)
- S-Pen: When the pen is within hovering distance, the touchkeys will now be disabled. When out of range, the block will be held for a definable period before restoring them. This means you can naturally write without fearing the buttons will come on and do crazy stuff.
- S-Pen: Disable touchscreen and gestures when drawing
- GPU: Frequency, voltage, and up/down threshold are available for each of the 5 steps.
- GPU: Expanded GPU clock options: 54, 100, 160, 200, 266, 275, 300, 333, 350, 400, 440, 500, 533, 600, 640, 666, 700, 733, 750, 800+ MHz.
- GPU: Adjustable GPU scaling driver polling frequency (sampling rate) [thanks, AndreiLux]
- GPU: Lock GPU to one user-defined step.
- GPU: Limit the GPU to less than 5 steps.
- GPU: Increase default GPU polling frequency to 100ms (stock was 1000ms (!!!) and causing laggy performance within the first few seconds of using your device). [thanks, AndreiLux]
- Fixed some STweaks bugs.
- A bunch of predefined gestures in the Gesture Pack.
2013-06-11 | v1.60 [733 GPU overclock] / [No GPU overclock]
- Updated to Linux 3.0.81
- Added section to Screen tab in STweaks for touchkey backlight control (for ROMs without controls built in)
- Implemented mechanism to manually control the display panel's refresh rate (no, you can't go higher than 60fps )
- Added support for lcdfreq scaling in PegasusQ (on PegasusQ Scaling tab of STweaks)
- Added support for lcqfreq scaling on touch (on Screen tab of STweaks)
- Option to force lcdfreq's limited state to constantly be on, effectively giving you control of panel refresh rate (on Screen tab of STweaks)
- Made PegasusQ screen-off multicore policy enforcement more robust
2013-06-08 | v1.58 [733 GPU overclock] / [No GPU overclock]
- Updated to Linux 3.0.80
- Switched to TCP Veno
- Updated zzmoove to version 0.4
- Added a sysfs entry to control the PM lock frequency
- Added screen-off tunables for PegasusQ, LulzactiveQ and zzmoove
- Added screen-off hotplugging to LulzactiveQ
- Led-control: more accurately mix LED colors
- Led-control: custom requests for white (255/255/255) are adjusted to obtain the most realistic actual color
- Led-control: change system notification (charging/charged) LED brightness level (LED tab of STweaks)
- Frandom module (enabled on the Memory/Internal tab of STweaks. A reboot is required after changing this setting!)
- Experimental: Reduce mdm wakelocks
- Updated row scheduler
- Experimental: Support for both Voodoo and Wolfson/sound-control. They both do they same thing though. Choose one on the Audio tab of STweaks, then reboot.
- Wacom: add sysfs entry for pen inserted (/sys/devices/virtual/sec/sec_epen/epen_pen_inserted)
- Dynamic fsync tweaks
- Many small cherrypicks
2013-05-06 | v1.50 [733 GPU overclock] / [No GPU overclock]
- Updated to Linux 3.0.76
- Sbrissen's WiFi driver from the GT-9505
- Kernel-based multi-touch gesture support. Enable it on the Screen tab of STweaks. Flashable sample script to be added to this post soon.
- Touchwake now wakes from the touchkeys in addition to screen taps
- Updated zzmoove governor with changes from DerTeufel
- PegasusQ: calculate gradient of CPU load to early increase frequency
- Added LulzactiveQ governor
- Stopped an insane amount of kernel logging in cpuidle-exynos4
- Updated Wacom drivers
- Updated camera drivers
- Added Proportional Rate Reduction for TCP
- Added missing flexrate code and removed the default touchbooster
- Joe's RCU2013-04-27 | v1.43 [733 GPU overclock] / v1.43 [No GPU overclock]
- Touchwake support. Enable it on the Screen tab of STweaks
- Some dynamic fsync commits2013-04-26 | v1.42
- Updated to Linux 3.0.75
- Reworded the settings in STweaks for ABB
- Fixed a bug in Adaptive Body Bias (ABB) that caused certain frequencies to be offset. 800MHz was in slice 3 (instead of 2) and 1600MHz was in slice 4 (instead of 3). If you have been undervolting these frequencies recently, you need to reevaluate your stability at them now.2013-04-25 | v1.41
- Updated to Linux 3.0.74
- Adaptive Body Bias (ABB) control. This is only for the most hardcore users. I suggest reading the note above, as well as this thread.
- Snappy compression added to zRAM
- Some kernel updates to speed up hotplugging
- Correctly applied load averaging patch to fix moire pattern
- New LED control. Offers better control over LED fading. If your ROM has its own fade control, be sure to match your chosen setting in the LED tab of STweaks to avoid possible issues
- mDNIe digital brightness reduction. Ever notice how the lowest screen brightness setting is still very bright, especially in a dark room? Many of us nighttime users have had to manually enable apps like ScreenFilter to overlay a black layer to artificially dim the screen via software. This is somewhat like that, but more accurate and done at the video driver level in the kernel. To summarize, it seamlessly allows you to reduce the typical brightness control beyond its normal minimum by digitally darkening the display data after a certain point. This is very cool, as it's all automatic once you initially tweak it - goodbye ScreenFilter! Adjust the settings on the Screen STweaks tab.
- Expanded explanation of ABB on its STweaks tab
- Unaligned memory access where possible
- Fixed a bug that was causing frequencies greater than 1600 to become stuck as the current frequency
- Added the zzmoove governor and tweaked it for this kernel
- Update ramdisk2013-04-17 | v1.34 [733 GPU overclock] / [No GPU overclock]
- Updated to Linux 3.0.73
- Flexrate now works
- Other, smaller changes2013-04-10 | v1.32 [733 GPU overclock] / [No GPU overclock]
- Fixed MTP2013-04-09 | v1.31 [733 GPU overclock] / [No GPU overclock]
- Forgot to include Front End Delay code last time
- Smarter CPU usage; assign more work to only 1 core when at lower frequencies
- Ability to change memory and internal voltages
- Boot a device from storage
- WiFi driver updates
- Other driver updates
- Updated to Linux 3.0.72
- Compiled with -O3
- Added support for Android zRAM (settings are in I/O tab of STweaks)
- Updated STweaks
- Started building optional non-GPU overclocked versions for those who don't want it
- Many, many small additions, such as better entropy (see commits for individual credits)2013-04-03 | v1.20 [733 GPU overclock only]
- Added support for STweaks2013-04-02 | v1.12 [733 GPU overclock only]
- Original
.
VII. SourceSource for Plasma kernel can be found on my github.
FAQ:
Q: I have no earpiece volume!
Be sure to choose Voodoo Sound or Sound Controls on the Audio tab of STweaks, then reboot.Q: I can stably run this kernel. How can I use the screen-off settings so I can save battery?
You will have to intentionally crash your system to find your lowest value, and should definitely make a nandroid first. Then be sure to turn off dynamic fsync on the bottom of the I/O tab of STweaks, as this being enabled could cause data loss from a crash. When you are done with that, the first thing will be to lower the PM Lock Frequency. Try 600MHz, press Apply, then put your device to sleep, give it a few seconds, and see if it wakes. Be sure it's going into deep sleep! If it wakes up instantly, it wasn't in deep sleep. After booting, things like mediascanner can take minutes to finish and release their partial wakelocks. If you are sure it went into deep sleep, repeat with a lower frequency until you cannot wake. Pull the battery and reboot. Once it boots up, go into STweaks and set PM Lock Frequency to the last stable frequency. You must do this before the screen goes off, or else it'll crash again when it enters deep sleep!
Now, once you are sure of your stable PM frequency, move on to the next step. Set CPU Screen-Off Max Frequency to 200MHz. Use your device for a few minutes or hours or whatever. If you find music skips too much, or calls are slow to wake up the phone, set this to 300MHz, but now be prepared for a possible SOD if your device cannot handle scaling that low. If you experience one, leave this setting at 300MHz, and enable "Keep sleep max frequency fixed" and set CPU Screen-Off Fixed Max Frequency to 200MHz. If your phone was slow to wake at 200MHz before, try setting this to 300MHz.
Err, a bit of a vestigial tail here...don't forget to set Screen-Off Frequency For Responsiveness (it's higher up in the PegasusQ Scaling tab) to whatever your lowest screen-off frequency is. It isn't needed anymore and I should have taken it out probably. Like its waking counterpart, it is a threshold below which aggressive upscaling is used. Basically, it's the frequency the CPU will want to hover at, in this case, while the screen is off.Q: Explain the PegasusQ screen-off settings.
CPU Screen-Off Max Frequency - This becomes the effective policy max as soon as you press the power button. Setting this too low may cause slow waking, or choppy music. Ideally this is just like normally setting the max policy; i.e. the governor will try to get frequencies as low as possible without going over this. This means if you get skips in your music at 200MHz, you can set this to 300MHz and the governor will be able to grab that extra power if it needs it. The problem is, some devices get finicky when they're bouncing around between sub-PM Lock frequencies and will crash. That's where the Fixed Sleep Frequency setting comes in. Read on.
Up Threshold While Screen-Off - This becomes the effective Up Threshold value as soon as you press the power button. Setting this higher will make the CPU more reluctant to scale higher (go faster).
PM Lock Frequency - This typically hardcoded value normally overrides the governor to throttle the CPU to 800MHz every time the system itself is unsuspended. This means it happens thousands of times a day, and can significantly add up after a few hours. I found different devices could handle different frequencies, so I made this is adjustable and added an interface to lulzactiveq and zzmoove. 500MHz works very stably for me.
After Boot Delay - Gives your device a grace period after booting during which none of the screen-off policies will be enforced so your start up tasks can be completed quickly.
Enable Fixed Sleep Frequency - This is where things get sorta confusing. If your device can't scale while sleeping, most likely it will be able to tolerate just sticking to one low frequency. But this has a downside...you disable the scaling logic of the governor, so you either have to suffer degraded screen-off performance (skips in your music) with a battery-saving frequency, or set this higher, but then that means you'll be pegging this higher frequency now even though you just needed it occasionally. But yay, I had an idea to put a one-way toggle in there. Read on.
CPU Screen-Off Fixed Max Sleep Frequency - So here's the thing. All devices can handle low scaling just fine, as long the screen is merely off (e.g. listening to music, etc). Once the system falls into deep sleep, that's when stability issues arise. So I had an idea... When you play music, you usually interact with the screen then turn it off, but it never actually goes into deep sleep until it's done playing. So I made it so the above Screen-Off Max Frequency will be used, including scaling, until deep sleep is called for. Then from that point on it will become fixed to this setting's frequency until you turn the screen back on, then the toggle gets reset.
v1.60 Release Notes
Control your panel refresh frequency - This is inspired by and based on AndreiLux's commits last year. Samsung includes a driver called "lcdfreq" that allows for scaling of panel refresh frequency to save power. It toggles between two states: limited and unlimited. Not all devices actively use this feature in stock builds, but it is possible to enable nonetheless. When in limited mode the panel's refresh rate is reduced from 60Hz (58 actual) to 40Hz (41 actual). I went a step further and made it so the limited mode's panel divider can be set manually (25, 27, 29, 31, 34, 37, 41, 45, 50, 60 fps). I also made it so the limited mode can now be forced, effectively allowing you to adjust the default refresh rate of your panel to save battery. Not everyone needs/wants 60fps. How much battery will this save? I don't know yet, but if you want to find out, the option is on the Screen tab of STweaks. Be sure to check the force checkbox. Very low rates will introduce flickering to some eyes (remember, this is a refresh rate being adjusted, not just fps).
Lcdfreq in PegasusQ - Note: This is irrelevant if you have decided to lock your refresh rate as described above. AndreiLux implemented this last year, and I modified it a bit and added more tunables. When enabled, PegasusQ will try to control the state of lcdfreq based on CPU load. Some of you may know AndreiLux abandoned this due to problems with flickering, but I have taken a different approach. His goal was to provide 60Hz as quickly as possible, which ended up frequently alternating between the two states. I'm aiming for the opposite - to stick with limited as long as possible and only boost it during heavy use (like a game). When bounced around between limited and unlimited too rapidly, there can be visible flickering and tearing, and different frequencies seem to slightly affect the color balance, which makes it even more noticeable. Quite possibly why Samsung doesn't use this on Note 2's.
lcdfreq_kick_in_down_delay - When PegasusQ decides it wants to call for the panel to be kicked down (into limited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_up_delay - When PegasusQ decides it wants to call for the panel to be boosted (into unlimited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_freq - Before PegasusQ will consider limiting the refresh rate, the CPU must be running at this frequency or below.
Boost lcdfreq on touch - Immediately boosts to the unlimited state, regardless of what PegasusQ calls for. A commit by AndreiLux. At some point I may add to this to make it time based (i.e. hold the boost for x amount of seconds after a touch).
Control the touchy backlight - On the Screen tab of STweaks. For ROMs that don't provide this support natively, otherwise it may be unreliable.
v1.65 Release Notes
Control your GPU - Over/underclock your GPU! Over/undervolt your GPU, too! Settings explained on the GPU tab of STweaks. Support for frequency, voltage, up/down threshold and GPU governor sampling rate.
Lock/Limit your GPU - You can lock your GPU to a specific step, or limit it to a definable maximum number of steps (e.g. 2 or 3)
Control S-Pen booster - Control/disable the S-Pen CPU booster. Stock is 800MHz, but I find that overkill.
S-Pen X,Y Axis Offset - For some reason Wacom sets this to like 30,30 depending on handedness. I have no idea why, I prefer 0,0. For most users I recommend checking the box on the S-Pen tab in STweaks and leaving the sliders at 0,0.
S-Pen Box Filter - Depending upon what you use your S-Pen for, this makes it much easier to draw shapes, but harder to do finer things, like writing. Think of it as "snap to grid".
Gestures! - Be sure to scroll down to the FAQ section to read how to use them.
Q: How do gestures work?
Flash the gesture pack and reboot. This places the action and handler scripts in /etc/init.d to be run on boot. The available gestures are listed on the Gestures tab of STweaks. You may customize the scripts, but be warned that flashing the zip again will overwrite them.
Some gestures will require you to hold down a touchkey while performing them. Be sure to have a Touchkey Modifier Delay set in STweaks (Screen tab). 100-200ms works well. Now any time you touch and hold a touchkey and then touch the screen within the delay you just set, you will activate gesture-only mode, during which the touchscreen will no longer send touch events to the operating system, only the gesture engine. This means you won't get any bleed through of gesture draws into the foreground app. It's also a safety of sorts, to prevent critical gestures from being accidentally triggered. The downside is, you can't have your cake and eat it...well, not without some delay at least. If the touchkey modifier was simply piggybacked onto the touchkey driver that would be nice, but it would also mean every time you used it, it would also report the touchkey (Menu/Back) event. Or, if you blocked it always, well then obviously your touchkeys wouldn't work anymore. So a compromise is using a very short delay, and after that delay is up, the touchkey driver checks to see if the screen has been touched and the touchkey is still down. If it has been touched, then gesture-only mode is set in the touchscreen driver until all fingers are up. If the screen has NOT been touched after the delay, then the touchkey driver assumes it's just a normal touchkey press and reports it like normal. This may seem like an insanely small delay, but it's meant for you to touch the touchkey and start drawing with another finger *simultaneously*.
tl;dr: Flash the gesture pack, go to the Screen tab and set the Touchkey Modifier Delay to 150ms or so, then apply it. Now test it. First swipe from near the bottom-left corner, up towards the middle-right side. Nothing should happen. Now repeat, this time putting a finger down on the touchkey and holding, while *at the same time* starting to drawing this simple gesture. Aim to have both fingertips touch down at the same time. If it goes well, the virtual power key will be pressed and it will go into suspend. If you have trouble, increase the delay until you get more practice. Eventually you'll be able to do this gesture one-handed by touching the touchkey with the side of your thumb, and sliding/flicking your index or middle finger outward in an arc..
Useful Apps (no affiliation):
BetterBatteryStats XDA / Play
Awesome tool that lets you see both kernel and partial wakelocks, as well as the average percent battery drain.CPU Spy XDA / Play
Provides a GUI to CPU time-in-state data.Micro CPU Monitor Play
One of my favorite apps ever, this puts a very small 1px bar across the top of the screen for each core. It can be set to come from left or right, the background can be set transparent, and the bar thickness and color are adjustable. Very useful for quickly (and discretely) noticing abnormally high CPU usage.top Play
Provides a GUI to the linux command 'top'. Provides a very reliable way to see what processes are using the most CPU time.System Monitor Play
This app makes monitoring CPU history easy, and makes it especially easy to see the effects of hotplugging tweaks because of the way it clearly displays the state of each core..
Notes:
How to use the mdnie-control interface:
AndreiLux and Slimer777 have gone to great lengths to create an extremely accurate internal color profile using a spectrophotometer. The color accuracy is terrific. Most computers and tech use a very unnaturally cool color temperature (blue tint to white), so many people are taken by surprise when they see how yellow reality actually is. You need some time to get used to the new colors, but if you are still not pleased with the result, AndreiLux has setup MANY options for you to tweak in STweaks. Personally, I recommend increasing the chroma saturation weight.
Settings can easily be configured in the STweak app now. Download it from the Play Store.
A bit about body bias:
To summarize this feature: When we traditionally change voltages (SetCPU, Performance Control, etc), we are changing the gate voltage of the transistors. This can be a difficult concept to grasp, so here's a super-simple analogy to help: Imagine a light switch instead of a transistor. You reach your finger out to flick it. The force your finger applies would be analogous to the gate voltage. However transistors also have a body voltage, which can be thought of as the resistance behind the switch. By applying a positive difference between the gate and body, (which usually, but not always, equates to reducing the body voltage) we can make the proverbial switch "looser" so it's easier to flip, but now that it's looser, it's starting to leak a small amount of current as a result. So why would we want to do this if it will be leaking more? Because now that the switch is looser, we'll hopefully need less gate voltage (aka finger pressure in the analogy) which would save more power than was lost with that leakage. Or, for someone overclocking instead of undervolting, the "loose" switch will be easier to flip, and you may achieve an overclock not possible by merely ramping up the gate voltage (brute force) in your voltage control app of choice. Basically like the old saying "two steps forward, one step back" - we get something good, but have to sacrifice a little power lost through leakage. But how about the opposite scenario? What if in the analogy you have a really strong finger? Then you're leaking power for no reason because you don't need a "loose" switch. So, we can take advantage of that fitness and tighten it up by applying a negative body bias (also called a Reverse Body Bias, or RBB). This will make the transistor harder to switch, but plug up the leak and therefore increase power efficiency.
Ok, so why does all this exist? Why not just have an enormous negative bias (RBB) from the factory and save all that power lost through leakage? Because not all chips are equal, and not all transistors on the same chip are even equal. Temperature, manufacturing techniques, a few atoms of contamination, etc can make the chip less "fit" and unable to switch as easily as others. So how do they help these weakling transistors from getting the entire chip sent to the factory garbage can? Well, on one hand the gate voltage can be increased, but that is a last resort since it would waste too much power. Before it comes to that, they get a crutch in the form of a positive body bias (also called a Forward Body Bias, or FBB), which hopefully you'll remember was the subject of the first scenario above. And remember what that does? It makes them easier to switch, but at the cost of slightly decreased power efficiency. This offers better power savings when compared to increasing the gate voltage.
Samsung knows all this, and bins their chips according the ASV level, which can be thought of as the "quality" of the chip. The higher the ASV number, the better the chip, and the less power it needs to do its job. At the factory they mix increased gate voltages with varying body voltages to end up with a table of stock body biases. Long story short, this is how they deal with less-than-perfect chips. It's a lottery for the buyer. But since their values aren't tailored to your chip - the hope is that maybe you can scrape by with a bit less power than Samsung thought a chip of that grade could. So what AndreiLux has done is implemented new scaling logic/control code that lets you adjust the body voltage, and thus the body bias. Thanks to him, we now have another tool to help us squeeze a little bit more power out of our chips.
Calculating your body bias is incredibly simple: bodybias = gatevoltage - bodyvoltage. If you know the voltage of a given frequency, you can calculate your body bias by taking the gate voltage (what it says for that frequency in your usual voltage adjustment app) and then subtracting the value of the slice that corresponds to the range the example frequency was in on the ABB tab of STweaks. This can get tricky, because people forget that "body bias" is a difference between two values. If you start off with a stock negative body bias, that is to say that your body voltage is higher than your gate voltage, increasing your body voltage will actually be increasing your bias and you'll be needlessly wasting more power. However if you start off with a positive stock body bias, adding to the body voltage will actually be decreasing your bias since it will be bringing you closer to the gate voltage.
Re: [Kernel][AOSP] Matrix kernel
Nice work. For the first time I
am first after the OP.
Sent from my SPH-L900 using xda app-developers app
Re: [Kernel][AOSP] Matrix kernel
Thanks!
Sent from my SPH-L900 using xda premium
Re: [Kernel][AOSP] Matrix kernel
About to flash!
Sent from my SPH-L900 using Tapatalk 2
Working smoothly on current cm nightly with set CPU..so far at least
Re: [Kernel][AOSP] Matrix kernel
Thanks for this :thumbup:
-TeaM VeNuM Like A Boss :flipoff2:
-SoA: Son's of Android™
Re: [Kernel][AOSP] Matrix kernel
This requires immediate flashing.
Sent from my SPH-L900 using Tapatalk 2
Re: [Kernel][AOSP] Matrix kernel
can you use stweaks with this kernel?
Sent from my SPH-L900 using Xparent Blue Tapatalk 2
Wonderful effort = Great work! Thanks :good:
Re: [Kernel][AOSP] Matrix kernel
Thank you for your hard work, just flashed! So far so good! :thumbup:
Sent from my SCH-l900 using xda premium
raw2000j said:
can you use stweaks with this kernel?
Click to expand...
Click to collapse
Yay, I figured it out. Going on 44 hours without a wink of sleep, but at least customized STweaks are on their way!
Thank you so much!!! I was dieing for a Perseus Kernel implementation for AOSP. Thank you very much ffolkes and AndreiLux for all of the hard work you guys have been putting into making our phones the best they can be!
I'm currently running this kernel with Carbon 1.6 and my phone just flies!!!
Re: [Kernel][AOSP][1.20|April 3rd] Matrix kernel
No problems so far on 50mhz and the kernel seems to be using way less battery. Colors are kinda washed out though. Would like to see trinity colors :thumbup:
Sent from my SPH-L900 using Tapatalk 2
Flashed this earlier today. Will give my findings in a day or so.
Re: [Kernel][AOSP][1.20|April 3rd] Matrix kernel
Nice. This kernel works great. Battery last forever.
Sent from my SPH-L900 using Tapatalk 2
I've only noticed 1 problem so far... Wifi hotspot no longer works on aokp. Anybody else have the same problem on other roms?
Re: [Kernel][AOSP][1.20|April 3rd] Matrix kernel
Rooster85 said:
No problems so far on 50mhz and the kernel seems to be using way less battery. Colors are kinda washed out though. Would like to see trinity colors :thumbup:
Sent from my SPH-L900 using Tapatalk 2
Click to expand...
Click to collapse
Trinity colors would be awesome but just tune them w/s-tweaks..
@op Tks! So far so good, will throw stats up in a few days.
Edit
Sent from my SCH-l900 using Tapatalk 2
Re: [Kernel][AOSP][1.20|April 3rd] Matrix kernel
flashback7 said:
Trinity colors would be awesome but just tune them w/s-tweaks..
@op Tks! So far so good, will throw stats up in a few days.
Edit
Sent from my SCH-l900 using Tapatalk 2
Click to expand...
Click to collapse
Any idea of how to match them?
Sent from my SPH-L900 using Tapatalk 2
Re: [Kernel][AOSP][1.20|April 3rd] Matrix kernel
From today...
Sent from my SPH-L900 using Tapatalk 2
Related
issue - using google navigation phone is getting hot and consume a lot of energy
3 hours of using google navigation probably will kill battery.
solution - with help of Tasker
we will write profile to reduce frequency of cpu
new profile "low cpu"
context - navigation
new task "low cpu"
add action - Misc - Cpu - max frequency 800 000
add exit task - new task "cet cpu back"
add action - Misc - Cpu - max frequency (back to default)
resultphone does Not getting hot, has same performance, and relatively low battery drain.
same profile possible to aplay to other battery hungry apps (ofcourse ifthey can run same smouth under low cpu).
tried to reduce frequency to 600000. (instead 800000)
works good.
Is there any kernel or standalone app that I should flash to get Slide2Wake (Touch Control like on Nexus 4) for Note 2?
I really miss it from nexus 4, it saves the home/power button.
Thanks
ibr4him said:
Is there any kernel or standalone app that I should flash to get Slide2Wake (Touch Control like on Nexus 4) for Note 2?
I really miss it from nexus 4, it saves the home/power button.
Thanks
Click to expand...
Click to collapse
This Kernel has it supports both Sammy and AOSP
[Kernel] Devil - Linux 3.0.83 - Aosp&Sammy - Dualboot - no ExFAT - 27/06
Features (changes compared to Perseus):
- updated Linux Kernel base to 3.0.83
- DevilQ cpu governor (default)
- block updated from Linux 3.3 (better i/o performance)
- row i/o scheduler updated from Linux 3.4
- fiops v2 i/o scheduler
- working for Aosp and Sammy at once (Big thx to Gokhanmoral for making this possible)
- Portet Ezekeel's Touchwake Feature (from nexus s)
- Oc up to 2 Ghz
- Backport from Linux 3.5 smp driver parts
- Cm Wifi driver (from D2 Linux 3.4 kernel)
- possibility to set high/low power mode for wifi when screen is off
- LulzactiveQ cpu governor (from siyahkernel, thx again to Gokhanmoral)
- Hotplug Cpu Governor
- Proportional Rate Reduction for TCP
http://kernelnewbies.org/Linux_3.2#h...7963f165302b6e
- improve memcopy/memmove
- Using Voodoo Sound
- mdnie: toggling mdnie negative effect with home button (Gokhanmoral)
- Reverted LED Control
Thanks, but touchwake is different than slide2wake.
ibr4him said:
Thanks, but touchwake is different than slide2wake.
Click to expand...
Click to collapse
you just need to swipe the screen from horizontal or Vertical it will wake up your device
if still different can you explain or a sample video on youtube so i can check .
TouchWake:
This mod allow user to wake the device by touching the screen without pressing the power/lock button. You can specify how long the screen will wait for touch before its fully locked. (i.e need power button to unlock it)
Click to expand...
Click to collapse
Slide2Wake:
It enables a quick sleep mode via a swipe across the capacitive keys from right to left, and an easy unlock from wake via a swipe from left to right. Thus you can turn your phone on and off without ever actually touching the screen.
Click to expand...
Click to collapse
Difference:
With TouchWake there is a specific timeout within which you can touch ANYWHERE to unlock, whereas Slide2Wake has no timeout and you have to slide (less accidental wakeups) to unlock.
ibr4him said:
TouchWake:
Slide2Wake:
Difference:
With TouchWake there is a specific timeout within which you can touch ANYWHERE to unlock, whereas Slide2Wake has no timeout and you have to slide (less accidental wakeups) to unlock.
Click to expand...
Click to collapse
ok i got it as if now we only have touch to wake may be near in future this should be developed.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I. Thanks!
.
Disclaimer: I take no responsibility for any damage that might occur to your device. You proceed strictly at your own risk. This is a work in progress.Thank you for your interest in Plasma kernel, I hope you enjoy it. I've poured hundreds upon hundreds of hours of work into putting together a kernel that best showcases our hardware. Plasma kernel would not be possible without super-smart people like AndreiLux, DerTeufel, temasek, googyanas, faux123, and the regular contributors to the official cm kernel repositories. Please donate to them to support their hard work!.
II. Features
CPU frequency range: 100MHz to 2.16GHz
ZZMoove, PegasusQ, performance (with support for multiple cores), and LulzactiveQ CPU governors
Zen, noop, deadline, row, cfq, sio, vr schedulers
Experimental Wolfson AND Voodoo Sound support (choose one or the other on the Audio tab of STweaks, then REBOOT!)
CPU voltage control
Linux 3.0.101
AndreiLux: Screen color calibration with mdnie-control
GPU over/underclock and over/undervolt
Control the frequency and voltage of all 5 GPU steps
Support for GPU clocks from 54MHz to beyond 800MHz
Control GPU governor sampling rate
Built with 4.8 toolchain
Built with -O3 and other optimizations
Extra panel brightness (<299)
Faux123: Dynamic fsync control (v1.2)
AndreiLux: Charging control
Support for STweaks
Control screen refresh rate (can be reduced to save battery)
AndreiLux: Memory/internal voltage control interface
AndreiLux: Adaptive Body Bias (ABB) control
AndreiLux: Digital brightness control/reduction (better than ScreenFilter)
LED control (with some color mixing adjustments by me)
Touchwake support, including touchkeys (enable in Screen tab of STweaks)
Multi-touch kernel-based gesture engine
Proportional Rate Reduction for TCP
Joe's RCU
Temasek: Frandom module (enable on the Memory/Internal tab of STweaks and REBOOT!)
S-Pen settings on the S-PEN tab of STweaks
zCache
Support for 4x parallel "Turbo ZRAM" (settings are on the "I/O / RAM" tab of STweaks)
UKSM
Enhanced Touchwake/Slide2Wake functionality
Arc-swipes to turn your phone on with one hand (Screen tab of STweaks)
Long-tap-off to turn your device off with one hand (Screen tab of STweaks)
Power off gesture: tap the top of the screen and a touchkey at the same time to trigger suspend
Change your power manager (PM) CPU lock frequency
Press the home button 4 times to toggle the screen negative
Press the home buttom 3 times as fast as you can to toggle the screen into nightmode (red)
exFAT support
For more, take a look at the commits
.
III. What's NewDon't forget to check out what was new in 2.0b7 and 2.0b12!
[ZRAM Total Disk Size]: By default ZRAM is setup as four (4x) swaps operating in parallel at equal priorities. Set this to the TOTAL amount of RAM you wish to dedicate to ZRAM, and STweaks will automatically divide it evenly by four.
[UKSM Enable]: Enable the UKSM daemon that will continuously scan memory for duplicate data.
[UKSM Daemon Sampling Rate]: How often the daemon checks for duplicate data.
[UKSM CPU Usage Limit]: How much system load (CPU usage) the daemon will use.
[Long-tap-off Always On]: Found in its own section under the Touchwake section. When enabled Longtapoff will always work, regardless of how you woke your device. Takes effect immediately.
[Many ZZMoove settings]: Many ZZMoove settings on the newly created "ZZMoove Scaling" and "ZZMoove Hotplug" tabs. Descriptions coming soon.
.
IV. Download / Donate
Support the development of Plasma kernel by DONATING if you find it useful!
AOSP 4.3.x only!
Plasma kernel v2.02 for AT&T Note 2 (i317)
Plasma Gesture Pack
Support the development of Plasma kernel by DONATING if you find it useful!
.
V. Changelog
v2.02 (November 2nd, 2013)
Tracked audio/media skipping bug to disabled loggers (thanks pappschlumpf!) By default logging is now enabled. While you can still disable it, it will always be reset upon reboot.
Changes to write-back caching (thanks temasek)
Support for switching touchkey backlight driver from ROM/kernel (bottom of Screen tab in STweaks) (thanks Yank555-lu)
Some bug fixes for Slide2Wake
i317: Hopefully fixed the weird root issues
.
VI. Archived Changelogs
2013-10-29 | v2.00
Linux 3.0.101 (thanks temasek)
Hopeful bugfixes for untouchable screen, and taps on top triggering suspend
Should you encounter a problem like that, cycling on and off (power button) should now reset any state variables
Fix FC issues. Works with more ROMs, including the latest AOSP nightlies
Allow pm_idx_freq to be set as high as 1600 MHz, theoretically could slightly speed up waking from deep sleep. Set on "Plasma Tuneables" tab of STweaks
Added several new tuneable ideas to zzmoove
Added "ZZMoove Scaling" and "ZZMoove Hotplug" tabs to STweaks. The descriptions are still a work in progress
Moved mDNIe controls to their own "Color" tab
Greatly enhanced the longpressoff feature's reliability and ease of use (by upgrading to scheduled_work)
Slide2Wake and arc swipes now trigger CPU and memory frequency locks to speed up waking
Slide2Wake and arc swipes no longer accidentally send input in the milliseconds after the screen comes on, but before you finished your gesture
Added option to Screen tab of STweaks to enable Longtapoff always, regardless of how the device woken
Expanded the trigger areas for slide2wake and arc swipes
ZRAM/swap is working and compatible with "Turbo ZRAM" (4x parallel ZRAM swaps for quad core devices) (thanks googyanas)
ZRAM settings in STweaks now allows you to set one total size of RAM that will be divided into 4x ZRAM swaps. Setting to 0 disables all swaps. Changes are applied instantly. No need for any other ZRAM/swap apps or init.d scripts.
UKSM (Ultra KSM (Kernel Samepage Merging)) enabled, with settings on the "I/O / RAM" tab of STweaks. Mostly just a novelty, but what it does is continuously checks RAM for duplicate pages to save space
zCache enabled and always running
Cleancache enabled
Frontswap enabled
Enabled LOWMEM_CHECK (thanks googyanas)
Enabled SPEEDUP_KEYRESUME as discussed in temasek's thread (Placebo effect? Maybe. Better ask Brian Molko. A cookie for you if you understand that reference) (thanks googyanas)
Added my own wake-speed ideas (2-second max-CPU-speed lock, and 2-second max-bus/RAM-speed lock on KEY_POWER press)
Permanently fixed (hopefully) the laggy, skippy, media bug
Toggle negative screen mode by taping the home button 4 times quickly (but NOT as fast as you can) (based on a commit by gokhanmoral)
Toggle nightmode (red) screen mode by pressing the home button 3 times VERY quickly (pretty much as fast as you can) This is purposely designed to be a dim red, as searing bright 255 red isn't particularly easy on your eyes in the dark. Fun fact: this (and the negative one described above) are functional even during boot...triple tap to see your bootscreen turn red
CPUFreq bug fixes/commits (thanks DerTeufel)
Permanent TRIM (thanks googyanas)
Added shell scripts to quickly and easily see statistics with as little typing as possible. Open a command prompt on your device, type "su" and press enter to ascend to root. Now you can type "szc" and press enter to see zCache statistics (szc = show zcache). Or type "ssw" to see swapfile/zRAM statistics (ssw = show swap). Note: Some statistics don't fully populate until a few minutes after boot
Experimental: Set ZZMoove governor for battery savings by obtaining a root shell as described above, then typing "zzb" and pressing enter (zzb = zzmove battery). Does not reapply after reboot.
Compiler optimizations
.
VII. SourceSource for Plasma kernel can be found on my github.
XDA:DevDB Information
Plasma kernel, a Kernel for the AT&T Samsung Galaxy Note II
Contributors
ffolkes
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 2.02
Stable Release Date: 2013-11-02
Created 2013-10-29
Last Updated 2013-11-02
Reserved
FAQ:
Q: I have no earpiece volume!
Be sure to choose Voodoo Sound or Sound Controls on the Audio tab of STweaks, then reboot.Q: I can stably run this kernel. How can I use the screen-off settings so I can save battery?
You will have to intentionally crash your system to find your lowest value, and should definitely make a nandroid first. Then be sure to turn off dynamic fsync on the bottom of the I/O tab of STweaks, as this being enabled could cause data loss from a crash. When you are done with that, the first thing will be to lower the PM Lock Frequency. Try 600MHz, press Apply, then put your device to sleep, give it a few seconds, and see if it wakes. Be sure it's going into deep sleep! If it wakes up instantly, it wasn't in deep sleep. After booting, things like mediascanner can take minutes to finish and release their partial wakelocks. If you are sure it went into deep sleep, repeat with a lower frequency until you cannot wake. Pull the battery and reboot. Once it boots up, go into STweaks and set PM Lock Frequency to the last stable frequency. You must do this before the screen goes off, or else it'll crash again when it enters deep sleep!
Now, once you are sure of your stable PM frequency, move on to the next step. Set CPU Screen-Off Max Frequency to 200MHz. Use your device for a few minutes or hours or whatever. If you find music skips too much, or calls are slow to wake up the phone, set this to 300MHz, but now be prepared for a possible SOD if your device cannot handle scaling that low. If you experience one, leave this setting at 300MHz, and enable "Keep sleep max frequency fixed" and set CPU Screen-Off Fixed Max Frequency to 200MHz. If your phone was slow to wake at 200MHz before, try setting this to 300MHz.
Err, a bit of a vestigial tail here...don't forget to set Screen-Off Frequency For Responsiveness (it's higher up in the PegasusQ Scaling tab) to whatever your lowest screen-off frequency is. It isn't needed anymore and I should have taken it out probably. Like its waking counterpart, it is a threshold below which aggressive upscaling is used. Basically, it's the frequency the CPU will want to hover at, in this case, while the screen is off.Q: Explain the PegasusQ screen-off settings.
CPU Screen-Off Max Frequency - This becomes the effective policy max as soon as you press the power button. Setting this too low may cause slow waking, or choppy music. Ideally this is just like normally setting the max policy; i.e. the governor will try to get frequencies as low as possible without going over this. This means if you get skips in your music at 200MHz, you can set this to 300MHz and the governor will be able to grab that extra power if it needs it. The problem is, some devices get finicky when they're bouncing around between sub-PM Lock frequencies and will crash. That's where the Fixed Sleep Frequency setting comes in. Read on.
Up Threshold While Screen-Off - This becomes the effective Up Threshold value as soon as you press the power button. Setting this higher will make the CPU more reluctant to scale higher (go faster).
PM Lock Frequency - This typically hardcoded value normally overrides the governor to throttle the CPU to 800MHz every time the system itself is unsuspended. This means it happens thousands of times a day, and can significantly add up after a few hours. I found different devices could handle different frequencies, so I made this is adjustable and added an interface to lulzactiveq and zzmoove. 500MHz works very stably for me.
After Boot Delay - Gives your device a grace period after booting during which none of the screen-off policies will be enforced so your start up tasks can be completed quickly.
Enable Fixed Sleep Frequency - This is where things get sorta confusing. If your device can't scale while sleeping, most likely it will be able to tolerate just sticking to one low frequency. But this has a downside...you disable the scaling logic of the governor, so you either have to suffer degraded screen-off performance (skips in your music) with a battery-saving frequency, or set this higher, but then that means you'll be pegging this higher frequency now even though you just needed it occasionally. But yay, I had an idea to put a one-way toggle in there. Read on.
CPU Screen-Off Fixed Max Sleep Frequency - So here's the thing. All devices can handle low scaling just fine, as long the screen is merely off (e.g. listening to music, etc). Once the system falls into deep sleep, that's when stability issues arise. So I had an idea... When you play music, you usually interact with the screen then turn it off, but it never actually goes into deep sleep until it's done playing. So I made it so the above Screen-Off Max Frequency will be used, including scaling, until deep sleep is called for. Then from that point on it will become fixed to this setting's frequency until you turn the screen back on, then the toggle gets reset.
v1.60 Release Notes
Control your panel refresh frequency - This is inspired by and based on AndreiLux's commits last year. Samsung includes a driver called "lcdfreq" that allows for scaling of panel refresh frequency to save power. It toggles between two states: limited and unlimited. Not all devices actively use this feature in stock builds, but it is possible to enable nonetheless. When in limited mode the panel's refresh rate is reduced from 60Hz (58 actual) to 40Hz (41 actual). I went a step further and made it so the limited mode's panel divider can be set manually (25, 27, 29, 31, 34, 37, 41, 45, 50, 60 fps). I also made it so the limited mode can now be forced, effectively allowing you to adjust the default refresh rate of your panel to save battery. Not everyone needs/wants 60fps. How much battery will this save? I don't know yet, but if you want to find out, the option is on the Screen tab of STweaks. Be sure to check the force checkbox. Very low rates will introduce flickering to some eyes (remember, this is a refresh rate being adjusted, not just fps).
Lcdfreq in PegasusQ - Note: This is irrelevant if you have decided to lock your refresh rate as described above. AndreiLux implemented this last year, and I modified it a bit and added more tunables. When enabled, PegasusQ will try to control the state of lcdfreq based on CPU load. Some of you may know AndreiLux abandoned this due to problems with flickering, but I have taken a different approach. His goal was to provide 60Hz as quickly as possible, which ended up frequently alternating between the two states. I'm aiming for the opposite - to stick with limited as long as possible and only boost it during heavy use (like a game). When bounced around between limited and unlimited too rapidly, there can be visible flickering and tearing, and different frequencies seem to slightly affect the color balance, which makes it even more noticeable. Quite possibly why Samsung doesn't use this on Note 2's.
lcdfreq_kick_in_down_delay - When PegasusQ decides it wants to call for the panel to be kicked down (into limited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_up_delay - When PegasusQ decides it wants to call for the panel to be boosted (into unlimited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_freq - Before PegasusQ will consider limiting the refresh rate, the CPU must be running at this frequency or below.
Boost lcdfreq on touch - Immediately boosts to the unlimited state, regardless of what PegasusQ calls for. A commit by AndreiLux. At some point I may add to this to make it time based (i.e. hold the boost for x amount of seconds after a touch).
Control the touchy backlight - On the Screen tab of STweaks. For ROMs that don't provide this support natively, otherwise it may be unreliable.
v1.65 Release Notes
Control your GPU - Over/underclock your GPU! Over/undervolt your GPU, too! Settings explained on the GPU tab of STweaks. Support for frequency, voltage, up/down threshold and GPU governor sampling rate.
Lock/Limit your GPU - You can lock your GPU to a specific step, or limit it to a definable maximum number of steps (e.g. 2 or 3)
Control S-Pen booster - Control/disable the S-Pen CPU booster. Stock is 800MHz, but I find that overkill.
S-Pen X,Y Axis Offset - For some reason Wacom sets this to like 30,30 depending on handedness. I have no idea why, I prefer 0,0. For most users I recommend checking the box on the S-Pen tab in STweaks and leaving the sliders at 0,0.
S-Pen Box Filter - Depending upon what you use your S-Pen for, this makes it much easier to draw shapes, but harder to do finer things, like writing. Think of it as "snap to grid".
Gestures! - Be sure to scroll down to the FAQ section to read how to use them.
Q: How do gestures work?
Flash the gesture pack and reboot. This places the action and handler scripts in /etc/init.d to be run on boot. The available gestures are listed on the Gestures tab of STweaks. You may customize the scripts, but be warned that flashing the zip again will overwrite them.
Some gestures will require you to hold down a touchkey while performing them. Be sure to have a Touchkey Modifier Delay set in STweaks (Screen tab). 100-200ms works well. Now any time you touch and hold a touchkey and then touch the screen within the delay you just set, you will activate gesture-only mode, during which the touchscreen will no longer send touch events to the operating system, only the gesture engine. This means you won't get any bleed through of gesture draws into the foreground app. It's also a safety of sorts, to prevent critical gestures from being accidentally triggered. The downside is, you can't have your cake and eat it...well, not without some delay at least. If the touchkey modifier was simply piggybacked onto the touchkey driver that would be nice, but it would also mean every time you used it, it would also report the touchkey (Menu/Back) event. Or, if you blocked it always, well then obviously your touchkeys wouldn't work anymore. So a compromise is using a very short delay, and after that delay is up, the touchkey driver checks to see if the screen has been touched and the touchkey is still down. If it has been touched, then gesture-only mode is set in the touchscreen driver until all fingers are up. If the screen has NOT been touched after the delay, then the touchkey driver assumes it's just a normal touchkey press and reports it like normal. This may seem like an insanely small delay, but it's meant for you to touch the touchkey and start drawing with another finger *simultaneously*.
tl;dr: Flash the gesture pack, go to the Screen tab and set the Touchkey Modifier Delay to 150ms or so, then apply it. Now test it. First swipe from near the bottom-left corner, up towards the middle-right side. Nothing should happen. Now repeat, this time putting a finger down on the touchkey and holding, while *at the same time* starting to drawing this simple gesture. Aim to have both fingertips touch down at the same time. If it goes well, the virtual power key will be pressed and it will go into suspend. If you have trouble, increase the delay until you get more practice. Eventually you'll be able to do this gesture one-handed by touching the touchkey with the side of your thumb, and sliding/flicking your index or middle finger outward in an arc..
Useful Apps (no affiliation):
BetterBatteryStats XDA / Play
Awesome tool that lets you see both kernel and partial wakelocks, as well as the average percent battery drain.CPU Spy XDA / Play
Provides a GUI to CPU time-in-state data.Micro CPU Monitor Play
One of my favorite apps ever, this puts a very small 1px bar across the top of the screen for each core. It can be set to come from left or right, the background can be set transparent, and the bar thickness and color are adjustable. Very useful for quickly (and discretely) noticing abnormally high CPU usage.top Play
Provides a GUI to the linux command 'top'. Provides a very reliable way to see what processes are using the most CPU time.System Monitor Play
This app makes monitoring CPU history easy, and makes it especially easy to see the effects of hotplugging tweaks because of the way it clearly displays the state of each core..
Notes:
How to use the mdnie-control interface:
AndreiLux and Slimer777 have gone to great lengths to create an extremely accurate internal color profile using a spectrophotometer. The color accuracy is terrific. Most computers and tech use a very unnaturally cool color temperature (blue tint to white), so many people are taken by surprise when they see how yellow reality actually is. You need some time to get used to the new colors, but if you are still not pleased with the result, AndreiLux has setup MANY options for you to tweak in STweaks. Personally, I recommend increasing the chroma saturation weight.
Settings can easily be configured in the STweak app now. Download it from the Play Store.
A bit about body bias:
To summarize this feature: When we traditionally change voltages (SetCPU, Performance Control, etc), we are changing the gate voltage of the transistors. This can be a difficult concept to grasp, so here's a super-simple analogy to help: Imagine a light switch instead of a transistor. You reach your finger out to flick it. The force your finger applies would be analogous to the gate voltage. However transistors also have a body voltage, which can be thought of as the resistance behind the switch. By applying a positive difference between the gate and body, (which usually, but not always, equates to reducing the body voltage) we can make the proverbial switch "looser" so it's easier to flip, but now that it's looser, it's starting to leak a small amount of current as a result. So why would we want to do this if it will be leaking more? Because now that the switch is looser, we'll hopefully need less gate voltage (aka finger pressure in the analogy) which would save more power than was lost with that leakage. Or, for someone overclocking instead of undervolting, the "loose" switch will be easier to flip, and you may achieve an overclock not possible by merely ramping up the gate voltage (brute force) in your voltage control app of choice. Basically like the old saying "two steps forward, one step back" - we get something good, but have to sacrifice a little power lost through leakage. But how about the opposite scenario? What if in the analogy you have a really strong finger? Then you're leaking power for no reason because you don't need a "loose" switch. So, we can take advantage of that fitness and tighten it up by applying a negative body bias (also called a Reverse Body Bias, or RBB). This will make the transistor harder to switch, but plug up the leak and therefore increase power efficiency.
Ok, so why does all this exist? Why not just have an enormous negative bias (RBB) from the factory and save all that power lost through leakage? Because not all chips are equal, and not all transistors on the same chip are even equal. Temperature, manufacturing techniques, a few atoms of contamination, etc can make the chip less "fit" and unable to switch as easily as others. So how do they help these weakling transistors from getting the entire chip sent to the factory garbage can? Well, on one hand the gate voltage can be increased, but that is a last resort since it would waste too much power. Before it comes to that, they get a crutch in the form of a positive body bias (also called a Forward Body Bias, or FBB), which hopefully you'll remember was the subject of the first scenario above. And remember what that does? It makes them easier to switch, but at the cost of slightly decreased power efficiency. This offers better power savings when compared to increasing the gate voltage.
Samsung knows all this, and bins their chips according the ASV level, which can be thought of as the "quality" of the chip. The higher the ASV number, the better the chip, and the less power it needs to do its job. At the factory they mix increased gate voltages with varying body voltages to end up with a table of stock body biases. Long story short, this is how they deal with less-than-perfect chips. It's a lottery for the buyer. But since their values aren't tailored to your chip - the hope is that maybe you can scrape by with a bit less power than Samsung thought a chip of that grade could. So what AndreiLux has done is implemented new scaling logic/control code that lets you adjust the body voltage, and thus the body bias. Thanks to him, we now have another tool to help us squeeze a little bit more power out of our chips.
Calculating your body bias is incredibly simple: bodybias = gatevoltage - bodyvoltage. If you know the voltage of a given frequency, you can calculate your body bias by taking the gate voltage (what it says for that frequency in your usual voltage adjustment app) and then subtracting the value of the slice that corresponds to the range the example frequency was in on the ABB tab of STweaks. This can get tricky, because people forget that "body bias" is a difference between two values. If you start off with a stock negative body bias, that is to say that your body voltage is higher than your gate voltage, increasing your body voltage will actually be increasing your bias and you'll be needlessly wasting more power. However if you start off with a positive stock body bias, adding to the body voltage will actually be decreasing your bias since it will be bringing you closer to the gate voltage.
Mine...
Sent from m
Gonna give this one a try, hopefully it plays nice with Trickster Mod.
Thanks dev.
Will this work with international model? Looks very awesome!
Had it intalled for almost 10 minutes but I already noticed that there is almost NO LAG when waking the screen. Awesome!!!
jibust said:
Had it intalled for almost 10 minutes but I already noticed that there is NO LAG when waking the screen. Awesome!!!
Click to expand...
Click to collapse
Are you getting good deep sleep? The only time the Note 2 screen wakes quickly is if it is not deep sleeping, at least from my personal experience.
BigBake88 said:
Are you getting good deep sleep? The only time the Note 2 screen wakes quickly is if it is not deep sleeping, at least from my personal experience.
Click to expand...
Click to collapse
Like a baby,
What I have noticed is an increase in the battery drain. From the screen shot, you will notice it is not actually scaling, it is either in deep sleep or at 1600 when using pegasusq. I haven't touched most of the settings so I may need to tune it a little more.
Changed to zzmove to see how it performs.
jibust said:
Like a baby,
What I have noticed is an increase in the battery drain. From the screen shot, you will notice it is not actually scaling, it is either in deep sleep or at 1600 when using pegasusq. I haven't touched most of the settings so I may need to tune it a little more.
Changed to zzmove to see how it performs.
Click to expand...
Click to collapse
I don't know why this is happening at the moment, but I do see what's causing this. In PegasusQ, up_threshold is getting set to 0. By default it should be 82. Use SetCPU or something to change the up_threshold to 82 while the PegasusQ governor is active. Or save 82 to "/sys/devices/system/cpu/cpufreq/pegasusq/up_threshold" via your favorite file manager.
ffolkes said:
I don't know why this is happening at the moment, but I do see what's causing this. In PegasusQ, up_threshold is getting set to 0. By default it should be 82. Use SetCPU or something to change the up_threshold to 82 while the PegasusQ governor is active. Or save 82 to "/sys/devices/system/cpu/cpufreq/pegasusq/up_threshold" via your favorite file manager.
Click to expand...
Click to collapse
Done, I will report back in a while. Thanks :good:
that was a great read
looking to try your kernel soon
I ran this on pacman and carbon today, losing superuser / root on both occasions.
Good work, though!
Sent from my GT-N7105 using Tapatalk 4
SwimDrewid said:
I ran this on pacman and carbon today, losing superuser / root on both occasions.
Good work, though!
Sent from my GT-N7105 using Tapatalk 4
Click to expand...
Click to collapse
No issues with root on AOKP. I flashed the supersu zip after flashing the kernel
jibust said:
No issues with root on AOKP. I flashed the supersu zip after flashing the kernel
Click to expand...
Click to collapse
Ah. Mind sharing that zip?
Sent from my GT-N7105 using Tapatalk 4
---------- Post added at 09:52 PM ---------- Previous post was at 09:50 PM ----------
SwimDrewid said:
Ah. Mind sharing that zip?
Sent from my GT-N7105 using Tapatalk 4
Click to expand...
Click to collapse
Physician, heal thyself
http://forum.xda-developers.com/showthread.php?t=1538053
Will try and report back
Sent from my GT-N7105 using Tapatalk 4
SwimDrewid said:
Ah. Mind sharing that zip?
Sent from my GT-N7105 using Tapatalk 4
---------- Post added at 09:52 PM ---------- Previous post was at 09:50 PM ----------
Physician, heal thyself
http://forum.xda-developers.com/showthread.php?t=1538053
Will try and report back
Sent from my GT-N7105 using Tapatalk 4
Click to expand...
Click to collapse
LOL, beat me to it.
jibust said:
LOL, beat me to it.
Click to expand...
Click to collapse
Gave you a thanks anyway
Zip did the trick on carbon, thanks!
Sent from my GT-N7105 using Tapatalk 4
SwimDrewid said:
Gave you a thanks anyway
Zip did the trick on carbon, thanks!
Sent from my GT-N7105 using Tapatalk 4
Click to expand...
Click to collapse
No problem, I actually always flash it. I prefer SuperSU
Amazing read ...and an amazing kernel I'm sure..
I've just downloaded ..and will flash the build shortly..
Wow...I'm baffled by the overwhelming amount of tweaks and customizations this kernel contains...
It's a true marvel ...and one I'm thoroughly going to enjoy I'm sure...
Many thanks to you..g
Sent from my SAMSUNG-SGH-I317 using XDA Premium 4 mobile app
gregsarg said:
Amazing read ...and an amazing kernel I'm sure..
I've just downloaded ..and will flash the build shortly..
Wow...I'm baffled by the overwhelming amount of tweaks and customizations this kernel contains...
It's a true marvel ...and one I'm thoroughly going to enjoy I'm sure...
Many thanks to you..g
Sent from my SAMSUNG-SGH-I317 using XDA Premium 4 mobile app
Click to expand...
Click to collapse
Check out the STweaks apps, it's a fuc**ng encyclopedia.
---------- Post added at 11:12 PM ---------- Previous post was at 11:11 PM ----------
ffolkes said:
I don't know why this is happening at the moment, but I do see what's causing this. In PegasusQ, up_threshold is getting set to 0. By default it should be 82. Use SetCPU or something to change the up_threshold to 82 while the PegasusQ governor is active. Or save 82 to "/sys/devices/system/cpu/cpufreq/pegasusq/up_threshold" via your favorite file manager.
Click to expand...
Click to collapse
Wanted to let you know that it seems the up_threshold for zzmove is 82 instead of the default 70. Could there be a mix up between the zzmove and pegasusq up_threshold values?
jibust said:
Check out the STweaks apps....
Click to expand...
Click to collapse
Uh....
It's gonna take me a week to figure out how to run this beast ....(headache starts now)...LOL
Sent from my SAMSUNG-SGH-I317 using XDA Premium 4 mobile app
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
I. Thanks!
.
Disclaimer: I take no responsibility for any damage that might occur to your device. You proceed strictly at your own risk. This is a work in progress.Thank you for your interest in Plasma kernel, I hope you enjoy it. I've poured hundreds upon hundreds of hours of work into putting together a kernel that best showcases our hardware. Plasma kernel would not be possible without super-smart people like AndreiLux, DerTeufel, temasek, googyanas, faux123, and the regular contributors to the official cm kernel repositories. Please donate to them to support their hard work!.
II. Features
CPU frequency range: 100MHz to 2.16GHz
ZZMoove, PegasusQ, performance (with support for multiple cores), and LulzactiveQ CPU governors
Zen, noop, deadline, row, cfq, sio, vr schedulers
Experimental Wolfson AND Voodoo Sound support (choose one or the other on the Audio tab of STweaks, then REBOOT!)
CPU voltage control
Linux 3.0.101
AndreiLux: Screen color calibration with mdnie-control
GPU over/underclock and over/undervolt
Control the frequency and voltage of all 5 GPU steps
Support for GPU clocks from 54MHz to beyond 800MHz
Control GPU governor sampling rate
Built with 4.8 toolchain
Built with -O3 and other optimizations
Extra panel brightness (<299)
Faux123: Dynamic fsync control (v1.2)
AndreiLux: Charging control
Support for STweaks
Control screen refresh rate (can be reduced to save battery)
AndreiLux: Memory/internal voltage control interface
AndreiLux: Adaptive Body Bias (ABB) control
AndreiLux: Digital brightness control/reduction (better than ScreenFilter)
LED control (with some color mixing adjustments by me)
Touchwake support, including touchkeys (enable in Screen tab of STweaks)
Multi-touch kernel-based gesture engine
Proportional Rate Reduction for TCP
Joe's RCU
Temasek: Frandom module (enable on the Memory/Internal tab of STweaks and REBOOT!)
S-Pen settings on the S-PEN tab of STweaks
zCache
Support for 4x parallel "Turbo ZRAM" (settings are on the "I/O / RAM" tab of STweaks)
UKSM
Enhanced Touchwake/Slide2Wake functionality
Arc-swipes to turn your phone on with one hand (Screen tab of STweaks)
Long-tap-off to turn your device off with one hand (Screen tab of STweaks)
Power off gesture: tap the top of the screen and a touchkey at the same time to trigger suspend
Change your power manager (PM) CPU lock frequency
Press the home button 4 times to toggle the screen negative
Press the home buttom 3 times as fast as you can to toggle the screen into nightmode (red)
exFAT support
For more, take a look at the commits
.
III. What's NewDon't forget to check out what was new in 2.0b7 and 2.0b12!
[ZRAM Total Disk Size]: By default ZRAM is setup as four (4x) swaps operating in parallel at equal priorities. Set this to the TOTAL amount of RAM you wish to dedicate to ZRAM, and STweaks will automatically divide it evenly by four.
[UKSM Enable]: Enable the UKSM daemon that will continuously scan memory for duplicate data.
[UKSM Daemon Sampling Rate]: How often the daemon checks for duplicate data.
[UKSM CPU Usage Limit]: How much system load (CPU usage) the daemon will use.
[Long-tap-off Always On]: Found in its own section under the Touchwake section. When enabled Longtapoff will always work, regardless of how you woke your device. Takes effect immediately.
[Many ZZMoove settings]: Many ZZMoove settings on the newly created "ZZMoove Scaling" and "ZZMoove Hotplug" tabs. Descriptions coming soon.
.
IV. Download / Donate
Support the development of Plasma kernel by DONATING if you find it useful!
AOSP 4.3.x only!
Plasma kernel v2.02 for T-Mobile Note 2 (t889)
Plasma Gesture Pack
Support the development of Plasma kernel by DONATING if you find it useful!
.
V. Changelog
v2.02 (November 2nd, 2013)
Tracked audio/media skipping bug to disabled loggers (thanks pappschlumpf!) By default logging is now enabled. While you can still disable it, it will always be reset upon reboot.
Changes to write-back caching (thanks temasek)
Support for switching touchkey backlight driver from ROM/kernel (bottom of Screen tab in STweaks) (thanks Yank555-lu)
Some bug fixes for Slide2Wake
.
VI. Archived Changelogs
2013-10-29 | v2.00
Linux 3.0.101 (thanks temasek)
Hopeful bugfixes for untouchable screen, and taps on top triggering suspend
Should you encounter a problem like that, cycling on and off (power button) should now reset any state variables
Fix FC issues. Works with more ROMs, including the latest AOSP nightlies
Allow pm_idx_freq to be set as high as 1600 MHz, theoretically could slightly speed up waking from deep sleep. Set on "Plasma Tuneables" tab of STweaks
Added several new tuneable ideas to zzmoove
Added "ZZMoove Scaling" and "ZZMoove Hotplug" tabs to STweaks. The descriptions are still a work in progress
Moved mDNIe controls to their own "Color" tab
Greatly enhanced the longpressoff feature's reliability and ease of use (by upgrading to scheduled_work)
Slide2Wake and arc swipes now trigger CPU and memory frequency locks to speed up waking
Slide2Wake and arc swipes no longer accidentally send input in the milliseconds after the screen comes on, but before you finished your gesture
Added option to Screen tab of STweaks to enable Longtapoff always, regardless of how the device woken
Expanded the trigger areas for slide2wake and arc swipes
ZRAM/swap is working and compatible with "Turbo ZRAM" (4x parallel ZRAM swaps for quad core devices) (thanks googyanas)
ZRAM settings in STweaks now allows you to set one total size of RAM that will be divided into 4x ZRAM swaps. Setting to 0 disables all swaps. Changes are applied instantly. No need for any other ZRAM/swap apps or init.d scripts.
UKSM (Ultra KSM (Kernel Samepage Merging)) enabled, with settings on the "I/O / RAM" tab of STweaks. Mostly just a novelty, but what it does is continuously checks RAM for duplicate pages to save space
zCache enabled and always running
Cleancache enabled
Frontswap enabled
Enabled LOWMEM_CHECK (thanks googyanas)
Enabled SPEEDUP_KEYRESUME as discussed in temasek's thread (Placebo effect? Maybe. Better ask Brian Molko. A cookie for you if you understand that reference) (thanks googyanas)
Added my own wake-speed ideas (2-second max-CPU-speed lock, and 2-second max-bus/RAM-speed lock on KEY_POWER press)
Permanently fixed (hopefully) the laggy, skippy, media bug
Toggle negative screen mode by taping the home button 4 times quickly (but NOT as fast as you can) (based on a commit by gokhanmoral)
Toggle nightmode (red) screen mode by pressing the home button 3 times VERY quickly (pretty much as fast as you can) This is purposely designed to be a dim red, as searing bright 255 red isn't particularly easy on your eyes in the dark. Fun fact: this (and the negative one described above) are functional even during boot...triple tap to see your bootscreen turn red
CPUFreq bug fixes/commits (thanks DerTeufel)
Permanent TRIM (thanks googyanas)
Added shell scripts to quickly and easily see statistics with as little typing as possible. Open a command prompt on your device, type "su" and press enter to ascend to root. Now you can type "szc" and press enter to see zCache statistics (szc = show zcache). Or type "ssw" to see swapfile/zRAM statistics (ssw = show swap). Note: Some statistics don't fully populate until a few minutes after boot
Experimental: Set ZZMoove governor for battery savings by obtaining a root shell as described above, then typing "zzb" and pressing enter (zzb = zzmove battery). Does not reapply after reboot.
Compiler optimizations
.
VII. SourceSource for Plasma kernel can be found on my github.
XDA:DevDB Information
Plasma kernel, a Kernel for the T-Mobile Samsung Galaxy Note II
Contributors
ffolkes
Kernel Special Features:
Version Information
Status: Stable
Current Stable Version: 2.02
Stable Release Date: 2013-11-02
Created 2013-10-29
Last Updated 2013-11-02
Reserved
FAQ:
Q: I have no earpiece volume!
Be sure to choose Voodoo Sound or Sound Controls on the Audio tab of STweaks, then reboot.Q: I can stably run this kernel. How can I use the screen-off settings so I can save battery?
You will have to intentionally crash your system to find your lowest value, and should definitely make a nandroid first. Then be sure to turn off dynamic fsync on the bottom of the I/O tab of STweaks, as this being enabled could cause data loss from a crash. When you are done with that, the first thing will be to lower the PM Lock Frequency. Try 600MHz, press Apply, then put your device to sleep, give it a few seconds, and see if it wakes. Be sure it's going into deep sleep! If it wakes up instantly, it wasn't in deep sleep. After booting, things like mediascanner can take minutes to finish and release their partial wakelocks. If you are sure it went into deep sleep, repeat with a lower frequency until you cannot wake. Pull the battery and reboot. Once it boots up, go into STweaks and set PM Lock Frequency to the last stable frequency. You must do this before the screen goes off, or else it'll crash again when it enters deep sleep!
Now, once you are sure of your stable PM frequency, move on to the next step. Set CPU Screen-Off Max Frequency to 200MHz. Use your device for a few minutes or hours or whatever. If you find music skips too much, or calls are slow to wake up the phone, set this to 300MHz, but now be prepared for a possible SOD if your device cannot handle scaling that low. If you experience one, leave this setting at 300MHz, and enable "Keep sleep max frequency fixed" and set CPU Screen-Off Fixed Max Frequency to 200MHz. If your phone was slow to wake at 200MHz before, try setting this to 300MHz.
Err, a bit of a vestigial tail here...don't forget to set Screen-Off Frequency For Responsiveness (it's higher up in the PegasusQ Scaling tab) to whatever your lowest screen-off frequency is. It isn't needed anymore and I should have taken it out probably. Like its waking counterpart, it is a threshold below which aggressive upscaling is used. Basically, it's the frequency the CPU will want to hover at, in this case, while the screen is off.Q: Explain the PegasusQ screen-off settings.
CPU Screen-Off Max Frequency - This becomes the effective policy max as soon as you press the power button. Setting this too low may cause slow waking, or choppy music. Ideally this is just like normally setting the max policy; i.e. the governor will try to get frequencies as low as possible without going over this. This means if you get skips in your music at 200MHz, you can set this to 300MHz and the governor will be able to grab that extra power if it needs it. The problem is, some devices get finicky when they're bouncing around between sub-PM Lock frequencies and will crash. That's where the Fixed Sleep Frequency setting comes in. Read on.
Up Threshold While Screen-Off - This becomes the effective Up Threshold value as soon as you press the power button. Setting this higher will make the CPU more reluctant to scale higher (go faster).
PM Lock Frequency - This typically hardcoded value normally overrides the governor to throttle the CPU to 800MHz every time the system itself is unsuspended. This means it happens thousands of times a day, and can significantly add up after a few hours. I found different devices could handle different frequencies, so I made this is adjustable and added an interface to lulzactiveq and zzmoove. 500MHz works very stably for me.
After Boot Delay - Gives your device a grace period after booting during which none of the screen-off policies will be enforced so your start up tasks can be completed quickly.
Enable Fixed Sleep Frequency - This is where things get sorta confusing. If your device can't scale while sleeping, most likely it will be able to tolerate just sticking to one low frequency. But this has a downside...you disable the scaling logic of the governor, so you either have to suffer degraded screen-off performance (skips in your music) with a battery-saving frequency, or set this higher, but then that means you'll be pegging this higher frequency now even though you just needed it occasionally. But yay, I had an idea to put a one-way toggle in there. Read on.
CPU Screen-Off Fixed Max Sleep Frequency - So here's the thing. All devices can handle low scaling just fine, as long the screen is merely off (e.g. listening to music, etc). Once the system falls into deep sleep, that's when stability issues arise. So I had an idea... When you play music, you usually interact with the screen then turn it off, but it never actually goes into deep sleep until it's done playing. So I made it so the above Screen-Off Max Frequency will be used, including scaling, until deep sleep is called for. Then from that point on it will become fixed to this setting's frequency until you turn the screen back on, then the toggle gets reset.
v1.60 Release Notes
Control your panel refresh frequency - This is inspired by and based on AndreiLux's commits last year. Samsung includes a driver called "lcdfreq" that allows for scaling of panel refresh frequency to save power. It toggles between two states: limited and unlimited. Not all devices actively use this feature in stock builds, but it is possible to enable nonetheless. When in limited mode the panel's refresh rate is reduced from 60Hz (58 actual) to 40Hz (41 actual). I went a step further and made it so the limited mode's panel divider can be set manually (25, 27, 29, 31, 34, 37, 41, 45, 50, 60 fps). I also made it so the limited mode can now be forced, effectively allowing you to adjust the default refresh rate of your panel to save battery. Not everyone needs/wants 60fps. How much battery will this save? I don't know yet, but if you want to find out, the option is on the Screen tab of STweaks. Be sure to check the force checkbox. Very low rates will introduce flickering to some eyes (remember, this is a refresh rate being adjusted, not just fps).
Lcdfreq in PegasusQ - Note: This is irrelevant if you have decided to lock your refresh rate as described above. AndreiLux implemented this last year, and I modified it a bit and added more tunables. When enabled, PegasusQ will try to control the state of lcdfreq based on CPU load. Some of you may know AndreiLux abandoned this due to problems with flickering, but I have taken a different approach. His goal was to provide 60Hz as quickly as possible, which ended up frequently alternating between the two states. I'm aiming for the opposite - to stick with limited as long as possible and only boost it during heavy use (like a game). When bounced around between limited and unlimited too rapidly, there can be visible flickering and tearing, and different frequencies seem to slightly affect the color balance, which makes it even more noticeable. Quite possibly why Samsung doesn't use this on Note 2's.
lcdfreq_kick_in_down_delay - When PegasusQ decides it wants to call for the panel to be kicked down (into limited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_up_delay - When PegasusQ decides it wants to call for the panel to be boosted (into unlimited mode) it will have to ask this many times before actually doing it.
lcdfreq_kick_in_freq - Before PegasusQ will consider limiting the refresh rate, the CPU must be running at this frequency or below.
Boost lcdfreq on touch - Immediately boosts to the unlimited state, regardless of what PegasusQ calls for. A commit by AndreiLux. At some point I may add to this to make it time based (i.e. hold the boost for x amount of seconds after a touch).
Control the touchy backlight - On the Screen tab of STweaks. For ROMs that don't provide this support natively, otherwise it may be unreliable.
v1.65 Release Notes
Control your GPU - Over/underclock your GPU! Over/undervolt your GPU, too! Settings explained on the GPU tab of STweaks. Support for frequency, voltage, up/down threshold and GPU governor sampling rate.
Lock/Limit your GPU - You can lock your GPU to a specific step, or limit it to a definable maximum number of steps (e.g. 2 or 3)
Control S-Pen booster - Control/disable the S-Pen CPU booster. Stock is 800MHz, but I find that overkill.
S-Pen X,Y Axis Offset - For some reason Wacom sets this to like 30,30 depending on handedness. I have no idea why, I prefer 0,0. For most users I recommend checking the box on the S-Pen tab in STweaks and leaving the sliders at 0,0.
S-Pen Box Filter - Depending upon what you use your S-Pen for, this makes it much easier to draw shapes, but harder to do finer things, like writing. Think of it as "snap to grid".
Gestures! - Be sure to scroll down to the FAQ section to read how to use them.
Q: How do gestures work?
Flash the gesture pack and reboot. This places the action and handler scripts in /etc/init.d to be run on boot. The available gestures are listed on the Gestures tab of STweaks. You may customize the scripts, but be warned that flashing the zip again will overwrite them.
Some gestures will require you to hold down a touchkey while performing them. Be sure to have a Touchkey Modifier Delay set in STweaks (Screen tab). 100-200ms works well. Now any time you touch and hold a touchkey and then touch the screen within the delay you just set, you will activate gesture-only mode, during which the touchscreen will no longer send touch events to the operating system, only the gesture engine. This means you won't get any bleed through of gesture draws into the foreground app. It's also a safety of sorts, to prevent critical gestures from being accidentally triggered. The downside is, you can't have your cake and eat it...well, not without some delay at least. If the touchkey modifier was simply piggybacked onto the touchkey driver that would be nice, but it would also mean every time you used it, it would also report the touchkey (Menu/Back) event. Or, if you blocked it always, well then obviously your touchkeys wouldn't work anymore. So a compromise is using a very short delay, and after that delay is up, the touchkey driver checks to see if the screen has been touched and the touchkey is still down. If it has been touched, then gesture-only mode is set in the touchscreen driver until all fingers are up. If the screen has NOT been touched after the delay, then the touchkey driver assumes it's just a normal touchkey press and reports it like normal. This may seem like an insanely small delay, but it's meant for you to touch the touchkey and start drawing with another finger *simultaneously*.
tl;dr: Flash the gesture pack, go to the Screen tab and set the Touchkey Modifier Delay to 150ms or so, then apply it. Now test it. First swipe from near the bottom-left corner, up towards the middle-right side. Nothing should happen. Now repeat, this time putting a finger down on the touchkey and holding, while *at the same time* starting to drawing this simple gesture. Aim to have both fingertips touch down at the same time. If it goes well, the virtual power key will be pressed and it will go into suspend. If you have trouble, increase the delay until you get more practice. Eventually you'll be able to do this gesture one-handed by touching the touchkey with the side of your thumb, and sliding/flicking your index or middle finger outward in an arc..
Useful Apps (no affiliation):
BetterBatteryStats XDA / Play
Awesome tool that lets you see both kernel and partial wakelocks, as well as the average percent battery drain.CPU Spy XDA / Play
Provides a GUI to CPU time-in-state data.Micro CPU Monitor Play
One of my favorite apps ever, this puts a very small 1px bar across the top of the screen for each core. It can be set to come from left or right, the background can be set transparent, and the bar thickness and color are adjustable. Very useful for quickly (and discretely) noticing abnormally high CPU usage.top Play
Provides a GUI to the linux command 'top'. Provides a very reliable way to see what processes are using the most CPU time.System Monitor Play
This app makes monitoring CPU history easy, and makes it especially easy to see the effects of hotplugging tweaks because of the way it clearly displays the state of each core..
Notes:
How to use the mdnie-control interface:
AndreiLux and Slimer777 have gone to great lengths to create an extremely accurate internal color profile using a spectrophotometer. The color accuracy is terrific. Most computers and tech use a very unnaturally cool color temperature (blue tint to white), so many people are taken by surprise when they see how yellow reality actually is. You need some time to get used to the new colors, but if you are still not pleased with the result, AndreiLux has setup MANY options for you to tweak in STweaks. Personally, I recommend increasing the chroma saturation weight.
Settings can easily be configured in the STweak app now. Download it from the Play Store.
A bit about body bias:
To summarize this feature: When we traditionally change voltages (SetCPU, Performance Control, etc), we are changing the gate voltage of the transistors. This can be a difficult concept to grasp, so here's a super-simple analogy to help: Imagine a light switch instead of a transistor. You reach your finger out to flick it. The force your finger applies would be analogous to the gate voltage. However transistors also have a body voltage, which can be thought of as the resistance behind the switch. By applying a positive difference between the gate and body, (which usually, but not always, equates to reducing the body voltage) we can make the proverbial switch "looser" so it's easier to flip, but now that it's looser, it's starting to leak a small amount of current as a result. So why would we want to do this if it will be leaking more? Because now that the switch is looser, we'll hopefully need less gate voltage (aka finger pressure in the analogy) which would save more power than was lost with that leakage. Or, for someone overclocking instead of undervolting, the "loose" switch will be easier to flip, and you may achieve an overclock not possible by merely ramping up the gate voltage (brute force) in your voltage control app of choice. Basically like the old saying "two steps forward, one step back" - we get something good, but have to sacrifice a little power lost through leakage. But how about the opposite scenario? What if in the analogy you have a really strong finger? Then you're leaking power for no reason because you don't need a "loose" switch. So, we can take advantage of that fitness and tighten it up by applying a negative body bias (also called a Reverse Body Bias, or RBB). This will make the transistor harder to switch, but plug up the leak and therefore increase power efficiency.
Ok, so why does all this exist? Why not just have an enormous negative bias (RBB) from the factory and save all that power lost through leakage? Because not all chips are equal, and not all transistors on the same chip are even equal. Temperature, manufacturing techniques, a few atoms of contamination, etc can make the chip less "fit" and unable to switch as easily as others. So how do they help these weakling transistors from getting the entire chip sent to the factory garbage can? Well, on one hand the gate voltage can be increased, but that is a last resort since it would waste too much power. Before it comes to that, they get a crutch in the form of a positive body bias (also called a Forward Body Bias, or FBB), which hopefully you'll remember was the subject of the first scenario above. And remember what that does? It makes them easier to switch, but at the cost of slightly decreased power efficiency. This offers better power savings when compared to increasing the gate voltage.
Samsung knows all this, and bins their chips according the ASV level, which can be thought of as the "quality" of the chip. The higher the ASV number, the better the chip, and the less power it needs to do its job. At the factory they mix increased gate voltages with varying body voltages to end up with a table of stock body biases. Long story short, this is how they deal with less-than-perfect chips. It's a lottery for the buyer. But since their values aren't tailored to your chip - the hope is that maybe you can scrape by with a bit less power than Samsung thought a chip of that grade could. So what AndreiLux has done is implemented new scaling logic/control code that lets you adjust the body voltage, and thus the body bias. Thanks to him, we now have another tool to help us squeeze a little bit more power out of our chips.
Calculating your body bias is incredibly simple: bodybias = gatevoltage - bodyvoltage. If you know the voltage of a given frequency, you can calculate your body bias by taking the gate voltage (what it says for that frequency in your usual voltage adjustment app) and then subtracting the value of the slice that corresponds to the range the example frequency was in on the ABB tab of STweaks. This can get tricky, because people forget that "body bias" is a difference between two values. If you start off with a stock negative body bias, that is to say that your body voltage is higher than your gate voltage, increasing your body voltage will actually be increasing your bias and you'll be needlessly wasting more power. However if you start off with a positive stock body bias, adding to the body voltage will actually be decreasing your bias since it will be bringing you closer to the gate voltage.
Great to see a new kernel for aosp, Thanks. So far everything is running pretty good, love all the options in stweaks!
Very nice a lot greatness in the kernel. Would you consider making one for touch wiz?
Sent from my SGH-T889 using XDA Premium 4 mobile app
This kernel looks very nice, thanks.
Does this kernel allow for using USB Dock Audio? (or in other words, is there USB Audio Support without having to use the USB Audio Recorder Pro app?)
Thanks!
Awesome. Testing this out now!! Thanks for taking the time to create another Kernel for the community.
pappy97 said:
This kernel looks very nice, thanks.
Does this kernel allow for using USB Dock Audio? (or in other words, is there USB Audio Support without having to use the USB Audio Recorder Pro app?)
Thanks!
Click to expand...
Click to collapse
I believe so. It's enabled in the config, but I don't have a dock to test it on.
Testing it on the 18th PAC nightly, and is working great and flawless so far. Using Zzmove and Zen great combo. Thanks for your work! :good:
Also using on pac and it works excellent. Thanks so much OP
Sent from my SGH-T889 using Tapatalk
Can't download for some reason from my phone.
inkd86 said:
Can't download for some reason from my phone.
Click to expand...
Click to collapse
Downloaded from tapatalk just fine but no audio. I selected voodoo sound but can't download app to control. Play says voodoo app is incompatible and having trouble with apk
Sent from my GT-N7105 using Tapatalk
TeamHackura said:
Downloaded from tapatalk just fine but no audio. I selected voodoo sound but can't download app to control. Play says voodoo app is incompatible and having trouble with apk
Sent from my GT-N7105 using Tapatalk
Click to expand...
Click to collapse
You gotta sideload it
regime2008 said:
You gotta sideload it
Click to expand...
Click to collapse
Yep, just having trouble finding apk
Sent from my GT-N7105 using Tapatalk
TeamHackura said:
Yep, just having trouble finding apk
Sent from my GT-N7105 using Tapatalk
Click to expand...
Click to collapse
Here it is.
ffolkes said:
Here it is.
Click to expand...
Click to collapse
Worked! I also had to download an apk installer. I'm on cm nightly. Wouldn't install apk without. Very weird
is this Kernel for 4.2.x CM or only 4.3?
Your answer is on the first page I BELIEVE
Sent from my SGH-T889 using xda app-developers app
Somehow I never noticed this kernel before. Going to give it a run now.
thanks
Sorry it has gone so long without an update. Here is 2.04b2 for 4.3.x (Jellybean). For a change log, check the last pages of the Sprint thread.
Not sure if it is the kernel or not, but I'm on liquid smooth, and my phone will freeze and I have to do a battery pull. Has happened twice. Even after the update.
Sent from my SGH-T889 using Tapatalk
ElementalX Kernel
for Nexus 5 (hammerhead)
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Features
Easy installation and setup with AROMA installer
Best balance of performance and battery life
Advanced color control
USB fastcharge (optional)
Sweep2sleep (optional)
Sweep2wake and doubletap2wake (optional)
Disable wake functions with timeout or power button
Wake Gestures app support
MultiROM support
Disable fsync (optional)
Sound control
Cooler color preset (optional)
backlight dimmer (optional)
Underclock or overclock CPU
L2 and bus overclocking options
Choose automatic minimum voltage
kernel-based thermal control
GPU overclocking options
voltage control
NTFS read/write and exFAT support
init.d support
Charge light support (enabled by some ROMs)
No forceencrypt
Google+ Community
Installation
1. Flash in recovery
For maximum compatibility with all ROMs, ElementalX uses your existing ramdisk.
Do NOT flash this over other custom kernels!
You should only flash ElementalX over the kernel that came with your ROM!!!
Download
Android 8.1.0 (Oreo) (Might work, might not, who knows...)
ElementalX-N5-9.02
Android 7.1.1 (Nougat, but also works on Marshmallow)
ElementalX-N5-8.14
Android 6.0.1 (Marshmallow)
ElementalX-N5-6.27
Note: 6.25 is for ROMs with July security patches or later! Please use 6.17 if WiFi doesn't work
App to customize Wake Gestures:
http://elementalx.org/wake-gestures/
Source
https://github.com/flar2/ElementalX-N5
_____________________________________
XDA:DevDB Information
ElementalX Kernel, Kernel for the Google Nexus 5
Contributors
flar2
Source Code: https://github.com/flar2/ElementalX-N5
Kernel Special Features:
Version Information
Status: Stable
Created 2013-11-09
Last Updated 2018-03-03
Notes
REVIEWS
NOTES
ElementalX Configuration File
Your choices in the Aroma installer are used to build a configuration file. The config file is located at /etc/elementalx.conf. You can edit this file to change kernel settings. Whatever is set in this file will take effect when the device is booted (unless other scripts or apps interfere!)
If settings are not sticking:[*]Make sure you have busybox installed correctly and updated to the latest version[*]Make sure the file permissions for /etc/init.d/99elementalx are set to execute. [*]Check to see if any /etc/init.d scripts or apps (such as Kernel Tuner or TricksterMod) are interfering with your settings.
ElementalX Log File
Every boot, a log file is created at /data/local/tmp/elementalx-kernel.log. This file shows the date and time and all settings that have been applied. Use this to verify and troubleshoot configuration options.
ElementalX Governor
The ElementalX CPU governor has been specifically designed and tuned to get the best balance between battery life and performance. By default, it is more conservative than Ondemand. During routine usage, the CPU frequency does not ramp up very often. If gboost is enabled, during gaming or any other graphics intensive situation, the CPU frequencies boost much easier in order to maintain maximum performance. There is also a built in input boost. There are several tunables specific to the governor:
input_event_min_freq: takes four values separated by comma. These are the input boost frequencies for cores 0, 1, 2, and 3 (default 1728000, 1267200, 1267200, 1267200)
input_event_timeout: this is the length of time in milliseconds that the input boost will be active (default 500). Setting this to 0 disables input boosting.
ui_sampling_rate: when you touch the screen, the sampling rate changes temporarily to whatever you set here (default 15000)
two_phase_frequency: this sets the max frequency for moderate loads. Accepts four frequency values separated by comma, for cores 0, 1, 2, and 3. (default 1728000, 1728000, 1728000, 1728000)
How does it work? It's basically a multiphase ondemand governor.
The basic governor is very conservative for most phone activities, spending most of its time at 1267MHz. If there is graphics load, we switch to a two phase ondemand. The first phase runs with a max freq of 1728MHz (default). If the load increases, it goes to max frequency (default is 2265MHz) and the minimum frequency changes to 1267200 (I will probably make this tunable)
The input boost does a couple things. First, it lowers the sampling rate for the timeout duration to make the governor more responsive. Second, it boosts the frequency of any online cores. You can disable this by setting input_event_timeout to 0.
If you want to experiment, delete /system/lib/hw/power.msm8974.so and set the input_event_timeout to about 1000. But I recommend leaving it alone for optimal smoothness.
Faux Clock/TricksterMod/Kernel Tuner/etc
You don't need these apps because the ElementalX installer sets everything up automatically, but if you want to check or change settings, you can use these apps. Just be aware that some of them (e.g. Kernel Tuner) are set by default to apply settings on boot, which can interfere with the settings you chose in the ElementalX installer.
Overclocking
Overclocking (or underclocking) is optional. The installer lets you choose the maximum frequency. You can set the maximum frequency individually for each CPU core in the installer. Whatever frequencies you chose in the installer will be set at boot for each CPU. Not all devices can handle overclocking. I don't recommend overclocking, this device is fast enough. If you overclock, the CPU frequency will likely be throttled due to heat. I recommend the stock frequencies, as this device is plenty fast.
CPU voltages
The installer allows you to choose from several undervolting options. These automatically undervolt the lowest frequency (300MHz) where the CPU spends most of its time. The voltages for other frequencies are assigned based on the PVS bin of your phone. CPU voltages are fully customisable with apps such Kernel Tuner or Trickster Mod, but I recommend leaving these other voltages as-is unless you are prepared to do a lot of testing. Be careful, lowering voltages can cause instability. Generally, having reboots while the phone is asleep or other weird problems is a sign that your minimum voltage is too low.
GPU Governor
The default GPU govenror is ondemand. It works well and is recommended for best balance between performance and batter life. The simple governor is also available, but ramps up the GPU frequency much quicker than ondemand, so may impact battery life. The governor can be set in /etc/elementalx.conf
fsync
fsync can be disabled if you're looking for the last ounce of performance. I recommend leaving it enabled as there is a slight risk of data loss if your phone shuts off unexpectedly before filesystems are synced.
Max screen off frequency
The default max screen off frequency is 1190MHz, which is a good balance between limiting the voltage/frequency and the time required to complete tasks while the screen is off. This can be changed manually at /sys/devices/system/cpu/cpu0/cpufreq/screen_off_max_freq
Installing a new ROM
If you install a new ROM, it will probably replace this with the stock kernel and will definitely overwrite /etc/init.d/99elementalx and /etc/elementalx.conf so you will lose your settings and certain features. So always reinstall the kernel after installing a ROM.
NTFS and exFAT support
This is for anyone who wants to use OTG to connect a USB stick or portable harddrive formatted with Microsoft's NTFS or exFAT filesystems. You will need Stickmount or a similar app.
F2FS support
F2FS support is built into the kernel, however, you will need to have an F2FS compatible kernel installed before you install ElementalX to get all the proper ramdisk stuff.
Wake Gestures
This is a new feature similar to the Motion Launch Gestures on the HTC One m8. Requires this app:http://elementalx.org/wake-gestures/
Set /sys/android_touch/wake_gestures to 1 to enable input events for wake gesture actions. Set to 0 to use traditional sweep2wake or doubletap2wake (wakes up the phone and turns on the screen only).
Note that if you enable wake_gestures, nothing will happen if you don't install the Wake Gesture Xposed module.
Sweep2wake
Sweep2wake allows you to turn on your phone by swiping your finger across the screen. There are four sweep actions that will work
Gesture........Value
Sweep right......1
Sweep left........2
Sweep up.........4
Sweep down....8
Add up the values for each gesture you want to enable and put the total in /sys/android_touch/sweep2wake. For example, to enable all gestures, the value is 15 (1+2+4+8). To enable sweep right, sweep left and sweep up, the value is 7 (1+2+4)
/sys/android_touch/sweep2wake
Doubletap2wake
DoubleTap2Wake (DT2W) allows you to wake the device by double tapping anywhere on the screen. This causes significant battery drain. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/doubletap2wake
0 = disabled
1 = enabled (bottom of screen only)
2 = enabled (full screen)
Vibration Strength
Haptic feedback can be enabled for the wake gestures in /sys/android_touch/vib_strength. This setting takes a number between 0 and 90. Default is 20. Setting this to 0 disables haptic feedback for gestures.
S2W/DT2W power key toggle
If enabled, turning the screen off with the power button disables s2w and dt2w to save battery (since s2w/dt2w cause significant battery drain). When you turn the screen back on, s2w and dt2w return to their previous settings. If the screen times out, s2w/dt2w are not disabled this is only if you use the power button to turn it off. You can edit /etc/elementalx.conf to change the setting on boot.
S2W/DT2W Timeout
Doubletap2wake and sweep2wake can be automatically disabled after a certain number of minutes. I give a few choices between 5 and 120 minutes in the installer. Default is 30 minutes. You can put in whatever you want in /etc/elementalx.conf.
When the screen is turned on, the timeout is canceled and will start again next time you turn the screen off. This means that if you have your screen set to come on for incoming messages or notifications, the timeout will start over again.
If you also enabled the power button to toggle s2w/dt2w, there is no timeout when you use the power button, the wake functions are immediately disabled (same as before).
You can edit /etc/elementalx.conf to change the setting on boot.
Sweep2Sleep
Sweep2Sleep allows you to put the device to sleep by sweeping your finger across the navigation bar area. Unlike Sweep2wake, this does not cause any battery drain. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/android_touch/sweep2sleep
0 = disabled
1 = sweep right
2 = sweep left
3 = sweep left or right
Color preset
There are two color presets: stock and slightly cooler. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/module/mdss_dsi/parameters/color_preset
0 = stock color
1 = slightly cooler color
Backlight dimmer
Backlight dimmer allows you to adjust the LCD screen brightness lower than is possible with stock. Be careful, you can lower the brightness so much you can barely see it. You can edit /etc/elementalx.conf to change the setting on boot.
/sys/module/lm3630_bl/parameters/backlight_dimmer
0 = disabled
1 = enabled
USB fastcharge
USB fastcharge is optional. This will allow you to charge at a faster rate when connected to a USB port. The default limit for USB ports is 500ma, this increases it to 900ma. Be sure that the computer/laptop/whatever you are plugged into can handle it. Some will automatically cap it at 500ma. Please note that this does not force AC charge mode like previous implementations of force fastcharge. Your battery setting will still say USB mode. You can edit /etc/elementalx.conf to change the setting on boot.
Changelog
Sep29, 2014 - ElementalX-N5-1.10
-revert i2c update
-clean up voltage control
-ext4 speedup
Sep15, 2014 - ElementalX-N5-1.09
-update to fauxsound 3.6
-i2c update
-update audio subsystem (cm version only)
Sep10, 2014 - ElementalX-N5-1.08
-update msm-sleeper
-fix installer
Sep 6, 2014 - ElementalX-N5-1.07
-fix permissions for vib
Sep 5, 2014 - ElementalX-N5-1.06
-fix permissions for vib and color settings
-update msm-sleeper
-fix flashlight permissions
-add support for USB Keyboard app
Aug 25, 2014 - ElementalX-N5-1.05
-fix long timeouts in wake_timeout
-support 3G USB dongles
-lower i2c clockrate
Aug 8, 2014 - ElementalX-N5-1.04
-latest updates to fauxsound
-support Logitech Unifying Receiver
-NFS support
Aug 3, 2014 - ElementalX-N5-1.03
-security updates and fixes
-ability to use proprietary chargers
July 2, 2014 - ElementalX-N5-1.02
-fix touchboost not enabled on recent builds (CM/CAF version)
June 29, 2014 - ElementalX-N5-1.01
-CAF updates to audio subsystem (CM/CAF version)
June 19, 2014 - ElementalX-N5-1.00
-rebase
-all features same as before
June 10, 2014 - ElementalX-N5-0.44
-update installer
-various tweaks and optimizations
-fix slimport irq not enabled
June 4, 2014 - ElementalX-N5-0.43
-update with Android 4.4.3 kernel source
-fix vibration intensity
June 3, 2014 - ElementalX-N5-0.42
-faster boot up
-revert enable proprietary charger
June 1, 2014 - ElementalX-N5-0.41
-new wake timeout method
-various fixes and optimizations
-stereo call recording support (untested)
-update installer
May 25, 2014 - ElementalX-N5-0.40
-fix installer
-adjust vertical sweep length
-adjust doubletap timeout
-update slimbus oc (@poondog/@zeroinfinity)
May 25, 2014 - ElementalX-N5-0.39
-bidirectional sweep2sleep
-omnidirectional sweep2wake
-wake gestures interface (requires xposed module)
-optional haptic feedback for gestures
-updated installer
-option to use stock ondemand governor
-build with Linaro GCC 4.9.1 toolchain (@Christopher83)
-other fixes and optimizations
Apr 25, 2014 - ElementalX-N5-0.38
-adjust hardfloat compile option
Apr 21, 2014 - ElementalX-N5-0.37
-update F2FS support
Apr 5, 2014 - ElementalX-N5-0.36
-revert sched tweaks
Apr 2, 2014 - ElementalX-N5-0.35
-update backlight_dimmer
-rgb color control (savoca)
-a few fixes and optimizations
Mar 17, 2014 - ElementalX-N5-0.34
-fix installer typo
-fix playback of secure video
Mar 16, 2014 - ElementalX-N5-0.33
-add F2FS support
-add wake function timeout option
-add readahead options
-update installer
Mar 4, 2014 - ElementalX-N5-0.32
-many CAF updates and fixes
-rework and cleanup elementalx governor
-ROW is default i/o scheduler again
Feb 27, 2014 - ElementalX-N5-0.31
-s2w/dt2w power button toggle fix
-update backlight dimmer (more gradual steps)
-revert some changes from 0.30
Feb 22, 2014 - ElementalX-N5-0.30
-deadline is default i/o scheduler
-update backlight dimmer (more gradual steps)
-export storage for usb otg
-update installer
-save elementalx.conf to sdcard
-express installer sees all options now
-many optimizations and fixes (see github)
Feb 1, 2014 - ElementalX-N5-0.29
-fix photos taken with flash
Jan 27, 2014 - ElementalX-N5-0.28
-cyanogenmod support
Jan 26, 2014 - ElementalX-N5-0.27
-CAF updates to audio
-update installer
-save elementalx.conf to sdcard
-express installer sees all options now
Jan 21, 2014 - ElementalX-N5-0.26
-improve compatibility with various ROMs
Jan 20, 2014 - ElementalX-N5-0.25
-remove simple GPU gov
-update gamma sysfs interface (credit: myfluxi)
-enable C2 and C3 states
-maintain touchboost in all ROMs
-update Aroma Installer to 2.70RC2
-fix installer cmdline creation
-fix green line on videos
-express installer keeps previous max freq, l2 and uv options
Jan 11, 2014 - ElementalX-N5-0.24
-slight boost to elementalx governor
-small boost to l2/bus for touchboost frequency
-many fixes and optimizations (see github)
-update installer
-add DriveDroid support
Jan 5, 2014 - ElementalX-N5-0.23
-tweak deadline i/o scheduler
-slimbus overclock (credit: poondog)
-implement always on rgb led support (requires rom support)
-i/o scheduler option in installer
-express version
Jan 1, 2014 - ElementalX-N5-0.22
-update installer
-doubletap2wake default is bottom of screen only
-doubletap2wake fullscreen option
-various tweaks and optimizations
Dec 30, 2013 - ElementalX-N5-0.21
-revert some tweaks
-update installer
-cfq is default scheduler
Dec 28, 2013 - ElementalX-N5-0.20
-move elementalx.conf back to /etc
-update installer
-remove async_fsync
-restore enable/disable fsync option
Dec 26, 2013 - ElementalX-N5-0.19.1
-move elementalx.conf to /data/local/elementalx.conf
Dec 26, 2013 - ElementalX-N5-0.19
-adjust doubletap2wake sensitivity and return to full screen
-slight boost to elementalx gov
-return to older backlight dimmer mod
-move /etc/elementalx.conf to /sdcard/elementalx.conf
-option for stock thermal throttling
-update installer
Dec 21, 2013 - ElementalX-N5-0.18
-restrict doubletap to bottom half of screen and make less sensitive
-elementalx is default CPU governor
-add gboost option
-add cooler thermal option
-various tweaks and optimizations
-update installer
ElementalX-N5-0.17
-fix multirom support
-default i/o scheduler is FIOPS
ElementalX-N5-0.16
-replace backlight dimmer option with @showp1984's backlight mod
-add asynchronous fsync from HTC One
-remove fsync options (no longer needed)
-Makefile adjustments
-slight adjustments to elementalx governor
-update gamma control support
-add kexec-hardboot (multirom support)
-update installer
ElementalX-N5-0.15
-experimental elementalx governor
-Makefile adjustments
ElementalX-N5-0.14
-fix cpu frequencies
ElementalX-N5-0.13
-update config
ElementalX-N5-0.12
-update for Android 4.4.1
-various tweaks and optimizations
ElementalX-N5-0.11
-various tweaks and optimizations
-update gamma control interface
ElementalX-N5-0.10
-ramdisk options
-experimental gamma support (@myfluxi and @faux123)
-adjust Makefile optimizations
-adjust mpdecision parameters (slightly less aggressive)
ElementalX-N5-0.9
-prevent touches during phone calls while screen is off and s2w or dt2w are enabled
ElementalX-N5-0.8
-wifi fixes
-faux123 sound fixes
-remove some CPU frequencies
ElementalX-N5-0.7.2
-update installer for greater compatibility with various ROMs
ElementalX-N5-0.7.1
-use existing ramdisk
ElementalX-N5-0.7
-add option for sweep2sleep only
-add option for S2W/DT2W power key toggle
ElementalX-N5-0.6
-add doubletap2wake
ElementalX-N5-0.5
-add color presets
-add sweep2wake (thanks @show-p1984)
-dimmer backlight option
-increase default screen off frequency to 1190MHz
ElementalX-N5-0.4.1
-do not use existing ramdisk
ElementalX-N5-0.4
-add CIFS support
-revert shut down cores while screen off
-remove early_suspend
-max screen off frequency optional
-update installer
-use existing ramdisk
-remove ultra optimization
-add faux123 sound patches
ElementalX-N5-0.3
-max screen off freq 730MHz
-shut down cores while screen off
-use lowest GPU frequency (200MHz)
-restore early_suspend
-simple GPU governor
-overclocking up to 3GHz
ElementalX-N5-0.2
-use Aroma installer
-installer ensures mpdecision and thermal-engine are present
-init.d support
-increase thermal limits
-add CPU optimization levels
-CPU overclock to 2726MHz
-automatic undervolting
-add TCP congestion algorithm options
-add fstrim to init script
-add exfat support
-Input: Send events one packet at a time
-cleanup from other kernels
-wireless bug fixes
ElementalX-N5-0.1
-Makefile optimizations
-optimized AES and SHA1 routines
-undervolting option
-add /dev/frandom
-show pvs number in sysfs
-NTFS r/w support
-optimized AES and SHA1 routines
-add FIOPS and SIO i/o schedulers
-force fastcharge
-lib/int_sqrt.c: optimize square root algorithm
-AIO: Don't plug the I/O queue in do_io_submit()
-voltage control
-add option to enable/disable fsync
-update ARM topology
-add cpu_power driver
-enable loadable kernel module support
-build -O3 with linaro 4.7 toolchain
It is here!!! Love your kernel on Flo!
omg <3
i just wish there were ways to flash boot.img without connecting the device to my computer.
i was in bed and had to get up just to flash this!
i had no doubt that it was worth it!
rootuser11 said:
omg <3
i just wish there were ways to flash boot.img without connecting the device to my computer.
i was in bed and had to get up just to flash this!
i had no doubt that it was worth it!
Click to expand...
Click to collapse
Try flashify from play store
Sent from my Nexus 5 using Tapatalk
Now this will be interesting. Checking out
Sent from my Nexus 5 using Tapatalk
dex2grigg said:
Try flashify from play store
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
<3
I hope to work on a nice installer tonight
nice!! man im sooo happy i got a nexus phone now! love having great kernels to play with thanks flar:good:
Nice to have you here, my One loves your work: )
Sent from a mobile Gadget...
Wohooooo really nice I am happy that your here your kernel for the One is just awesome!
Gesendet von meinem Nexus 5 mit Tapatalk
This awesomeness does not stop.... lol thank you!
Sent from my Nexus 5 using XDA Premium 4 mobile app
I flashed without any hesitation, loved your work on the HTC One! So great to have you here :highfive:
Double tap to wake on the n5 can't wait!!!
Sent from my Nexus 5 using Tapatalk
AWESOME!! I loved the ElementalX kernel on my HTC One!
djkinetic said:
Double tap to wake on the n5 can't wait!!!
Sent from my Nexus 5 using Tapatalk
Click to expand...
Click to collapse
i prefer swipe2wake to avoid wake up your phone accidentally when it's still in your pocket :victory:
Excellent news to see this up and running. Was a beauty on my HTC One and should be the same on my Nexus 5.
Sent from my Nexus 5 using xda app-developers app
Ran a quick test of your Kernel with PSX ROM test build for N5.
Very nice
Sent from my Nexus 5 using XDA Premium 4 mobile app
Always used your kernels on the sprint One, glad to see you got a nexus.
Sent from my Nexus 5 using Tapatalk