I have recently implemented Samsung's Flash Friendly File System (F2FS) into my kernel for the Z1 (Pimped Kernel).
In order to see what this file system really brings to the table I decided to run some benchmarks, in a controlled environment, trying to eliminate as many fluctuation factors as possible.
The methodology is described below.
For this first round, only the /data & /cache partitions were formatted as f2fs, in order to see what kind of improvement we would be able to get out of formatting /system as f2fs too later on.
Benchmarks Used
CF-Bench
0xBenchmark
Androbench
RL Bench
AnTuTu
Quadrant
Methodology
Fully wiped and fresh install of the 26/03 CM nightly
PA Gapps installed (pa_gapps-modular-full-4.4.2-20140301-signed) & updated
Additionnal apps installed:
Pimp My Z1
Disk Info
Benchmark apps
No other app active in the background during benchmarks
Fresh reboot before running the batch of benchmarks
Airplane mode enabled (except for quadrant which requires an internet connection to show the results)
Order of the benchmarks:
RL Bench
Androbench
CF Bench
5 minutes pause with powersave governor to cool down the device
0xBenchmark
AnTuTu
Quadrant
Pimp My Z1 Settings:
CPU Governor: performance (in order to eliminate differences due to frequency scaling, as this governor just stays at max freq all the time).
GPU Governor: performance
GPU Max Freq: 600MHz
Intelliplug: disabled
Dynamic Fsync: enabled
I/O Scheduler: FIOPS for both emmc & sdcard
Readahead: 1024kb for both emmc & sdcard
Entropy contribution: disabled for both emmc & sdcard
PowerSuspend: disabled
KSM: enabled, 512 pages-to-scan, 500ms timer
Thermal throttling: disabled
Disk Usage
One thing I noted is that F2FS has a much higher usage of the /cache partition than ext4, which is to be expected coming from a log-based file system such as F2FS.
As you can see in the screenshots below (ext4 on the left & f2fs on the right), only 4mb out of the 192mb /cache partition is used by ext4, while f2fs uses 68% of that same partition with 114mb used.
Another thing to note is that under f2fs, the reported size of the /cache partition is apparently 2mb larger than on ext4, with 198mb.
EXT4 / F2FS
{
"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"
}
1. RL Bench
RL Bench is an SQLite benchmark, it only tests database read/writes with various SQL commands in various amounts.
As we can see in the results below, f2fs trumps ext4 with an overall time of only 14.417 seconds versus the 21.403 seconds of the latter.
EXT4
F2FS
2. Androbench
Androbench is supposedly an all-around I/O benchmark.
On this one, the results were so incredibly appart that I think we can safely assume a big part of these results are due to poor coding on the benchmark side.
Still, if we believe the results, f2fs provides slightly slower reads (51mbps vs 66mbps) but over 120x faster sequential writes & 300x faster random write speeds!
I had to reboot and run it a second time to make sure this wasn't an error, but the second run results were even a bit better, as you can see in the screenshots below.
EXT4
F2FS
1st Run
2nd Run
3. CF-Bench
CF-Bench is an overall benchmark by Chainfire which measure everything except graphics.
Here again, f2fs is the winner with a better overall score.
That being said, the native writes are a little inferior to the ext4 native write score with 529 vs 535, but has a higher native read score with 996 vs 913.
EXT4
F2FS
4. 0xBenchmark
This reliable open-source benchmark by 0xlab is an overall benchmark used by the Linaro android team during their famous toolchain demonstration.
It has the advantage to output the results in text, xml and json, which you can download below.
On the SunSpider javascript benchmark run, f2fs gets a better score with 744.5ms vs 792.0ms for ext4.
Strangely, on Linpack, ext4 gets a better score with 156mflops/s vs 122mflops/s for f2fs.
On the other hand, Scimark2 reports better mflops/s scores for f2fs in all 6 of its tests, as seen below:
EXT4 Scimark2
Results in Mflops/s
Code:
Scimark2
------------------------------------------------------------
Composite:
191.7992650532917
Fast Fourier Transform:
121.33004358991259
Jacobi Successive Over-relaxation:
431.85904395507
Monte Carlo integration:
10.79962368351458
Sparse matrix multiply:
132.34248411160723
dense LU matrix factorization:
262.6651299263541
F2FS Scimark2
Results in Mflops/s
Code:
Scimark2
------------------------------------------------------------
Composite:
195.01022812596952
Fast Fourier Transform:
125.55719947408143
Jacobi Successive Over-relaxation:
436.3575761486842
Monte Carlo integration:
11.192272530363814
Sparse matrix multiply:
138.67117163604067
dense LU matrix factorization:
263.27292084067756
EXT4 full results: http://d-h.st/iER
F2FS full results: http://d-h.st/iOf
5. AnTuTu Benchmark
No need for an introduction, it's probably the most popular benchmark these days.
On this one again, f2fs is the clear winner with a difference of over 1200 points.
EXT4
F2FS
6. Quadrant Benchmark
Another overall mainstream type of benchmark.
F2FS wins on this one too, with an advantage of 1100+ points.
EXT4 / F2FS
Conclusion, F2FS actually is an improvement over Ext4 for flash devices, and considering its very young age it will most likely be improved over time.
Nice review @Androguide.fr !
Looking forward to see F2FS being adopted.
How are you getting 600 Mhz on the GPU?
I have
PHP:
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat gpu_available_frequencies
450000000 389000000 320000000 200000000 27000000 320000000 320000000 200000000 200000000
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # echo 600000000 > max_gpuclk
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat gpu_available_frequencies
450000000 389000000 320000000 200000000 27000000 320000000 320000000 200000000 20000000
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat max_gpuclk
450000000
And its still showing 450 on Pimp and Trickster
Poesini said:
How are you getting 600 Mhz on the GPU?
I have
PHP:
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat gpu_available_frequencies
450000000 389000000 320000000 200000000 27000000 320000000 320000000 200000000 200000000
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # echo 600000000 > max_gpuclk
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat gpu_available_frequencies
450000000 389000000 320000000 200000000 27000000 320000000 320000000 200000000 20000000
[email protected]:/sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0 # cat max_gpuclk
450000000
And its still showing 450 on Pimp and Trickster
Click to expand...
Click to collapse
You're probably just not running Pimped Kernel, otherwise you'd have 389 & 600 too.
EDIT: weird, you do have 389, but not 600.
I am running Pimped Kernel and I have reflashed it also (I have /cache and /data with f2fs)
Poesini said:
I am running Pimped Kernel and I have reflashed it also (I have /cache and /data with f2fs)
Click to expand...
Click to collapse
That's really weird. Which rom are you running ?
I'm also running the last F2FS build and here's my output :
Code:
cat /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/gpu_available_frequencies
600000000 533333000 487500000 450000000 389000000 320000000 320000000 200000000 200000000
You have some messed-up steps, too, the 270MHz shouldn't be there, and certainly not after a 320MHz step, that's really weird.
I am using Omni 3/15 lol
Entropy512 said:
Some more information:
Beyond the anecdotal evidence above that f2fs has data integrity issues, I can now personally confirm that f2fs is far poorer than ext4 at data integrity.
In the process of bringing up omni, a bug was causing frequent reboots of the device during bootup. This caused a large number of "ghost files" on the filesystem. They would appear if you did "ls *" but spit out an error that they didn't exist. Not good when that happens on your dalvik cache.
These files couldn't be created, nor could their directory entries be deleted. An attempt to run fsck.f2fs would just crash with an assertion error. To fix the issue I had to completely reformat the /data partition. (Not just a typical wipe/factory reset which leaves the "sdcard" contents in /data/media)
With ext4, those files would have been deletable and fsck would've actually done something.
Click to expand...
Click to collapse
That's pretty worrisome.
Poesini said:
I am using Omni 3/15 lol
Click to expand...
Click to collapse
I made some changes to the GPU frequency table to try and fix that for next build, although I really don't see what caused this on your device.
Please report back after next build if the issue persists.
Let's take this discussion back to the kernel thread though, please.
Very thorough analysis, thanks! Just suggested it to be featured on the XDA Portal.
I would like to point out that CF-Bench does not take disk reads and writes into account for its final device score for one very important reason:
Android's base Linux kernel (at least when I wrote CF-Bench) does not respect the flag to turn off low-level buffering. As such, the measured results do not reflect actual performance, and it is unknowable how big the unreliability of the results is.
That being said, if one option benchmarks consistently and significantly faster than the other, on the same device with the same setup, then it is likely to actually be faster - you just don't know how reliable the produced benchmark index is, and I certainly wouldn't compare them to scores from other devices.
Chainfire said:
I would like to point out that CF-Bench does not take disk reads and writes into account for its final device score for one very important reason:
Android's base Linux kernel (at least when I wrote CF-Bench) does not respect the flag to turn off low-level buffering. As such, the measured results do not reflect actual performance, and it is unknowable how big the unreliability of the results is.
That being said, if one option benchmarks consistently and significantly faster than the other, on the same device with the same setup, then it is likely to actually be faster - you just don't know how reliable the produced benchmark index is, and I certainly wouldn't compare them to scores from other devices.
Click to expand...
Click to collapse
Thanks a lot for the heads-up, that's good to know.
I probably should have taken the time to do at least 4 or 5 runs of each benchmark and calculate the average score in order to get more reliable results.
As you said, I wouldn't give too much importance to these results, but the fact the the f2fs runs came ahead every time is at least a pointer that there is some kind of improvement.
I will do another round of benchmarks with the /system partition in f2fs as well soon, I'll try to do several runs this time around.
Maybe I'll also add this cross-compiled Bonnie++ to the mix (won't do full runs though, just test a few hundred mbs, takes way too long otherwise)
Androguide.fr said:
Maybe I'll also add this cross-compiled Bonnie++ to the mix (won't do full runs though, just test a few hundred mbs, takes way too long otherwise)
Click to expand...
Click to collapse
You might have a look at my f2fs tests with bonnie on the Nexus 5. http://forum.xda-developers.com/showthread.php?p=50947848 Posts number 102 & 124
Check out my notes.txt. It is easier to run the tests with the -x switch. Something I learned after the fact.
Also I recommend using bonnie2chart for presenting the test results. If you don't have access to a server you can upload the *.csv files to, I would be happy to process the results for you.
Feel free to pm me
Androguide.fr said:
That's really weird. Which rom are you running ?
I'm also running the last F2FS build and here's my output :
Code:
cat /sys/devices/fdb00000.qcom,kgsl-3d0/kgsl/kgsl-3d0/gpu_available_frequencies
600000000 533333000 487500000 450000000 389000000 320000000 320000000 200000000 200000000
You have some messed-up steps, too, the 270MHz shouldn't be there, and certainly not after a 320MHz step, that's really weird.
Click to expand...
Click to collapse
I am on ext4 and my GPU clocks are also very different from yours. I tried to rewrite the file manually, but RootExplorer want overwrite the file.It was strict read-only. I changed that to rw-rw-r--, but not a chance. Not by creating a new file and copying into the folder, not by editing the original file. I will try to edit the file in the flashable zip and overwrite it hereby.
Edit:
Its in the boot.img, am I right? So no chance to correct it.
Edit 2:
Echo command in console (su) didn't work either.
->--- said:
I am on ext4 and my GPU clocks are also very different from yours. I tried to rewrite the file manually, but RootExplorer want overwrite the file.It was strict read-only. I changed that to rw-rw-r--, but not a chance. Not by creating a new file and copying into the folder, not by editing the original file. I will try to edit the file in the flashable zip and overwrite it hereby.
Edit:
Its in the boot.img, am I right? So no chance to correct it.
Click to expand...
Click to collapse
Like any file under /sys, it' a sysfs interface, those "files" permissions are handled by the kernel.
What you input into the sysfs interfaces is processed by the kernel, and it usually has safeguards in case the value is too high/low or invalid, same for the permissions, if a sysfs node is defined as read-only then you won't be able to change this unless you recompile the kernel and change this behaviour in the module/driver itself.
Either way you wouldn't be able to just modify it like that, there's a lot more to defining a GPU frequency than just the frequency itself.
This interface is simply here to expose which frequencies are available to userspace.
This isn't related to the filesystem type, I had the same freq table on ext4 before I implemented f2fs in the kernel. Can't seem to figure out what is the cause of this issue, as it seems to be different from a device to another on the same build, and isn't related to the CPU's pvs binning level.
Please keep discussion about this issue in the kernel thread.
Did you notice any performance difference in day to day use?
Just curious why you kept dynamic fsync enabled. To test the filesystem itself, and not just the in-memory buffering system, you'd want that disabled, so that writes go straight to the disk ASAP. No?
Still impressive overall. Thanks for testing!
Typos courtesy of my Liquified LG G2 (D803).
Why TRIM not work on f2fs??
It might also be interesting to see battery drain under each system. What do you think? Is the battery working harder for the faster f2fs system?
how to use f2fs on stock custom rom
Related
Sorry for disappearing guys, I wasn't in the mood for posting or working on the kernel: unfortunately it looks like I bricked my phone.
I couldn't believe it myself but as soon as I restarted it phone after CWM-flashing my usual JPO rom, going back from official JPU+803.pit, the screen went black and never came up again, no matter the key combination. No signs of life besides warming up slightly after pressing power or connecting the USB cable. No luck with a JIG cable aswell, tried all the way from 290K to 315K Ohm and nothing happens... I guess there's nothing I can do.
The problem is, I came back to Europe last month and official Samsung centers around here are refusing to offer repair services on US phones because of some kind of freak policy they have, even if I pay myself.
Update Dec 13:
I have no words to explain how thankful I am: PAulyhoffman offered to donate a spare phone he had, and promptly shipped it on the same day.
A special mention goes to Patrick Richter, Pauly's father in law, who just passed away on Saturday: a most generous man in honor of whom he would like to dedicate the donation.
I've already covered the shipping fee myself but customs will add a variable amount in taxes (most definitely 20% of original value as they usually do, although the specified value is just $100).
Hoping customs won't hold the package over the holidays, untested version versions will have to do for now.
HUGE thanks go to every single one who offered help, I really am moved by the affection demonstrated by this wonderful community.
Click to expand...
Click to collapse
I've compiled a Kernel based on Sztupy's ULF and xcaliburinhand's re-oriented kernels, including OC/UV support, 340Mb RAM and compiling optimizations.
Being based on the i9000 JPM source, it comes with every issue xcaliburinhand's kernel might have.
As I have absolutely no kernel programming knowledge, all credit goes to the respective coders: I've merely copied, pasted and compiled things, so I won't be able to offer much additional support or modify any of the function unless they provide source.
THIS IS A FROYO KERNEL, USE ONLY WITH A 2.2 ROM, PREFERABLY AN I9000 ONE
DO NOT USE SETCPU
Features:
- Sztupy's Ultimate Lag Fix V. pre-0.4https://github.com/sztupy
Multiple configurable Lagfix options:
Ext4 No-Journal DATA: /data converted to Ext4 with no journaling, everything else stays RFS
Ext4 No-Journal ALL: /data, /cache and /dbdata converted to Ext4 with no journaling
Ext4 DATA: /data converted to Ext4, everything else stays RFS
Ext4 ALL: /data, /cache and /dbdata converted to Ext4
Ext2 DATA: /data converted to Ext2, everything else stays RFS
Ext2 ALL: /data, /cache and /dbdata converted to Ext2
Advanced options: lets you specifically configure each partition and eventually add an Ext2 loop on top of them
Ext3/4 mount options: enables writeback journaling mode
(Using BIND_DATA_TO_DBDATA you might run out of space with many apps installed)
Suggested configuration (Ext4 ALL):
DATA_FS=ext4
CACHE_FS=ext4
DBDATA_FS=ext4
DATA_LOOP=false
CACHE_LOOP=false
DBDATA_LOOP=false
BIND_DATA_TO_DBDATA=false
Use FAST mount opts
You will get a "Configuration has changed" recovery screen at the first reboot after setting lagfix options, it's perfectly normal. If you wish to keep your current data, select the first option and wait (a separate backup is recommended).
- Modded CWM integrated
- CWM pre-installed (no more install from update.zip)
- reboot to 2e recovery
- reboot to download mode
- tweaking options
- root from recovery
- configure lagfix
- raspdeep's OC/UVhttp://forum.xda-developers.com/showthread.php?t=822027
If you do not want to mess with commands, use Xan's Voltage Settings app
- do note that you're subtracting voltage from the default setting, which varies with frequency:
Code:
1600MHz CPU 200MHz GPU 1400mV
1552MHz CPU 194MHz GPU 1375mV
1488MHz CPU 186MHz GPU 1350mV
1440MHz CPU 205MHz GPU 1325mV
1400MHz CPU 200MHz GPU 1300mV
1344MHz CPU 192MHz GPU 1300mV
1288MHz CPU 184MHz GPU 1300mV
1200MHz CPU 200MHz GPU 1300mV
1000MHz CPU 200MHz GPU 1275mV
800MHz CPU 200MHz GPU 1200mV
400MHz CPU 200MHz GPU 1050mV
200MHz CPU 200MHz GPU 950mV
100MHz CPU 100MHz GPU 950mV
the lastest Voltage Settings version includes voltage calculation
- 345Mb available RAM with 720p and JPU support
And improved minfree memory management
- Hardcore's SpeedModhttp://forum.xda-developers.com/showthread.php?t=822756
- jhash3
- Kernel HZ
- startup tweak scripts (available from cwm)
- ext4 kernel patches from http://www2.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/
- compiling optimizations:
(thanks to laststufo)
-O3 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mthumb -fno-gcse -fprefetch-loop-arrays --param l2-cache-size=512 --param l1-cache-size=64 --param simultaneous-prefetches=6 --param prefetch-latency=400 --param l1-cache-line-size=64
- config optimizations: (XT variant only)
CONFIG_UACCESS_WITH_MEMCPY=y
CONFIG_KSM=y
# CONFIG_CGROUP_DEBUG is not set
# CONFIG_PREEMPT_NONE is not set
CONFIG_PREEMPT_VOLUNTARY=y
additional config settings found in other kernels are pointless or even counterproductive for performance/stability
- BFQ I/O schedulerhttp://lwn.net/Articles/306641/
Set as default, you may change it using Xan's Voltage Settings app
- supercurio's Voodoo Color&Sharpnesshttps://github.com/project-voodoo
- HSUPA support (with i9000 modems)
Enable WCDMA 850Mhz by dialing *#2263# (COMBI BANDS -> choose WCDMA 850)
- neldar's v2.2 BackLight Notifications supporthttps://github.com/neldar/backlightnotification
Configure with BacklightNotification settings app
To enable BLN it is necessary to flash a CWM zip or enable BLN in CWM from ULK advanced options
- Boot animations support
http://forum.xda-developers.com/showthread.php?t=819686
http://forum.xda-developers.com/showthread.php?t=822955
http://forum.xda-developers.com/showthread.php?t=623960
Once again, none of it comes from me and all credit goes to the original developers, especially xcaliburinhand, raspdeep and hardcore
Nevertheless, if you're feeling particularly generous and have already provided for the developers, I'll gladly accept a token of gratitude (after all, being so ignorant I did have to invest quite a bit of time into it).
Everything comes at your own risk, I offer no support at all.
Thank you aleadam, ReedX50v, junktzu, shaolin95, Shane, krl66, Smokestack76, Henry, Xstop, lpsi200, Arffer, newter55, Lertets, txRangerXDA, id10terrordfw and Bedwa for your donations.
Code:
- v1.5.6
fixed boot-up and CWM instability
updated modules from JPX kernel
new frequency table
full compatibility with Voltage Control 3 (lowering frequency with it seems to cause freezes)
removed update_frequency, making changes to the freq table immediately applies them
- v1.4.7
fixed boot animation issues
fixed init.d script execution
fixed CIFS support
- v1.5.5
lowered default freq to 1000MHz
updated ram disk to late 1.4.x versions
improved wi-fi performance
fixed internal SD mount as CD-ROM on JPU
- v1.4.6
improved wi-fi performance
fixed internal SD mount as CD-ROM on JPU
Changelog:
- v1.4.5
Frequencies/battery fix
- v1.4.4
added workaround script inside the update.zip to execute voltage control boot settings directly from the program's data dir, eliminating the necessity to remount /system
gained an additional MB of RAM thanks to kernel size optimization
implemented Xcaliburinhand's wired headset fix
optimized RAM utilization (minfree tweaks)
updated CWM to include Hardcore's latest additions
slight menus reorganization
updated optimization scripts (now including battery optimizations, GPS tweaks, CIFS support)
built-in support for ext2, ext3 and ext4 no-journaling (you will see a "configuration changed" screen if you manually disabled journaling - select "No, enter recovery mode" and switch ext4 to ext4nj)
built-in support for ext4 mount optimizations (writeback mode)
HZ=500, PREEMPT_VOLUNTARY
JPU variant with modules and mem config extracted from samsung's JPU kernel: DO NOT USE IT ON FIRST BOOT OR YOU'LL GET AN ENDLESS VIBRATING BLACK SCREEN, BOOT ON SAMSUNG JPU AND ONLY THEN FLASH THIS KERNEL
v1.5.4
initial boot and recovery frequency lowered from 1200MHz to 800MHz
reduced voltage change delay
frequency jumps set up more like 1.4 in order to improve performance
v1.5.3
/system mounts as RO
added workaround script inside the update.zip to execute voltage control boot settings directly from the program's data dir, eliminating the necessity to remount /system
corrected frequencies script, should now work on every ROM
only available as a CWM update.zip to make sure everyone has working init scripts
increased default voltages for 1456-1464MHz to 1325mV, 1504-1544MHz to 1375mV and 1600MHz to 1400mV, regulate your UV settings BEFORE upgrading
gained an additional MB of RAM thanks to kernel size optimization
v1.5.2
DELETE USER GENERATED SCRIPTS IN /system/etc/init.d/ BEFORE UPGRADING
(remember it's necessary to unlock higher frequencies from both freq_table and Xan's app)
implemented Xcaliburinhand's wired headset fix
mount /system R/W - could be dangerous, but solves script creation issues
optimized frequency jumps for better battery life
optimized RAM utilization (minfree tweaks)
workaround for the highest frequency step being sometimes briefly used during bootup and recovery operation
effectively set 1200MHz as the default frequency
corrected wrong display of highest frequency in Quadrant
added frequencies scheduler script in the CWM zip package with a visual aid
reorganized performance levels with a few additions
- v1.5.1
skipped, integrated in 1.5.2
- v1.5
updated raspdeep's OC/UV to v300
multiple performance levels:
100
200
400
800
1000
1200
1360 (GPU downclocked, don't worry performance improves anyway)
1400
1440 (GPU slightly overclocked)
1460 (GPU downclocked)
Default clock at 1200MHz, additional frequencies can be enabled by editing /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
in order to update the states table it's necessary to edit to 1 /sys/devices/system/cpu/cpu0/cpufreq/update_states (echo from terminal or by manually editing the file, just like the states table)
added compatibility with Xan's voltage app v2.0 (please update, v1.9x wouldn't work correctly)
reduced 14xxMHz default voltage to 1.3v
updated CWM to include Hardcore's latest additions
slight menus reorganization
updated optimization scripts (now including battery optimizations and CIFS support)
built-in support for ext2, ext3 and ext4 no-journaling (you will see a "configuration changed" screen if you manually disabled journaling - select "No, enter recovery mode" and switch ext4 to ext4nj)
built-in support for ext4 mount optimizations (writeback mode)
- v1.4.3
fixed 2e recovery, now completely functional
added 1350Mhz, 1400MHz and 1450MHz variants, only available as ODIN packages. The latter two have a default voltage of 1350mV. Keep using Xan's Voltage App v1.98b's 1200MHz setting to undervolt, higher frequencies replace the 1200MHz step, bear in mind the app doesn't show the updated frequency/voltage. Remember to reset said setting before upgrading and please realize how 14xxMHz will only run on few lucky devices
from now on there won't be a CWM version for 1350MHz+ and XT variants as well as a release integrating the modem, just install it on its own if necessary
- v1.4.2
implemented Tiny RCU
re-enabled Samsung's bootanimation when there's no bootanimation.zip
re-added -noatime optimization script
XT variant: 1280MHz, config optimizations: HZ=500, PREEMPT_VOLUNTARY, UACCESS_WITH_MEMCPY, KSM (possibly unstable, slightly higher performance and battery drain, might be necessary to lower UV)
- v1.4.1
fixed BLN (flashing as update.zip or re-enabling it from CWM might be necessary)
- v1.4
raspdeep's OCUV updated to v217
implemented fastscaling for 100-400MHz frequencies
added 1280MHz variant (UV setting for 1200MHz applies to 1280MHz, so reset it)
ULF updated to pre-0.4, modified to support bootanimations
fixed potential /system corruption
integrated JK3 modem in CWM flash package
kernel version updated to reflect frequency variant (#140-1280 / #140-1200)
BLN has issues
- v1.3.5
removed config optimizations
removed -noatime remount script
(should provide stability for those experiencing hangups/reboots/charging issues)
- v1.2.6
removed config optimizations (should provide stability for those experiencing hangups/reboots/charging issues)
HZ=300
- v1.3.4
rebuilt from scratch
even more stability fixes
build # updated according to version (#134->v1.3.4)
- v1.2.5
rebuilt from scratch
additional FS optimization script to remount partitions with -noatime included in the I/O Scheduler script
fixed script execution
kernel HZ back to default
build # updated according to version (#125->v1.2.5)
- v1.3.3
fixed screen lock issue
kernel HZ lowered to 300
more stability fixes
supposedly fixed charging issues (oneclick to JF6, reset battery stats and masterclear)
- v1.3.2
stability fixes
- v1.3.1
included ext4 patches from [url]http://www2.kernel.org/pub/linux/kernel/people/tytso/ext4-patches/[/url]
additional FS optimization script to remount partitions with -noatime included in the I/O Scheduler script
- v1.3
Corrected a small bug that was preventing scripts from running
updated raspdeep's OC/UV to v2.1
update [url=http://forum.xda-developers.com/showthread.php?t=829731]Xan's app[/url] to undervolt
- v1.2.1
hopefully fixed script execution on Captivate ROMs aswell
fixed CWM option for enabling BLN
fixed 500hz setting
enabled CONFIG_UACCESS_WITH_MEMCPY and CONFIG_PREEMPT_VOLUNTARY as they apparently make no difference in battery use
- v1.2
increased available RAM to 343Mb
updated BLN to v2.2
- v1.1.1
enabled init.d script execution on boot (Xan's app voltage settings are now being kept)
- v1.1
added BFQ I/O scheduler
updated Voodoo color&sharpness
BLN reverted to v2.0, now working (flashing from an update.zip is required to install the Library)
- v1.0.1
fixed JFS filesystem support, added bootanimations, BLN still not working (no clue why not, waiting for xcaliburinhand's upcoming update)
- v1.0
initial release
RESET ALL UV SETTINGS (DELETE INIT.D SCRIPTS) BEFORE UPGRADING TO HIGHER VERSIONS
IF YOU'RE HAVING SLEEP DEATH ISSUES, REVISE UV SETTINGS
Modules and mem config extracted from samsung's JPU kernel: DO NOT USE THIS KERNEL ON JPU FIRST BOOT OR YOU'LL GET AN ENDLESS VIBRATING BLACK SCREEN, BOOT ON SAMSUNG STOCK AND ONLY THEN FLASH THIS KERNEL
The XT variant is slightly faster but can cause instability (which might require higher voltage) and charging death.
Voltage Control 3 supports enabling higher frequencies from the freq table, but doesn't yet let you disable selective ones.
To disable a certain frequency its corresponding value in /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table has to be set to '0'.
Changing update_states is no longer necessary. That file can either be manually edited or modified through an 'echo' command, which is much more convenient if you're in front of a PC and able to use ADB.
It's a volatile RAM file, which means changes made to it won't stick through reboots; I've included a script that reapplyies settings on boot in the CWM package (also attached to this post).
Let's say you wish to overclock to 1400MHz and disable 1288-1344:
1344MHz corresponds to the 6th value, 1288 to the 7th:
Code:
#!/system/bin/sh
#SET OC - below are GHz decimals (i.e. 1.60GHz, 1.55GHz, 1.50GHz and so on)
#60 55 48 44 40 34 28 20 00 .8 .4 .2 .1
[color=red]#[/color]echo 0 0 0 0 1 [color=blue]0[/color] [color=blue]0[/color] 1 1 1 1 1 1 > /sys/devices/system/cpu/cpu0/cpufreq/states_enabled_table
REMEMBER TO REMOVE # FROM THE LAST LINE
jk3_modem_update.zip
SetiroN_v1.4.7xt_1600.tar.7z [email protected] frequency - 200MHz GPU
SetiroN_v1.4.7_1600.tar.7z [email protected] frequency - 200MHz GPU
SetiroN_v1.4.7xt_1552.tar.7z [email protected] frequency - 194MHz GPU
SetiroN_v1.4.7_1552.tar.7z [email protected] frequency - 194MHz GPU
SetiroN_v1.4.7xt_1488.tar.7z [email protected] frequency - 186MHz GPU
SetiroN_v1.4.7_1488.tar.7z [email protected] frequency - 186MHz GPU
SetiroN_v1.4.7xt_1440.tar.7z [email protected] frequency - 205MHz GPU
SetiroN_v1.4.7_1440.tar.7z [email protected] frequency - 205MHz GPU
SetiroN_v1.4.7xt_1400.tar.7z [email protected] frequency - 200MHz GPU
SetiroN_v1.4.7_1400.tar.7z [email protected] frequency - 200MHz GPU
SetiroN_v1.4.7xt_1344.tar.7z [email protected] frequency - 192MHz GPU
SetiroN_v1.4.7_1344.tar.7z [email protected] frequency - 192MHz GPU
SetiroN_v1.4.7xt_1288.tar.7z [email protected] frequency - 184MHz GPU
SetiroN_v1.4.7_1288.tar.7z [email protected] frequency - 184MHz GPU
SetiroN_v1.4.7xt_1200.tar.7z [email protected] frequency - 200MHz GPU
SetiroN_v1.4.7_1200.tar.7z [email protected] frequency - 200MHz GPU
setiron_v1.5.6.tar.7z
setiron_v1.5.6_cwmupdate.zip
setiron_v1.5.6xt.tar.7z
setiron_v1.5.6xt_cwmupdate.zip
Voltage Control 3 alpha3
FINALLY! Going back to 2.2 so i can try this out. Can't wait for the link.
Sent from my Cappy using mental telepathy, *****ezz.
SetiroN said:
- neldar's v2.2 BackLight Notifications support
coming in the next release
Click to expand...
Click to collapse
Awwww that's a deal breaker for me, need bln badly. But yes finally, sztupy ulf on the cappy.
BLN now included, untested.
Awesome. I've been trying to figure out the how to do all this as well. I edited the code this morning at work and I just thought I'd check XDA while CodeSourcery finished installing...and what do I see?
I'll be flashing this immediately. FWIW, I've actually been running raspdeep's OC/UV 2.0 since Monday. I have it set at -100UVLF, -75UVHF, and I've had absolutely no problems with it at all, but it seems to be a YMMV situation. I don't think all processors can handle the UV. Even with (I think) unhelpful's, JAC's, and kingklick's kernels for the Galaxy S, phones handle the UV fine, some don't. Battery life is amazing with this though.
Also, I've had problems with screen off settings with setCPU. You probably don't want to use them at all.
SetiroN said:
BLN now included, untested.
Click to expand...
Click to collapse
that's some fast support...
Yes please. Link?
DOAlaboratories said:
that's some fast support...
Click to expand...
Click to collapse
Can I get this uploaded in Shep's rom since he is "unavailable" until tomorrow Since you are so fast at making peoples dreams come true
/sarcasm
so has anyone run this yet? it seems pretty alpha and my phone just went into download mode to test it
By the way everyone - the UV is still what I think raspdeep considers alpha. You will probably want to stress your system a bit to ensure it can handle it. I found that with -100UVLF/-75UVHF flash video was a little bit choppier than with the settings at -75UVLF/-50UVHF.
That said, it has been steady for me over the last couple days, no problems at all with it. I can watch flash video and my CPU temps still stay under 100.
Also, link to xan's UV GUI seems to be missing - so here is another one.
And having alogcat installed and knowing how to use it would probably be the best practice if you want to help raspdeep make this even better.
Athailias said:
Can I get this uploaded in Shep's rom since he is "unavailable" until tomorrow Since you are so fast at making peoples dreams come true
/sarcasm
Click to expand...
Click to collapse
Just get in download mode and flash it over
SetiroN said:
I've compiled a Kernel based on Sztupy's ULF and xcaliburinhand's re-oriented kernels
Click to expand...
Click to collapse
Which version of reorient is this based on?
Thanks!
Since I see the compass patch works, it is at least version 2.1.1...
watch out, i think this may have master cleared me...
simething did at least.
no worries though, i have a whole SDCARD backup, so it's all good
This is freaking sweet. I am undoing voodoo at the moment and then will flash and give it a try. I am on the memory version of reorient at the moment so I will post back when results
it keeps booting intoa recovery loop on me after applying a lagfix
DOAlaboratories said:
it keeps booting intoa recovery loop on me after applying a lagfix
Click to expand...
Click to collapse
What lagfix are you trying to install? I got that with trying to use all=jfs, switching to all=ext4 worked.
BLN doesn't seem to be working. Yes I did enable it in the custom recovery menu, and yes I'm using a version of Mms.apk that supports "led notifications."
Has anyone tried with cogs new b2.3 rom yet? How is the battery life?
glitterballs said:
What lagfix are you trying to install? I got that with trying to use all=jfs, switching to all=ext4 worked.
Click to expand...
Click to collapse
JFS overkill was what did it me and obsessing over having the best ****.
i'll try RFS overkill and see if that works. also, after i got it to boot back up, it wouldn't install any apps
Can I flash this over Tayutama's Tom using ODIN? What slot do I put the file in?
Improve your battery life tenfold by PureMotive
tested and working at: SGS, Xperia Play, HTC Inc S, the battery life has increased significantly
Original link: http://forum.xda-developers.com/showthread.php?t=1621808http://forum.xda-developers.com/showthread.php?t=1621808
PureMotive said:
Okay guys, I just thought I'd give you my mod for achieving good-great battery life. This is the mod I use in Anthem™ which has given me 50+ hours on a single charge. Feel free to include it in your own ROM or whatever. Please give credit or thanks or both
First: Here is a flashable .zip of the mod that may or may not work with your ROM. I'd still advise doing it manually.
Sysctl.conf - Outdated as of 4/29/2012
Step 1
Open up your ROM.zip (or whatever it's called) in 7zip (Windows) or Betterzip (OSX) and locate
sysctl.conf in /system/etc
If it's not in this directory, create it.
Step 2
In your sysctl.conf file, paste the following code and save it.
Code:
#sysctl.conf file
fs.nr_open=1053696;
fs.inotify.max_queued_events=32000;
fs.inotify.max_user_instances=256;
fs.inotify.max_user_watches=10240;
fs.lease-break-time=10;
fs.file-max=165164;
kernel.threads-max=525810;
kernel.random.write_wakeup_threshold=256;
kernel.random.read_wakeup_threshold=128;
kernel.panic=5;
kernel.sched_compat_yield=1;
kernel.panic=0;
kernel.panic_on_oops=1;
kernel.msgmni=2048;
kernel.msgmax=64000;
kernel.shmmni=4096;
kernel.shmall=2097152;
kernel.shmmax=268435456;
kernel.sem='500 512000 64 2048';
kernel.sched_features=24189;
kernel.hung_task_timeout_secs=30;
kernel.sched_latency_ns=18000000;
kernel.sched_min_granularity_ns=1500000;
kernel.sched_wakeup_granularity_ns=3000000;
kernel.sched_shares_ratelimit=256000;
kernel.sched_child_runs_first=0;
fs.lease-break-time=10;
fs.file-max=65536;
net.core.wmem_max=524288;
net.core.rmem_max=524288;
net.core.rmem_default=262144;
net.core.wmem_default=262144;
net.core.optmem_max=20480;
net.unix.max_dgram_qlen=50;
net.ipv4.tcp_keepalive_time=900;
net.ipv4.tcp_keepalive_probes=5;
net.ipv4.tcp_keepalive_intvl=156;
net.ipv4.tcp_timestamps=0;
net.ipv4.tcp_sack=1;
net.ipv4.tcp_fack=1;
net.ipv4.tcp_window_scaling=1;
net.ipv4.tcp_tw_recycle=1;
net.ipv4.tcp_tw_reuse=1;
net.ipv4.tcp_congestion_control=cubic;
net.ipv4.tcp_syncookies=1;
net.ipv4.conf.all.rp_filter=1;
net.ipv4.conf.default.rp_filter=1;
net.ipv4.tcp_synack_retries=2;
net.ipv4.tcp_syn_retries=2;
net.ipv4.tcp_max_syn_backlog=1024;
net.ipv4.tcp_max_tw_buckets=16384;
net.ipv4.icmp_echo_ignore_all=1;
net.ipv4.icmp_ignore_bogus_error_responses=1;
net.ipv4.tcp_no_metrics_save=1;
net.ipv4.tcp_fin_timeout=15;
net.ipv4.tcp_keepalive_intvl=30;
net.ipv4.tcp_keepalive_probes=5;
net.ipv4.tcp_keepalive_time=1800;
net.ipv4.ip_forward=0;
net.ipv4.conf.default.accept_source_route=0 ;
net.ipv4.conf.all.accept_source_route=0;
net.ipv4.conf.all.accept_redirects=0;
net.ipv4.conf.default.accept_redirects=0;
net.ipv4.conf.all.secure_redirects=0;
net.ipv4.conf.default.secure_redirects=0;
net.ipv4.udp_rmem_min=6144;
net.ipv4.udp_wmem_min=6144;
net.ipv4.tcp_rfc1337=1;
net.ipv4.ip_no_pmtu_disc=0;
net.ipv4.tcp_ecn=0;
net.ipv4.route.flush=1;
net.ipv4.tcp_rmem='6144 87380 524288';
net.ipv4.tcp_wmem='6144 87380 524288';
net.ipv6.conf.default.use_tempaddr=2;
net.ipv6.conf.all.use_tempaddr=2;
net.ipv6.conf.all.temp_prefered_lft=3600;
net.ipv6.conf.default.temp_prefered_lft=3600;
vm.dirty_ratio=90;
vm.dirty_background_ratio=80;
vm.oom_kill_allocating_task=1;
vm.overcommit_memory=1;
vm.page-cluster=3;
vm.drop_caches=3;
vm.min_free_kbytes=4096;
vm.panic_on_oom=0;
vm.dirty_expire_centisecs=1000;
vm.dirty_writeback_centisecs=2000;
vm.oom_kill_allocating_task=0;
vm.vfs_cache_pressure=10;
vm.min_free_order_shift=4;
vm.laptop_mode=0;
vm.block_dump=0;
PureMotive said:
I updated the OP with a new code (Thanks to Tiny). I just removed the semicolons. Use this version if the other does not work for you.
Click to expand...
Click to collapse
If the above code does not work for you, try this one. It has the semi-colons removed. Thanks Tiny
Code:
#sysctl.conf file
fs.nr_open=1053696
fs.inotify.max_queued_events=32000
fs.inotify.max_user_instances=256
fs.inotify.max_user_watches=10240
fs.lease-break-time=10
fs.file-max=165164
kernel.threads-max=525810
kernel.random.write_wakeup_threshold=256
kernel.random.read_wakeup_threshold=128
kernel.panic=5
kernel.sched_compat_yield=1
kernel.panic=0
kernel.panic_on_oops=1
kernel.msgmni=2048
kernel.msgmax=64000
kernel.shmmni=4096
kernel.shmall=2097152
kernel.shmmax=268435456
kernel.sem='500 512000 64 2048'
kernel.sched_features=24189
kernel.hung_task_timeout_secs=30
kernel.sched_latency_ns=18000000
kernel.sched_min_granularity_ns=1500000
kernel.sched_wakeup_granularity_ns=3000000
kernel.sched_shares_ratelimit=256000
kernel.sched_child_runs_first=0
fs.lease-break-time=10
fs.file-max=65536
net.core.wmem_max=524288
net.core.rmem_max=524288
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.optmem_max=20480
net.unix.max_dgram_qlen=50
net.ipv4.tcp_keepalive_time=900
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_intvl=156
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_sack=1
net.ipv4.tcp_fack=1
net.ipv4.tcp_window_scaling=1
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_tw_reuse=1
net.ipv4.tcp_congestion_control=cubic
net.ipv4.tcp_syncookies=1
net.ipv4.conf.all.rp_filter=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.tcp_synack_retries=2
net.ipv4.tcp_syn_retries=2
net.ipv4.tcp_max_syn_backlog=1024
net.ipv4.tcp_max_tw_buckets=16384
net.ipv4.icmp_echo_ignore_all=1
net.ipv4.icmp_ignore_bogus_error_responses=1
net.ipv4.tcp_no_metrics_save=1
net.ipv4.tcp_fin_timeout=15
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_keepalive_probes=5
net.ipv4.tcp_keepalive_time=1800
net.ipv4.ip_forward=0
net.ipv4.conf.default.accept_source_route=0
net.ipv4.conf.all.accept_source_route=0
net.ipv4.conf.all.accept_redirects=0
net.ipv4.conf.default.accept_redirects=0
net.ipv4.conf.all.secure_redirects=0
net.ipv4.conf.default.secure_redirects=0
net.ipv4.udp_rmem_min=6144
net.ipv4.udp_wmem_min=6144
net.ipv4.tcp_rfc1337=1
net.ipv4.ip_no_pmtu_disc=0
net.ipv4.tcp_ecn=0
net.ipv4.route.flush=1
net.ipv4.tcp_rmem='6144 87380 524288'
net.ipv4.tcp_wmem='6144 87380 524288'
net.ipv6.conf.default.use_tempaddr=2
net.ipv6.conf.all.use_tempaddr=2
net.ipv6.conf.all.temp_prefered_lft=3600
net.ipv6.conf.default.temp_prefered_lft=3600
vm.dirty_ratio=90
vm.dirty_background_ratio=80
vm.oom_kill_allocating_task=1
vm.overcommit_memory=1
vm.page-cluster=3
vm.drop_caches=3
vm.min_free_kbytes=4096
vm.panic_on_oom=0
vm.dirty_expire_centisecs=1000
vm.dirty_writeback_centisecs=2000
vm.oom_kill_allocating_task=0
vm.vfs_cache_pressure=10
vm.min_free_order_shift=4
vm.laptop_mode=0
vm.block_dump=0
Step 3
Now we need to enable it. So, navigate to /system/etc/init.d and create a file with the following code:
Code:
#!/system/bin/sh
# grep sysctl /etc/init.d/*
# Load /sys/etc/sysctl.conf
sysctl -p
sysctl -p is what initializes the code.
Just FYI: You don't actually need these lines:
Code:
# grep sysctl /etc/init.d/*
Code:
# Load /sys/etc/sysctl.conf
So this would have just sufficed.
Code:
#!/system/bin/sh
sysctl -p
If the above code does not work for any reason, try this:
Code:
#!/system/bin/sh
sysctl -p /system/etc/
Name your file something like this 10sysctl
Save your file.
NOTE: Your ROM must support init.d. You can do this by using dsixda's android kitchen
Step 4
Save your ROM and install it via recovery
OR
you could just push the files into your current ROM and try them out.
Step 5
For operating the script enter the following code in terminal emulator
Code:
su
sysctl -p
is all that is really needed to run the script. So here are some more options:
If you think that init.d is being faulty, enter in terminal emulator
Code:
su
sysctl -p
and then
Code:
sysctl -a| grep vm
What this does is manually start up sysctl.conf and then verify it with the succeeding code.
OR
Ignore what
Code:
sysctl -a| grep vm
is outputting and just see if you experience better battery life (you should)
----------- For knowledge -----------
Credits to imoseyon for portions of the info
Ok, so what exactly is sysctl.conf?
The sysctl.conf is a configuration file for "sysctl" which is an interface for dynamically changing kernel parameters in the Linux OS. The configuration file contains the following elements, vm.min_free_kbytes, vm.dirty_ratio, vm.dirty_backgroud_ratio, vm.vfs_cache_pressure, vm.oom_kill_allocating_task. There are many other elements within the file, but we will be primarily focusing on these specifically (the vm prefix stands for virtual memory). The sysctl.conf file should be located in /etc (/system/etc) by default. To enable it you need your ROM to execute "sysctl -p" somewhere during the boot process (or shortly afterward). We will also be discussing how to enable it if it is not already done so. You can also run sysctl -p manually to enable it any time after the OS is started.
Now, let’s get down to what sysctl.conf does and how it works.
min free kbytes (vm.min_free_kbytes)
This is used to force the Linux VM to keep a minimum number of kilobytes free. The VM uses this number to compute a pages_min value for each lowmem zone in the system. Each lowmem zone gets a number of reserved free pages based proportionally on its size. Default is 2048kb.
dirty ratio (vm.dirty_ratio) and dirty background ratio (vm.dirty_background_ratio)
This controls how often the kernel writes data to "disk" (in our case the internal microSD system card, not the removable microSD card). When your apps write data to disk, Linux actually doesn't write the data out to the disk right away, it actually writes the stuff to system memory and the kernel handles when and how the data is actually going to be flushed to the disk. These values represent a percentage, the higher the percentage, the longer it waits to flush, the lower the percentage, the more often flushes will occur. Now remember, we are dealing with solid state storage, not the traditional disk platter and spindle. So we are actually able to delay flushes a little longer with solid state versus a traditional hard drive disk.
VFS Cache Pressure (vm.vfs_cache_pressure)
Now here is where it gets interesting! File system cache (dentry/inode) is really more important than the block cache above in dirty ratio and dirty background ratio, so we really want the kernel to use up much more of the RAM for file system cache, this will increas the performance of the system without sacrificing performance at the application level. The default value is 100, as a percentage, and what you want to do is lower the value to tell the kernel to favor the file system cache and not drop them aggressively.
oom allocating task (vm.oom_kill_allocating_task)(enable or disable, generally in Linux this value is either a "1" or a "0," representing as on or off.)
This enables or disables killing the OOM-triggering task in out-of-memory (oom) situations. If this is set to zero, or disabled, the OOM killer will scan through the entire task list and select a task based on heuristics to kill. This normally selects a rogue memory-hogging task that frees up a large amount of memory when killed. If this is set to non-zero, or enabled, the OOM killer simply kills the task that triggered the out-of-memory condition. This avoids the expensive task list scan, which can take mass amounts of time and "hang" or freeze the system.
block_dump (vm.block_dump)
This enables block I/O debugging when set to a nonzero value. If you want to find out which process caused the disk to spin up (see /proc/sys/vm/laptop_mode), you can gather information by setting the flag.
When this flag is set, Linux reports all disk read and write operations that take place, and all block dirtyings done to files. This makes it possible to debug why a disk needs to spin up, and to increase battery life even more. The output of block_dump is written to the kernel output, and it can be retrieved using "dmesg". When you use block_dump and your kernel logging level also includes kernel debugging messages, you probably want to turn off klogd, otherwise the output of block_dump will be logged, causing disk activity that is not normally there.
overcommit_memory (vm.overcommit_memory)
This controls overcommit of system memory, possibly allowing processes to allocate (but not use) more memory than is actually available.
0 - Heuristic overcommit handling. Obvious overcommits of address space are refused. Used for a typical system. It ensures a seriously wild allocation fails while allowing overcommit to reduce swap usage. root is allowed to allocate slighly more memory in this mode. This is the default.
1 - Always overcommit. Appropriate for some scientific applications.
2 - Don't overcommit. The total address space commit for the system is not permitted to exceed swap plus a configurable percentage (default is 50) of physical RAM. Depending on the percentage you use, in most situations this means a process will not be killed while attempting to use already-allocated memory but will receive errors on memory allocation as appropriate.
page-cluster (vm.page-cluster)
This controls the number of pages which are written to swap in a single attempt. The swap I/O size.
It is a logarithmic value - setting it to zero means "1 page", setting it to 1 means "2 pages", setting it to 2 means "4 pages", etc.
The default value is three (eight pages at a time). There may be some small benefits in tuning this to a different value if your workload is swap-intensive.
panic_on_oom (vm.panic_on_oom)
This enables or disables panic on out-of-memory feature. If this is set to 1, the kernel panics when out-of-memory happens. If this is set to 0, the kernel will kill some rogue process, by calling oom_kill().
Usually, oom_killer can kill rogue processes and system will survive. If you want to panic the system rather than killing rogue processes, set this to 1.
The default value is 0.
Panic is a system error that is detected by the kernel.
dirty_expire_centisecs (vm.dirty_expire_centisecs)
How old "dirty" data should be before the kernel considers it old enough to be written to disk. It is expressed in 100ths of a second.
dirty_writeback_centisecs (vm.dirty_writeback_centisecs)
This is the interval of when the writeback daemons periodically wake up and write "old" data out to disk. It is expressed in 100ths of a second.
Click to expand...
Click to collapse
Woah.!!
Sent from my GT-S5830 using Tapatalk
Flashable ZIP
Tenfold huh? should give it a try..
EDIT (updated):
Heres a flashable zip to make things a little easier:
Instructions:
1. Reboot to CWM
2. Mount system
3. Flash
DOES IT WORK?
See for yourself
v2-04/30/2012 [without semi-colons of sysctl.conf (refer Step 2) & removed extra lines of 10sysctl (refer step 3)]
pure AWESOMENESS
Sent from my GT-I9100 using xda premium
Is it working. For ace?????
Sent from my GT-S5830 using Tapatalk 2
Anyone comfirm this working?
added to my future rom
Sure.. after 30min from the first post someone definitely will answer if it extends battery life
Let's see who'll be the first to notice that his bettery last longer
Thanks for sharing this
Is it compatible with CM9?
I installed this on my 2.3.6 based ROM and everything is smooth so far. I also ran the supercharger scripts and all 3 had no errors just in case anyone was wondering if they'd conflict with eachother.
/me Flashed,charging Batt ... ->Start
Testing ...edit with notes follows in 24h ...
Thx 4 sharing
(Edit) for me the battery jumps stopped,its more accurate...but i dont have more battery life.
Verstuurd va men ace via Tapatalk
Installed on 2.3.6 based ROM. Everything went smoothly installing. I ran the V6 turbocharger scripts and it didnt cause any errors to come up in case anyone was wondering.
Sent from my VS910 4G using xda premium
Just installed now, on CM9, Beta 8 by the GalaxyICS team.
Currently charging, and I will show a battery life screenie tomorrow and report on the performance
Downloaded, short term testing looks promising, played angry bird for 30mins, that use to drain like 10% battery, now it's only 6%. Not ten fold but still, improvement from just a file, i'll take that any day, this should come standard on all roms now
Does it works on Lewa rom?
Yes i think it was we need It appears to save battery ... Tomorrow i will do full test with full charge
ok installed 5 minutes back on Lk's I two Rom aka cyanogenmod. no problem but I notified a significant change in speed.. phone feels faster. battery backup dropped two percent in 3 minutes of edge usage. ll update this post after 5 hours.. those who want to install do it without fear its installing no bootloops no errors...
thanks for the share
---------- Post added at 08:01 AM ---------- Previous post was at 07:38 AM ----------
kohrangi said:
Does it works on Lewa rom?
Click to expand...
Click to collapse
Yes it works...
Mmm... testing... im at hospital for 2 days without my charger so... It will come handy if works.
Thanks!
Enviado desde el hospital usando Tapatalk con la mano derecha (soy surdo pero tengo suero)
A question, though: is this version of the mod any different from the original? Because the flashable zip of the original mod is bigger than the one posted here. Just curious. Anyway, I'm going to install the original. I'll come back later with answers.
AlterJack said:
A question, though: is this version of the mod any different from the original? Because the flashable zip of the original mod is bigger than the one posted here. Just curious. Anyway, I'm going to install the original. I'll come back later with answers.
Click to expand...
Click to collapse
Files sysctl.conf are the same. Original sysctl.conf contains one empty line at the end of file - that is all.
Note that while you can download the most current kernel from the links below, this thread is no longer being updated. Go to Devs-base for the active user thread. Watch this for details.
Here's a custom kernel for you all to try out. It should work with the Evervolv nightlies. Not tested with other ROM's.
{
"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"
}
NOTICE: This kernel can be overclocked over the standard Touchpad voltage regulator settings. It may or may not be stable for your particular Touchpad. I am not responsible in any way for anything that occurs as a result of your use of this kernel. You agree that by flashing this kernel, you are doing so with a full understanding that you assume full liability for any and all issues that may arise from doing so.
Click to expand...
Click to collapse
This kernel must be flashed from recovery (DO NOT USE TP TOOLKIT!) No need to clear caches, format system, or any other preparation. Flash and boot. You can set the kernel parameters from the EVToolkit, but I highly recommend Kernel Adiutor for more detailed and granular control of settings. If you don't like it, recover by reflashing your base EV ROM.
Here's a few facts:
CPU Overclockable to 1890KHz
Level 2 frequency boost to 1890KHz
Stepped 2D & 3D GPU OC up to 267 MHz and 320 Mhz, respectively
Additional governors and schedulers
Use Kernel Adiutor for tuneable parameters in the kernel
READ HERE FOR INFORMATION ABOUT GOVERNORS AND SCHEDULERS: Guide Link
NOTE!: The kernel has stability up to 1836 KHz, so if you decide to try the higher frequencies or change the cpu voltages, be sure and UNSET THE 'APPLY AT BOOT' option in your kernel tuner app. If your tablet can't handle the higher frequencies or voltages, it will either freeze or reboot. If it freezes, you will have to do a hard boot (hold power and HOME key simultaneously until it reboots). It should revert back to the default frequency of 1512 KHz max, 384 KHz min., but if it doesn't, Kernel Adiutor (KA) has a delay in setting the options. Get into KA as soon as you can after it reboots and set the CPU options to a stable setting.
Download links. No system/full wipes or cache clearing required.
Primary
GPL Compliance: Kernel Source
CHANGELOG
Code:
-> 16JUN17
- Adapted from APQ8064: Improve GPU response when waking from sleep
-> 14JUN17
- Ported from board-8960: Increase MM ION heap to 60MB
- defconfig: Enable arm neon optimized crypto
-> 12JUN17
- Fix defconfig DERPs in merge
- tcp: add sociopath congestion control
- Hack __pm_wakeup_event to reduce wakelocks
-> 07JUN17
- Merge upstream
-> 05JUN17
- rwsem: Optimized ARM RWSEM algorithm
- net: Controlled Delay AQM (CODEL)
-> 30MAY17
- Merge upstream
- Reduce zramdisksize to 268MB
-> 25MAY17
- int_sqrt: 3x faster integer sqrt
-> 16MAY17
- Merge upstream
- defconfig: Enable QUICK_WAKEUP and FRANDOM
- lowmemorykiller: numerous patches to improve performance
including adaptive LMK
-> 10MAY17
- block: Add driver to change the I/O scheduler when the screen turns off
-> 03MAY17
- Add more processes to power efficient workqueue
- workqueue: Provide destroy_delayed_work_on_stack()
- workqueue: use schedule_timeout_interruptible() instead of open code
- Remove WQ_POWER_EFFICIENT from kblockd
- Add frandom and quickwakeup drivers
- cpufreq: Notify governors when cpus are hot-[un]plugged
- cpu: Abort suspend when hotplug is already in progress
-> 01MAY17
- Reduce boot splash size
-> 30APR17
- add several more processes to the power efficient workqueue
- SKZ-ify the boot splash
-> 25APR17
- sched: cpu_power: enable ARCH_POWER
- splice: introduce FMODE_SPLICE_READ and FMODE_SPLICE_WRITE
- binfmt_elf.c: use get_random_int() to fix entropy depleting
- CHROMIUM: mm: Fix calculation of dirtyable memory
- writeback: increase bdi_min_ratio to 5
- power: msm_battery: increase battery check interval from 5 to 15 seconds
- scsi: Remove scsi_wait_scan
- kernel: Reduce latency
-> 24APR17
- Revert undervolt the lower frequencies a bit more
-> 15APR17
- Undervolt the lower frequencies a bit more
- hrtimer: enhance power efficiency
- cpu: enhance power efficiency
- sched: Trying to reduce power usage
- changes for relaxed functions
-> 07APR17
- Misc. code improvements
-> 05APR17
- Build for 4g
-> 03APR17
- Undervolt
-> 27MAR17
- Adjust overclock and voltage settings
-> 27FEB17
- Revert tenderloin: disable CONFIG_MSM_CPU_FREQ_SET_MIN_MAX
-> 22FEB17
- Add darkness governor
-> 14FEB17
- merge upstream. LZ4 and zram restored
-> 09FEB17
- Revert all ev lz4 and zram commits
-> 08FEB17
- Remove medusa governor (for now)
- cpufreq: Optimize cpufreq_frequency_table_verify()
- msm: kgsl: fix sync file error handling
-> 27JAN17
- Fix medusa governor freezes by locking cpu_up/down
-> 26JAN17
- Revert clean up medusa governor min frequency code
- Revert merge upstream
-> 25JAN17
- Merge upstream
- Clean up medusa governor min frequency code and set some tuneables
-> 23JAN17
- fix medusa governor freezes
- fix SECTION_MISMATCH errors during compile
-> 20JAN17
- Add new original medusa governor
- Add lionheart governor
-> 11JAN17
- Revert 'Move wireless regulator timeout to power efficient workqueue' & 'Fix PCC disablement' and rebase
- Merge upstream
- Update smartmax governor
-> 05JAN17
- Move wireless regulator timeout to power efficient workqueue
- Add Link Time Optimization support
- Fix PCC disablement
- Distinguish skz kernel localversion from ev stock
-> 04JAN17
- Add optimized SHA256 arm crypto routines (improves encryption performance by up to 20%)
- Add voltage interface
-> 03JAN17
- Merge upstream
- Compile with O3 optimizations
- Restructure 3d_pdata to improve graphic performance
-> 02JAN17
- Set boot frequency to 1728 KHz
- Enable gpu 2d frequency to 267 MHz
-> 28DEC16
- Merge upstream
- Add invisiblek's [I]enable CONFIG_UID_CPUTIME [/I]commit
- Match smartmax and smartmax_EPS get_cpu_idle_time function code
-> 19DEC16
- Add tripndroid scheduler
- Clean up governor code
- Regen defconfig
-> [U]15DEC16[/U]
- Remove maple io-scheduler
- Add dynamic interactive and alucard governors
-> [U]13DEC16[/U]
- REALLY remove divide-by-zero errors in kernel
- Add maple io-scheduler
-> [U]11DEC16[/U]
- Merge upstream
- Remove divide-by-zero errors in kernel
- Tune hyper governor
-> [U]09DEC16[/U]
- Tuned Smartmax_EPS governor for improved Touchpad performance
- Added dancedance governor (very smooth and fast with good battery performance. I love it!)
- Added hyper governor (based on conservative with some smartass features)
-> [U]05DEC16 Initial upload[/U]
- CPU Overclock to 1836 MHz
- L2 OC to 1836 MHz
- 2D GPU OC to 228 MHz
- 3D GPU OC to 320 MHz
- Add Smartmax_EPS governor
Will it work on android evervolv 7.1 ?
You didn'texplain what tweak did you do except overclock. What are the benefit except higher freq ?
Steelskinz said:
Will it work on android evervolv 7.1 ?
-SNIP-
Click to expand...
Click to collapse
Yes.
Thanks Shumash. If you wish to return to stock EV kernel you do a full wipe and reflash the ROM?
Nomad1600 said:
Thanks Shumash. If you wish to return to stock EV kernel you do a full wipe and reflash the ROM?
Click to expand...
Click to collapse
No need to do a wipe since only the kernel will change. There is another way to do it if you know your way around, i.e.,
Before flashing the SKZ kernel, copy the uImage.Evervolv file in /boot to a location on your 'sdcard'.
Flash the SKZ kernel
If you decide to restore the original EV kernel, delete the uImage.Evervolv file in /boot
Copy the saved copy of uImage.Evervolv on the 'sdcard' to /boot.
Reboot and stock kernel will be restored (any settings you made while in the SKZ kernel will be lost).
New Tricks, Old tablet
shumash said:
No need to do a wipe since only the kernel will change. There is another way to do it if you know your way around, i.e.,
Before flashing the SKZ kernel, copy the uImage.Evervolv file in /boot to a location on your 'sdcard'.
Flash the SKZ kernel
If you decide to restore the original EV kernel, delete the uImage.Evervolv file in /boot
Copy the saved copy of uImage.Evervolv on the 'sdcard' to /boot.
Reboot and stock kernel will be restored (any settings you made while in the SKZ kernel will be lost).
Click to expand...
Click to collapse
Nice thanks Shumash :highfive: I'm going to try this out
Update:
Checkout the performance boost with the SKZ kernel @ 1836! Looking good Shumash:good:
View attachment 3961347
Note: Tested with Antutu Benchmark here:
[SKZ Update] 09 DEC 2016
Update available.
CHANGELOG
Code:
-> 09DEC16
- Tuned Smartmax_EPS governor for improved Touchpad performance
- Add dancedance governor (very smooth and fast, good battery performance. I love it!)
- Add hyper governor (based on conservative with some smartass features)
Are there any details on which versions of android this will work with, e.g., if we want to use it with android 4.4.4?
Razor512 said:
Are there any details on which versions of android this will work with, e.g., if we want to use it with android 4.4.4?
Click to expand...
Click to collapse
Nope. That's why it's stated for EV. You just need to try it out and see. Keep in mind that other ROM's name the uImage as cyanogenmod or AOKP, etc., and this kernel won't work unless renamed to match the kernel it replaces. Report back for others
Has anyone tried the 12/9 kernel over the 12/9 nightly? I got boot error. Rom worked fine before I tried the kernel. I just reflashed from and it works fine.
Crashes with Antutu Benchmark when OC'd
jerryatherton said:
Has anyone tried the 12/9 kernel over the 12/9 nightly? I got boot error. Rom worked fine before I tried the kernel. I just reflashed from and it works fine.
Click to expand...
Click to collapse
I was able to boot fine but when I OC to 1836 and tried the dancedance governor I rebooted in antutu benchmark(twice now). Been trying to fetch some logs with the Evervolv bug reporter but it doesn't seem to be working for me. Tested again, stock speeds, default governor and I was able to complete Antutu Benchmark.
Shumash be advised that the 12/9 nightly has moved up to Android 7.1.1, not sure if that's an issue.
http://www.evervolv.com/devices/tenderloin
RolandDeschain79 said:
I was able to boot fine but when I OC to 1836 and tried the dancedance governor I rebooted in antutu benchmark(twice now). Been trying to fetch some logs with the Evervolv bug reporter but it doesn't seem to be working for me. Tested again, stock speeds, default governor and I was able to complete Antutu Benchmark.
Shumash be advised that the 12/9 nightly has moved up to Android 7.1.1, not sure if that's an issue.
http://www.evervolv.com/devices/tenderloin
Click to expand...
Click to collapse
Works fine for me (including 7.1.1), but I'll try and see if I can duplicate the Antutu issue. Did you try dancedance at a lower clock?
Results, 7.1.1 (home rolled on 12/10), 1836 MHz, dancedance governor, fiops scheduler, 320 gpu.
shumash said:
Results, 7.1.1 (home rolled on 12/10), 1836 MHz, dancedance governor, fiops scheduler, 320 gpu.
Click to expand...
Click to collapse
1836 caused a reboot, but the one below didn't. Currently testing hyper...
[SKZ Update] 11 DEC 2016
Update available.
CHANGELOG
Code:
-> 11DEC16
- Merge upstream
- Remove most divide-by-zero errors in kernel
Enjoy.
DELETED. See updated update below
Only 1836 causes crashing
shumash said:
Works fine for me (including 7.1.1), but I'll try and see if I can duplicate the Antutu issue. Did you try dancedance at a lower clock?
Click to expand...
Click to collapse
w1ll1m said:
1836 caused a reboot, but the one below didn't. Currently testing hyper...
Click to expand...
Click to collapse
Yes lower clocks were OK but the max overclock was the problem for me too. Going to test out the newest version of the kernel with the latest nightly and I'll report back thanks:highfive:
[SKZ Update] 11 DEC 2016
shumash said:
Update available.
CHANGELOG
Code:
-> [U]11DEC16[/U]
- Merge upstream
- Remove divide-by-zero errors in kernel
- Tune hyper governor
Enjoy.
Click to expand...
Click to collapse
Updated again. Re-download the latest
Testing
shumash said:
Updated again. Re-download the latest
Click to expand...
Click to collapse
I redownloaded my kernel zip and the latest Evervolv 12,11 nightly but I'm still experiencing crashing with Antutut benchmark when the CPU is set to 1836. It always crashes in the same place after the video tests @ Image processing blur load screen. However when I set the CPU to 1782 it finishes the test every time and gets a great score.
Note: using the default governor while testing
RolandDeschain79 said:
I redownloaded my kernel zip and the latest Evervolv 12,11 nightly but I'm still experiencing crashing with Antutut benchmark when the CPU is set to 1836. It always crashes in the same place after the video tests @ Image processing blur load screen. However when I set the CPU to 1782 it finishes the test every time and gets a great score.
Note: using the default governor while testing
View attachment 3966730
Click to expand...
Click to collapse
As you are aware, some 'pads can OC, some can't. Mine can (with the default governor, 19793).
Mine could also oc to 2.1ghz back in jellybean but my phone could not reach it own max oc, it mostly depend of if you got a good SoC batch but they required more cheaper one for metting the demand or a bad one which was intended for getting use has lower end. That mostly the case with PC CPU but since all mobile device was underclocked by default, it did not make any difference for end user because of the heat and energy consumption of full clock or overclock.
Great to see the Tenderloin still alive with at less a single custom roms but seeing a custom kernel on rolland's video on my youtube feed made me fell like "wtf, i need to get updated on that device devellopement, it's really happening ! ". Thank shumash, my tenderloin might not be my main tablet anymore (buyed an Surface Pro 3 and found a Nexus 7 2012 in the dump) but's still a very good device for light stuff or has a second screen in bed for a guide in a game. You are amazing like always.
No need to follow this, Flash Files are available here to do automatically !
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773?nocache=1
Do not judge by how the device will work by looking at the code, which is completely different from what have been suggested all this years.
That is the reason I am providing the boot image. So that you can test it on your tablet and see it for yourself.
None of this will create any damage, is the opposite your tablet will have less work to do and work faster.
Before trying this out you must have already created a swap partition here are the steps:
https://forum.xda-developers.com/hp-touchpad/general/how-to-backup-restore-using-twrp-copy-t3892047
https://forum.xda-developers.com/hp-touchpad/general/how-to-create-swap-partition-size-t3892060
If installing on a running system with a swap partition, or you back up the system and then restore it after creating the partition.
The Dalvik/Art Cache
Cache
Must be wipe using TWRP ( For all settings to work properly )
What would the changes do?
Make the HP Touchpad work as originally intended, a tablet not a smartphone.
You will be able to play HD 720 videos, using google youtube app and any browser.
Use Google Maps, Google Earth and many others apps that is impossible to use now.
CPU settings (The normal that all tablets will work) It can be increase to 1890000.
MAX 1728000 Minimum 192000 interactive
Readahead buffers (as per LVM)
4096
Scheduler bfq
The following Skz Kernel modules permanently removed. Even if the module is disable its settings will be active, that is the reason of the removal.
Code:
# CONFIG_HOTPLUG is not set
# CONFIG_INTELLI_PLUG is not set
# CONFIG_ASMP is not set
# CONFIG_HOTPLUG_CPU is not set
# CONFIG_KSM is not set
# CONFIG_UKSM is not set
# CONFIG_ANDROID_LOW_MEMORY_KILLER is not set
# CONFIG_ANDROID_LOW_MEMORY_KILLER_AUTODETECT_OOM_ADJ_VALUES is not set
The following Ramdisk files have been modified to apply the optimum settings.
fstab.tenderloin
init.tenderloin.power.rc
init.tenderloin.rc
Code:
Details
fstab.tenderloin
#<src> <mnt_point> <type> <mnt_flags and options> <fs_mgr_flags>
/dev/block/mmcblk0p13 /boot ext3 ro,noatime,barrier=0 recoveryonly
/dev/store/cm-system /system ext4 rw,errors=panic wait
/dev/store/cm-data /data f2fs rw,nosuid,nodev,noatime,nodiratime,inline_data,inline_xattr,inline_dentry wait,check,formattable
/dev/store/cm-data /data ext4 nosuid,nodev,noatime,noauto_da_alloc,errors=panic wait,check,formattable
/dev/store/cm-cache /cache f2fs rw,nosuid,nodev,noatime,nodiratime,inline_data,inline_xattr,inline_dentry wait,check,formattable
/dev/store/cm-cache /cache ext4 nosuid,nodev,barrier=1 wait,check,formattable
/dev/store/swap swap swap defaults swapprio=1, 0 0
/devices/virtual/block/dm-6 auto vfat defaults voldmanaged=sdcard1:auto,nonremovable,encryptable=userdata
/devices/platform/msm_hsusb_host.0 auto auto defaults voldmanaged=usbdisk:auto,noemulatedsd
# zRAM
# /dev/block/zram0 none swap defaults zramsize=1073741824,max_comp_streams=2,notrim,swapprio=2
init.tenderloin.power.rc
# Configure Performance Governor
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "performance"
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "performance"
# CPU boost
write /sys/module/cpu_boost/parameters/boost_ms 0
write /sys/module/cpu_boost/parameters/input_boost_ms 0
write /sys/module/cpu_boost/parameters/sync_threshold 1728000
# write /sys/module/cpu_boost/parameters/input_boost_freq 1728000
# GPU boost
write /sys/devices/platform/kgsl-2d0.0/kgsl/kgsl-2d0/max_gpuclk "266667000"
write /sys/class/kgsl/kgsl-3d0/max_gpuclk "320000000"
# KGSL trustzone governor
write /sys/class/kgsl/kgsl-3d0/pwrscale/trustzone/governor ondemand
on property:sys.boot_completed=1
# Configure Interactive
write /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor "interactive"
write /sys/devices/system/cpu/cpu1/cpufreq/scaling_governor "interactive"
# CPU Workqueues
write /sys/module/workqueue/parameters/power_efficient "N"
# Entropy
write /proc/sys/kernel/random/write_wakeup_threshold 4096
write /proc/sys/kernel/random/read_wakeup_threshold 4096
# I/O
write /sys/block/mmcblk0/queue/rq_affinity "0"
write /sys/block/mmcblk0/queue/scheduler "bfq"
init.tenderloin.rc
# Swap Settings
write /proc/sys/vm/block_dump 0
write /proc/sys/vm/dirty_background_bytes 0
write /proc/sys/vm/dirty_background_ratio 80
write /proc/sys/vm/dirty_bytes 0
write /proc/sys/vm/dirty_expire_centisecs 60000
write /proc/sys/vm/dirty_ratio 90
write /proc/sys/vm/dirty_writeback_centisecs 60000
write /proc/sys/vm/drop_caches 0
write /proc/sys/vm/extra_free_kbytes 9216
write /proc/sys/vm/highmem_is_dirtyable 0
write /proc/sys/vm/laptop_mode 0
write /proc/sys/vm/legacy_va_layout 0
# write /proc/sys/vm/lowmem_reserve_ratio 32 32
write /proc/sys/vm/max_map_count 65530
write /proc/sys/vm/min_free_kbytes 10000
write /proc/sys/vm/min_free_order_shift 4
write /proc/sys/vm/mmap_min_addr 32768
write /proc/sys/vm/mmap_rnd_bits 16
write /proc/sys/vm/nr_pdflush_threads 0
write /proc/sys/vm/oom_dump_tasks 1
write /proc/sys/vm/oom_kill_allocating_task 0
write /proc/sys/vm/overcommit_memory 1
write /proc/sys/vm/overcommit_ratio 50
write /proc/sys/vm/page-cluster 0
write /proc/sys/vm/panic_on_oom 0
write /proc/sys/vm/percpu_pagelist_fraction 0
write /proc/sys/vm/scan_unevictable_pages 0
write /proc/sys/vm/stat_interval 1
write /proc/sys/vm/swappiness 60
write /proc/sys/vm/vfs_cache_pressure 100
# Increase readahead buffers on MMC devices
write /sys/block/mmcblk0/bdi/read_ahead_kb 4096
Download the file and copy it as is in your boot directory using TWRP. That is if you have extra space for 5.9MB, you should if only using Android.
Before booting you should have already disable any app that you have installed to optimized the settings, otherwise settings will be overwriten and will not take effect.
After booting for firs time, depending on how many apps you have, it could take very long time to be ready for use.
Give it some time, let it rest and finish rebuilding.
Many thanks to everyone that work on the Evervolv Team that provided the TP users with this great ROM and also to Shumash for creating the fastest Kernel for all Android ROMS.
HP_TOUCHPAD said:
No need to follow this, Flash Files are available here to do automatically !
https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773?nocache=1
Do not judge by how the device will work by looking at the code, which is completely different from what have been suggested all this years.
That is the reason I am providing the boot image. So that you can test it on your tablet and see it for yourself.
.......
Click to expand...
Click to collapse
Going to have to give this a try.
Thanks for taking the time to put it together.
@HP_TOUCHPAD. Cheers for this man. I've flashed the rom yesterday and followed the guide after you posted the final version.
Evervolv 7.x feels really snappy
jhonnyx said:
@HP_TOUCHPAD. Cheers for this man. I've flashed the rom yesterday and followed the guide after you posted the final version.
Evervolv 7.x feels really snappy
Click to expand...
Click to collapse
Yes all the ROMs works the same as it have the same settings. Pick and the one you like the most all work with the same speed.
Thanks for trying it out and reporting, enjoy your brand new Tablet. !
HP_TOUCHPAD said:
Yes all the ROMs works the same as it have the same settings. Pick and the one you like the most all work with the same speed.
Thanks for trying it out and reporting, enjoy your brand new Tablet. !
Click to expand...
Click to collapse
Not all the roms. Picked DU 12.5, which was Oreo based, I believe, and it was sluggish. That's why I chose the other ROM.
Anyhow, I'll test the Other roms as they come. Feel free to hit me up/mention me if you need testing.
Great work, man, keep it up!
jhonnyx said:
Not all the roms. Picked DU 12.5, which was Oreo based, I believe, and it was sluggish. That's why I chose the other ROM.
Anyhow, I'll test the Other roms as they come. Feel free to hit me up/mention me if you need testing.
Great work, man, keep it up!
Click to expand...
Click to collapse
I want to make sure we are on the same page, you installed 7.1.2 using this guide and flash the proper speed for your tablet:https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
You also installed 8.1 from that guide but found it slow?
Did you tried 9?
HP_TOUCHPAD said:
I want to make sure we are on the same page, you installed 7.1.2 using this guide and flash the proper speed for your tablet:https://forum.xda-developers.com/hp-touchpad/general/hp-touchpad-optimize-android-swap-t3901773
You also installed 8.1 from that guide but found it slow?
Did you tried 9?
Click to expand...
Click to collapse
Is there any advantage to using to this SKZ kernel over the Max 1836 kernel? Or is your Max kernel included in the "All files for this rom.zip" based off of this kernel? Also, does the Max kernel include the GPU overclock? I noticed the Touchpad is a bit lacking in the GPU department.
Sanras said:
Is there any advantage to using to this SKZ kernel over the Max 1836 kernel? Or is your Max kernel included in the "All files for this rom.zip" based off of this kernel? Also, does the Max kernel include the GPU overclock? I noticed the Touchpad is a bit lacking in the GPU department.
Click to expand...
Click to collapse
This is an obsolete guide, it is posted on the first page:
No need to follow this, Flash Files are available here to do automatically !
HpTp_Max and HpTp_MaXtreme (optimized settings ) includes everything.
The HP Touchpad lack of everything, is an 11 year old device, now in 2022.
But still functional in many ways.
HP_TOUCHPAD said:
This is an obsolete guide, it is posted on the first page:
No need to follow this, Flash Files are available here to do automatically !
HpTp_Max and HpTp_MaXtreme (optimized settings ) includes everything.
The HP Touchpad lack of everything, is an 11 year old device, now in 2022.
But still functional in many ways.
Click to expand...
Click to collapse
Ok, thanks. And to confirm, HpTp_Max does include the GPU overclock too right?
Sanras said:
Ok, thanks. And to confirm, HpTp_Max does include the GPU overclock too right?
Click to expand...
Click to collapse
For all ARM based devices, the GPU is built into the CPU ( combo ) same as desktop or laptops that do not offer a dedicated GPU.
For the HP Touchpad:
ChipsetQualcomm APQ8060 Snapdragon S3CPUDual-core 1.2 GHz ScorpionGPUAdreno 220
The 1GB RAM is shared by the GPU, some of that RAM is used by the GPU for the driver resources.
Then Android run a Virtual Machine for the java apps and the graphics settings are specified in the build.prop.
If you are familiar with virtual machines on the PC, there are settings to allocate GPU RAM for the graphics ( display settings ). It does not matter how fast or new the GPU card is, but how much RAM is assigned to the virtual machine to be able to handle the proper display resolution.
The same applies to Android, if the settings to run the virtual machine in the build.prop are not properly configured then nothing will run regardless of how overclock the GPU is. The lack of graphics performance on the tablet is due to 1GB or RAM and that is why the importance of the swap partition to gain some RAM.
There is no magic code to improve or make the display better because is all about " RAM " and there is only 1GB for everything.
If you would like to see all the settings from any Kernel that is running on the Tablet, then you can install Kernel Adiutor, just to check the settings.
https://m.apkpure.com/kernel-adiutor-root/com.grarak.kerneladiutor
HP_TOUCHPAD said:
For all ARM based devices, the GPU is built into the CPU ( combo ) same as desktop or laptops that do not offer dedicated GPU.
For the HP Touchpad:
ChipsetQualcomm APQ8060 Snapdragon S3CPUDual-core 1.2 GHz ScorpionGPUAdreno 220
Click to expand...
Click to collapse
Yes, I know it's integrated into the SoC. It does seem to have a separate clock speed though.
The original thread for the SKZ kernel mentions a GPU overclock as well: https://forum.xda-developers.com/t/...vervolv-7-1-x-1890khz-cpu-320mhz-gpu.3513534/
Sanras said:
Yes, I know it's integrated into the SoC. It does seem to have a separate clock speed though.
The original thread for the SKZ kernel mentions a GPU overclock as well: https://forum.xda-developers.com/t/...vervolv-7-1-x-1890khz-cpu-320mhz-gpu.3513534/
Click to expand...
Click to collapse
Install Kernel Adiutor and you will see all the settings. It must be uninstall or better re-flash the ROM to avoid any issues.
As already mentioned, the issue with the GPU is the limited about of RAM, not the clock speed.
I have to say thanks to HP_TOUCHPAD for his consistent replies and guidance for overclocking and getting this tablet to work again.
Vicious942 said:
I have to say thanks to HP_TOUCHPAD for his consistent replies and guidance for overclocking and getting this tablet to work again.
Click to expand...
Click to collapse
You are very welcome ! A lot of developers spent a lot of time on this Tablet, they deserve all the credits.
Dear xda community
Following on from the work done to date in the active community in the head-fi.org forum, I have decided to post this work on xda to share the work done so far and, well, also elicit help from the best technical community I've spoken to in the past. This thread will solely focus on the RK3188-based FiiO X5iii player, and will thus contain any and all software modifications to the FiiO X5iii. The custom kernel contains the largest amount of new code, extra features and performance improvements for the X5, and really pushes the limits of the hardware to its fullest potential. The benchmarks alone are outstanding - using Geekbench and Antutu the performance is more than 400% that of the current vanilla firmware, and it will similarly feel more intuitive and responsive, as can be attested by the numerous users to date.
As of Version 3.x, audio tuning is also taken one step further. A new custom AK4490 driver has been implemented, and a significant portion of the redundant and/or unnecessary code has been removed from the sound drivers. Therefore, if not better, the sound should at least feel ‘cleaner’ when compared with previous or vanilla versions. We still have a long way to go to enhance the audio on these DACs, but this driver is a start.
Installation instructions are outlined further below; ie flash via TWRP, but first-time users can also find a more detailed set of instructions in the zip file.
There are three versions - the 2GHz version for faster CPUs, the 1.7GHz for most players, and the 1.4GHz version for anyone experiencing random lockups or reboots.
Unique Features
- Custom AK4490 DAC driver (faster, better oversampling)
- Support for DSD256
- Increased clock speed from 1416MHz to 2016MHz
- Increased GPU speed from 133MHz to 600MHz
- Increased DDR speed from 200MHz to 800MHz
- Better voltage regulation using all possible pwm and clocks on the board
- Increased available RAM by 20%
- LZ4 compression for better, faster swap and virtual memory usage
- ZRAM usage for additional system memory
- Fsync_disable for much faster system processing
- UKSM for faster Kernel operations
- Adaptive-LMK for better memory management
- Undervolting for lower heat dissipation and battery consumption
- New Faster CPU Governors: interactiveX, PegasusQ,
- New Faster I/O Schedulers: zen, bfq, sio, vr, maple
- New Faster Westwood TCP/IP congestion handler for faster wifi and internet access
- CPUBoost algorithm for faster on-demand processing
- CPU SMP feature for powering down unused cores on screen off
- RQ Affinity for faster I/O scheduling
- Linaro gcc toolkit for faster, leaner code
- RK3188 neon vfp3 code optimisation for faster fixed-point and floating DSP operation
- Full init.d support for script runtime loading
- Frandom genrator (23x faster than standard random function)
Download here: https://kernelmods.com
Thanks and Rants
Massive thanks to prispewnic from 4PDA for his incredible scripting experience, product features, suggestions and testing, and the great community of beta testers on Head-Fi and 4PDA.
Thanks also to Fiio for releasing the GPL source code. If it weren’t for you we wouldn’t have this modded kernel.
Changelog
Version 3.32
Fix: Minor AROMA Bugfixes
Enhanced: Updated hosts file - 137409 exceptions for no spamware, faster browsing
AROMA: expanded list for players automatic download
Version 3.31
Fix: Reverted Page writeback tweaks (caused random reboots)
Fix: Minor AROMA fixes
Version 3.3
New: Enabled ARM ARCH_POWER feature
New: Disabled Gentle_Fair_Sleepers (much faster)
New: Enabled cache wakeup preemption
New: Forced memory overcommit for better performance
New: Ignore all ICMP echo requests
New: Enable TCP low latency
New: Removed noatime and nodiratime to improve ext4 and sys filesystem performance (much faster)
New: Added asynchronous filesystem calls (much faster)
New: Enable TCP reuse read mostly algorithm
New: Enable TCP sysctl recycle algorithm
New: Disable TCP slow start after idle
Enhanced: Optimised SLUB memory allocator
Enhanced: Reduced Mini Memory Map to from 32k to 0
Enhanced: Reduced Max Block Dev size from 128 to 32
Enhanced: Increased Max Queue length from 128 to 1024
Enhanced: Tuned kernel fair scheduler workload parameters
Enhanced: Increased memory threshold compaction from 500 to 800
Enhanced: Reduced dirty write back interval
Enhanced: Increased sysctl read interval for reduced latency
Enhanced: Optimise TCP sack/fack/dsack read requests
Enhanced: Optimise TCP memory pressure
Enhanced: Optimise TCP proto packet length algorithm
Version 3.2
New : Added RCU Synchronization Mechanism (much faster)
New : Optimised RCU Settings
New : Added s2idle S0 state (better battery lifetime)
Enhanced: Voltage optimisation for 2016MHz kernel
Enhanced: Updated hosts file - 135385 exceptions for no spamware, faster browsing
Fix: Minor Bugfixes
AROMA: Added "Restore" section
AROMA: Added "Support the Project" section
AROMA: Reworked logic and scripts
Version 3.11
Miscellaneous bugfixes
Version 3.1
Single installer for all kernel versions
New optimised voltages for 1416, 1704 and 2016 kernels (more stable and better performance)
Customisable removal of unwanted system applications
Customisable removal of system equalizer
Customising different audio_flinger libraries (different sound profiles to suit taste)
Enable/Disable Boot-up animation
Enable/Disable custom application on bootup
Version 3.02
New: 1704MHz release for players that can work at higher frequencies than 1416MHz (install this version if you previously had reboots at 2016MHz)
Enhanced: Increased stability without performance decrease
Enhanced: CPU down-volting for performance kernel version (2016MHz)
Fix: Removed additional CPU frequencies for 1416MHz kernel version (increased stability)
Version 3.01
New: 1752MHz intermediary version
Enhanced: More step frequencies from 504 to 2016MHz
Enhanced: Better handling of frequencies at high CPU loads
Enhanced: Powersave governor enabled by default
Version 3.0
New: Upstreamed relevant portions of kernel source code to Linux 3.10.49
New: AdFree hosts file - 67825 exceptions for no spamware, faster browsing
New: Support for DSD256
New: CPU Boost algorithm to increase frequency on screen touch
New: RQ Affinity for faster I/O scheduling
New: CPU SMP feature for faster processing
New: PegasusQ CPU governor
New: Improved interactiveX governor with increased performance and more power saving on idle (2 core shutdown)
New: Custom AK4490 driver with up to 768kHz oversampling
New: Custom plugin module for AK4490 to add more audio filters in future
New: CPU Maximum overclocking to 2016MHz! (Super significant performance improvement)
New: Current CPU frequency 1896MHz (Significant performance improvement and good stability)
New: GPU overclocking to 500MHz (More fluid screen responsiveness)
New: DDR overclocking to 720MHz (Ultra-fast memory and software processing)
New: Reduced Graphics requirements from 225MB down to 80MB (20% more available RAM)
New: Adaptive Low Memory Killer (A-LMK) algorithm
New: A-LMK optimised scripting (thanks again to prispewnic)
New: Compaction algorithm for low memory killer
New: FiiO RK3188/RK3188T efuse algorithm handling
New: VM Pressure algorithm implementation
Enhanced: zram and zcache now compressed with LZ4
Enhanced: better voltage regulation code
Enhanced: support for apll, cpll and gpll clocks on RK30 board
Enhanced: better GPIO code specific to FiiO player
Enhanced: removed unnecessary encryption
Enhanced: lowered minimum screen brightness for better battery lifetime
Version 2.8
Performance Build
New: Disabled CRC checking in all kernel code (significant performance improvement)
New: Optimised compilation parameters (-Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer)
New: Fine-tuned kernel optimisation for RK3188 (-mtune=cortex-a9)
New: Optimised ARM RWSEM algorithm
Version 2.7
New: Redesigned Busybox installer
New: Redesigned Permissive SE Linux installer
New: Kernel version now displayed in settings
Fix: Corrections to anyone who was not seeing the msg "Kernel optimisation Ready" prompt
Version 2.6
New: UKSM instead of KSM (much faster)
New: ZRAM (more RAM)
New: fsync_disable (much, much faster)
New: ROW I/O scheduler for SD cards (much faster)
New: LZ4 Compression instead of LZO (faster, more compression)
New: zsmalloc implementation instead of xsmalloc
New: zcache enabling (faster)
New: ARM RSEM implementation (faster)
New: frandom generator instead of random (much, much faster)
New: MSG pop-up notification daemon
Fix: Lowered voltage for some FiiO players with lower-grade VCOs
Fix: Corrected git file dependencies
Fix: Disabled system animation by default
Version 2.5
New: Increased max clock speed to 1752MHz (faster)
New: BFQ I/O scheduler (faster)
New: Westwood TCP/IP congestion protocol (much faster)
New: InteractiveX governor (much, much, much faster)
Fix: Stability checks to voltage
Fix: iX handling changes
Version 2.4
New: Maple I/O Scheduler (faster)
New: init.d full support (much, much faster)
New: init.d scripts (thanks prispewnic @ 4PDA)
Version 2.3
New: Zen I/O scheduler (much faster)
Version 2.2
Fix: Changes to scheduler priorities during screen off (faster)
Version 2.1
New: Additional GPU and DDR overclocking (much, much faster)
Version 1.4
New: Update to Linaro gcc 4.9.4 (significantly much faster)
Version 1.3
New: SIO I/O scheduler (faster)
New: VR I/O scheduler (faster)
New: CPU clock to 1704MHz (much, much faster)
Version 1.2
New: Additional voltage optimisation and DDR overclocking
Version 1.1
New: GPIO optimisation and documentation
New: CPU clock to 1518MHz (faster)
Version 1.0
Initial system release and branch-off from FiiO GPL code
Installation instructions
1) Windows and/or first-time users
If you already have TWRP or a previous version of my kernel, go to step 2.
a) If you don't yet have TWRP and/or any previous version of my kernel yet, download the Windows-based loader here and unzip to a folder
https://www.androidfilehost.com/?fid=1395089523397899882
(note: you need to have the FiiO USB Windows drivers correctly installed)
b) Run the AndroidTool.exe program and connect the FiiO via USB.
c) Put the player in bootloader mode (just as if you were going to upgrade the player the traditional FiiO way with the Windows based loader), by pressing power+pause+back.
d) If all goes well you should see the green light with 'Found One Loader Device'. Make sure 'boot' and 'recovery_twrp' are selected and press Run. Once done, click the 'Advanced Function' tab and click Reset Device. You should have the new kernel and TWRP installed!
2) TWRP users
a) Download the latest version of the kernel (with new optimisation scripts) above and push to sdcard
b) Reboot to TWRP recovery
c) Install -> FiiO-X5iii-jkbuha-V3.1-TWRP.zip
d) Wipe kernel and dalvik cache
e) Reboot
f) IMPORTANT: leave running for new scripts to do their magic (you will be prompted to reboot)
g) Reboot
h) Enjoy
Any queries, comments etc - please shout
This post kept blank for now
Version 3.11 released, containing miscellaneous bugfixes
hello
thanks for this release. very useful
Version 3.31 released, containing new performance-enhancing features, bug fixes and new improvements.
Thanks a lot for your work, jkbuha. Some friends also have the Fiio X5 iii and they all use your Kernel now. The Player is much smoother and faster.
I use the 1704 MHz version. For me its the best compromise of speed and battery lifetime.
With the 2016 MHz version my player gets very hot. Does your player also generate so much heat with this version?
fl1p17 said:
Thanks a lot for your work, jkbuha. Some friends also have the Fiio X5 iii and they all use your Kernel now. The Player is much smoother and faster.
I use the 1704 MHz version. For me its the best compromise of speed and battery lifetime.
With the 2016 MHz version my player gets very hot. Does your player also generate so much heat with this version?
Click to expand...
Click to collapse
Thanks for the feedback. The 2016 version uses slightly higher voltages than the default FiiO kernel at 1416MHz, but it's never generated any noticeable heat; at least in my case. Just to be safe, if you continue to experience heating, I'd use the 1704Mhz; other than benchmark scores the daily usage experience is the same as 2016MHz.
Dear jkbuha,
Although using XDA forum a long time, just signed up because I really needed to say thanks. While I was satsified with sound quality on my X5, the performance of the device and general bugs left A LOT to desire.
Just flashed your kernel onto a stock 1.2.5 rom and the performance so far is outstanding. The X5 never worked THAT snappy. This is extraordinary work, sir, hats off. FIIO should buy this from you and put in their next release. Seriously.
I'll be spending the next days testing the battery performance with the hopes of getting better idle battery life, which bother the bejesus out of me.
Anyway, thanks again, your work is very appreciated!
is this kernel work with purist fidelizer rom?
rizky_zulfikar said:
is this kernel work with purist fidelizer rom?
Click to expand...
Click to collapse
Yes this should work with the latest Fidelizer.
Hello, i have a problem when installing kernel: "set_perm: some changes failed". In log file:
Installing Init.d Scripts
package_extract_file: can't open /system/etc/init.d/10Sqlite for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/20Zipalign for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/30FSTweak for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/40EXT4Tweak for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/50ReniceTimer for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/55GoogleDrainFix for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/60Main for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/98SuperSUDaemon for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/99AutoReboot for write: No such file or directory
package_extract_file: can't open /system/bin/renice.sh for write: No such file or directory
set_perm: chown of /system/etc/init.d/10Sqlite to 0 0 failed: No such file or directory
set_perm: chmod of /system/etc/init.d/10Sqlite to 0 failed: No such file or directory
script aborted: set_perm: some changes failed
set_perm: some changes failed
Installer Error (Status 7)
jkbuha said:
Dear xda community
Any queries, comments etc - please shout
Click to expand...
Click to collapse
Hi I just order my fiio x5iii generation and im looking into TWRP, Root, and I want to install viper4android into the latest firmware if possible because I heard they got rid of it. I see your program to install TWRP and the kernel but what about rooting do you know if Magisk or Supersu will root and is viper4android able to be installed? I would really appreciate any help. Thank You I look forward to using your Kernel and TWRP. Should I stay on the first firmware also. My main goal is viper4android 2.3.4 with high quality driver and magisk if possible.
fl1p17 said:
Thanks a lot for your work, jkbuha. Some friends also have the Fiio X5 iii and they all use your Kernel now. The Player is much smoother and faster.
I use the 1704 MHz version. For me its the best compromise of speed and battery lifetime.
With the 2016 MHz version my player gets very hot. Does your player also generate so much heat with this version?
Click to expand...
Click to collapse
Hi, Im new to fiio x5iii player but ive rooted and flashed tons of android phones. Im getting lost in all the directions online. If I have a brand new never updated fiio x5 player how would you recommend going about things? Should I flash TWRP and the kernel without updating the firmware? Im trying to get Twrp, Root, Kernel, and Viper4android 2.3.4 installed I know the fiio music has some viper options you have to pay for but id rather get all of them with 2.3.4 installed.
I would really appreciate some help. I've never used a high resolution player. I've rooted a dozen Androids and I know they can all have differences so that's why I'm curious.
Here's my plan
Install twrp from the 2.6 windows zip on stock firmware that's on it when I get it.
Make a backup
Flash SuperSU
Make another backup with root.
Install viper4 Android apk not zip
Install BusyBox
If there's some specific firmware I should be on for twrp to flash properly I would like to know.
If I want to upgrade firmware do I need to reinstall stock recovery or can I just update it using the update tool?
Speniopantollor said:
Hello, i have a problem when installing kernel: "set_perm: some changes failed". In log file:
Installing Init.d Scripts
package_extract_file: can't open /system/etc/init.d/10Sqlite for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/20Zipalign for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/30FSTweak for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/40EXT4Tweak for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/50ReniceTimer for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/55GoogleDrainFix for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/60Main for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/98SuperSUDaemon for write: No such file or directory
package_extract_file: can't open /system/etc/init.d/99AutoReboot for write: No such file or directory
package_extract_file: can't open /system/bin/renice.sh for write: No such file or directory
set_perm: chown of /system/etc/init.d/10Sqlite to 0 0 failed: No such file or directory
set_perm: chmod of /system/etc/init.d/10Sqlite to 0 failed: No such file or directory
script aborted: set_perm: some changes failed
set_perm: some changes failed
Installer Error (Status 7)
Click to expand...
Click to collapse
Sounds like the /system partition didn't mount properly or you're out of free space. Try and mount it manually in TWRP and see if you can free some space and/or run the installer again
Techguy777 said:
Install twrp from the 2.6 windows zip on stock firmware that's on it when I get it.
Make a backup
Flash SuperSU
Make another backup with root.
Install viper4 Android apk not zip
Install BusyBox
If there's some specific firmware I should be on for twrp to flash properly I would like to know.
If I want to upgrade firmware do I need to reinstall stock recovery or can I just update it using the update tool?
Click to expand...
Click to collapse
Yes that approach is correct (the custom kernel also includes busybox so that last step is redundant). However V4A doesn't work system-wide on any FiiO firmware; you'd need to play around with the audio_policy.conf to make it work, and if you do I'd be happy to integrate your work into the latest kernel as an option install. Just be mindful of the loss in audio fidelity; you'd probably be better off using Neutron as I've explained on the head-fi forum.
TWRP works on all FiiO firmwares. For audiophiles, the recommended firmware is 1.2.3 (latest is 1.2.5) as the audio libraries seem to be the best though you can select which library you want in the custom kernel installer.
To upgrade firmware you need to install stock recovery. FiiO's update tool doesn't work with TWRP, which is understandable.
jkbuha said:
Yes that approach is correct (the custom kernel also includes busybox so that last step is redundant). However V4A doesn't work system-wide on any FiiO firmware; you'd need to play around with the audio_policy.conf to make it work, and if you do I'd be happy to integrate your work into the latest kernel as an option install. Just be mindful of the loss in audio fidelity; you'd probably be better off using Neutron as I've explained on the head-fi forum.
TWRP works on all FiiO firmwares. For audiophiles, the recommended firmware is 1.2.3 (latest is 1.2.5) as the audio libraries seem to be the best though you can select which library you want in the custom kernel installer.
To upgrade firmware you need to install stock recovery. FiiO's update tool doesn't work with TWRP, which is understandable.
Click to expand...
Click to collapse
Awesome I cant wait to get started. Its sounds like the fiio is pretty good for rooting and modding. If I can just install twrp and then if I want to update later use your tool to reinstall stock recovery to update it sounds pretty good.
If I can get viper to work ill let everyone know. Its fine if I lose fidelity a little for one backup then ill keep one with stock to go back to if I want.
jkbuha said:
Yes that approach is correct (the custom kernel also includes busybox so that last step is redundant). However V4A doesn't work system-wide on any FiiO firmware; you'd need to play around with the audio_policy.conf to make it work, and if you do I'd be happy to integrate your work into the latest kernel as an option install. Just be mindful of the loss in audio fidelity; you'd probably be better off using Neutron as I've explained on the head-fi forum.
TWRP works on all FiiO firmwares. For audiophiles, the recommended firmware is 1.2.3 (latest is 1.2.5) as the audio libraries seem to be the best though you can select which library you want in the custom kernel installer.
To upgrade firmware you need to install stock recovery. FiiO's update tool doesn't work with TWRP, which is understandable.
Click to expand...
Click to collapse
How does viper effects sound in the fiio music app? I've installed it on my phone and it's weird no music will play on it. I see that it has every setting I like except for headphone surround sound. My favorite settings are gain , clarity, dynamic system or bass but usually dynamic system, and headphone surround sound is all I need anyway. Wonder why they didn't include that. I also don't understand how it'll know you paid for the settings if you uninstall it or flash a new firmware. I paid for 2 day shipping and it hasn't even shipped yet cause of the holidays I can't wait.
Techguy777 said:
How does viper effects sound in the fiio music app? I've installed it on my phone and it's weird no music will play on it. I see that it has every setting I like except for headphone surround sound. My favorite settings are gain , clarity, dynamic system or bass but usually dynamic system, and headphone surround sound is all I need anyway. Wonder why they didn't include that. I also don't understand how it'll know you paid for the settings if you uninstall it or flash a new firmware. I paid for 2 day shipping and it hasn't even shipped yet cause of the holidays I can't wait.
Click to expand...
Click to collapse
FiiO Music is hard wired to play only on FiiO Players. Which of course is understandable. I'm sure someone could figure out to hack it if it's really worthwhile...
Viper on FiiO Music sounds the same as you'd expect on other players
jkbuha said:
FiiO Music is hard wired to play only on FiiO Players. Which of course is understandable. I'm sure someone could figure out to hack it if it's really worthwhile...
Viper on FiiO Music sounds the same as you'd expect on other players
Click to expand...
Click to collapse
Thats what i thought that the fiio app is probably hackable and if someone could do so its possible it would play on all androids without root maybe. Do you have a copy of the stock kernel by itself unrooted? I like to have a clean copy of everything. Also after flashing twrp and kernel what does "reset device" do does it go into twrp or reboot and wipe device?
I found a stock firmware 1.1.0 and got the boot img out of that. I cant find a firmware for 1.0.9 on fiios firmware its just a pdf manual and it says 1.0.9 but it isnt or purist rom 1.0.9 has been removed from all the links.
---------- Post added at 12:43 PM ---------- Previous post was at 11:59 AM ----------
I dont know if you guys know it but poweramp and neutron play DSD files on android. Matter of fact they play the top 256 no problem. This is new to me so im not sure if its the same. 512 is only on 5 songs so thats not necessary and 1024 doesn't exist yet.