Related
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.
** DoPa6 (AOSP - Marshmallow) ** is now available - see this post for details and downloads
Click to expand...
Click to collapse
DoPa5 v1.3 is a Lollipop ROM for Sero 7 Pro owners worldwide. It focuses on core functionality that must be built-in and relies on 3rd-party apps to provide features that can be added-on. This release also offers a version of TWRP Recovery that is compatible with all models of the S7P.
Key Features
International Support - a single ROM for all Sero 7 Pros sold worldwide (US, UK, Australia, Germany, and elsewhere)
Speed Control - speed when you need it and stock performance when you don't
OTG Charging - charge the tablet while an external device is attached to the USB port
Flexible Formatting - full support for both F2FS and EXT4 on your internal storage, and exFAT/FAT32/NTFS/F2FS/EXT4 support for external storage
Installation
First-time Users
If you're upgrading from a stock ROM (any variety), please click the "show content" button and read the instructions very carefully - they're long but your tablet's continued good health may depend on it!
STEP 1: Install TWRP or Philz Touch Recovery
Users outside the US must use the DoPa versions of these recoveries to install the ROM - neither the stock recovery nor other versions of CWM or Philz will work. Users in the US should use them just to avoid problems.
Stock Recovery
If you still have the stock recovery program you'll have to use the 'fastboot' program to install TWRP or Philz. On Windows, this requires installation of the 'ADB' USB drivers while in fastboot mode (see below). A package containing the drivers, fastboot, adb and other files can be found in the 2nd posting on the DoPa Stock ROM thread. Note: there are several batch files (*.bat) in the package - do NOT run them.
put fastboot.exe in a convenient directory, then unzip the recovery zip and put the .img file (twrp.img or philz.img) in the same directory (you won't need the other files)
unplug any USB cable, then press and hold Power+VolumeUp; the word "fastboot" should appear on the screen (nothing further will appear)
plug the USB cable from your PC into the tablet, then install the driver (open Device Manager, right click on "Other Devices->Fastboot", then select "Update Driver Software")
after installing the driver, open a command prompt ("DOS window") and change to the directory containing the files
enter, as appropriate, fastboot flash recovery twrp.img or fastboot flash recovery philz.img
when done, force the tablet off, remove the USB cable, then reboot into recovery: Power+VolumeDown - you should see the word "recovery", then either the TWRP or Philz menu
CWM
If you have CWM installed, copy your choice of recovery zip to an SD card, insert it in the tablet, then:
remove any USB cable, then boot into recovery: Power+VolumeDown
select "Install Zip", then "Choose zip from /storage/sdcard1"
select the file, then OK the selection
when done, back out to the main menu, select "Advanced options", then "Reboot recovery"
after the initial "recovery" screen, you should see the TWRP or Philz menu
Regardless of how you install your chosen recovery, the result should be the same. If it boots OK, compatibility is assured
STEP 2: Backup
I can't emphasize this enough: you must make a backup of your existing ROM. If something goes wrong, there's no way to get your device working again other than to restore it using the backup you've made. There's also another reason to do a backup: before installing the new ROM, you will have to reformat your /data partition. This will wipe out your apps, your settings, and most importantly, all the music/photos/etc stored on your "internal SDcard". These last items can be restored if you follow the instructions below:
You must do your backup onto a real SD card that you can remove because your "internal SDcard" will be erased in the next step. In fact, it wouldn't be a bad idea to do two backups (preferably to different cards) just in case one is faulty.
using Philz, select "Backup and Restore", then "Backup to /storage/sdcard1" -if there's enough space on the card, the backup will start without any further prompt;
using TWRP, select "Backup", then tap "Storage" (halfway down the screen) and ensure that "sdcard" is selected; on the previous screen, swipe the slider to start the backup;
it could take anywhere from 3 to 15+ minutes depending on the amount of data and the speed of your card
if needed, you can enable compression to create a smaller backup: for TWRP, you can check "Enable compression" on its main backup screen; for Philz, select "Misc Nandroid Settings -> Default Backup Format -> tar + gzip", then on the previous menu, tap on "Compression" to set the appropriate level
STEP 3: Install the DoPa5 ROM
Before you begin, you may want to download a Google Apps ("Gapps") package that you can install after the ROM. See the TK Gapps thread for details. I recommend the "Nano Modular" package which gives you the basics - you can always upgrade later. Put your Gapps package along with the ROM zip on an SD card and insert it into the tablet - you can use the same card you're using for your backups.
using TWRP, select "Wipe", then "Format data"; on the next screen type "yes" to confirm you want to proceed;
using Philz, select "Wipe and Format Options", then "Custom Format Options"; next select "format /data and /data/media (/sdcard)" (the 8th item), then OK your choice;
return to the main menu
using TWRP, select "Install"; at the top it should show "Storage: sdcard" - if not, tap there and change the setting
using Philz, select "Install Zip -> Choose zip from /storage/sdcard1"
select sero7pro-aosp511-dopa5-v1.3.zip, then OK your choice - the install process should take about 40-60 seconds
next, install your Gapps package
return to the main menu, select "Reboot" then "System" if using TWRP, or "Reboot System Now" for Philz, then hold your breath for the next 3-4 minutes
the Hisense screen should be up for 30 seconds, followed by the DoPa boot animation for another 3 minutes
If the boot animation is still running after 5+ minutes, force the tablet off, then reboot. If that doesn't fix it, try formatting /data again. If it still doesn't work, restore your tablet from your backup ("Backup and Restore -> Restore from /storage/sdcard1"), then post a message here. If everything works out as hoped for, re-read the first posting in this thread for details on some of the features (and problems) of this ROM.
Upgrades
UK, AU, and DE users must use the DoPa versions of TWRP or Philz Touch to install the ROM because they are the only ones compatible with your tablet. US users can use any SELinux-enabled version of CWM, Philz, or TWRP.
from DoPa5 AOSP Lollipop ROMs - no need to wipe or format anything!
from DoPa AOSP Kitkat ROMs (v1.0-v2.7) - a clean install is recommended but not required
from pre-Kitkat (v4.4.x) or any CM-based ROMs - wipe your /data partition before installing to avoid unnecessary problems.
install sero7pro-aosp511-dopa5-v1.3.zip
- the installer will wipe (but NOT format) /cache and dalvik-cache for you
install your preferred Gapps package
- upgraders: this is required to prevent your downloaded Google apps from crashing
optionally, install the Nexus7 spoof (sero7pro-nexus7spoof-dopa5-v1.3.zip)
reboot (ignore any "fix root" prompt - it's incorrect)
f2fs / ext4 Migration
This DoPa ROM gives you the flexibility to format any of your built-in partitions using either the f2fs or ext4 file systems.
As part of your install - or at any time - you can switch formats without losing any data. Click "show content" for instructions.
If you haven't already installed TWRP or Philz Touch Recovery, please do so first.
TWRP
make a backup to your external SD card
select Wipe then Advanced Wipe
select the partition to reformat, then tap Repair or Change File System
on the next screen, tap Change File System, then F2FS (or EXT4 to restore the default file system)
swipe the slider below to start formatting
when done, use the Restore option on the main screen to restore the contents of the partitions you reformatted
Philz
make a nandroid backup to your external SD card
select Wipe and Format Options, then Custom Format Options
select toggle f2fs <-> ext4 migration
- be sure there's a confirmation message at the bottom of the screen
select each partition you want to convert or wipe, then select the format and OK your choice
Important: to convert your /data partition, you must select format /data and /data/media (/sdcard)!!!
use Custom Restore from /storage/sdcard1 to restore the contents of the partitions you reformatted
Changes since DoPa5 v1.2
Xposed and GravityBox - these staples of the DoPa KitKat ROMs are back and preinstalled to provide all the tweaks you want - and none of the ones you don't
ArchiDroid Optimizations - this version of Android was built using gcc 4.9 and is highly optimized thanks to settings provided by JustArchi. To help ensure stability, the kernel uses standard optimization levels but is better tuned to our Cortex A9 processor due to the use of linaro 4.9 (a version of gcc optimized for ARM processors).
No Odex-ing - odex-ing has been abandoned because Xposed recompiles all apps, making the .odex files redundant. There should now be enough space on the /system partition to install the TK-Gapps Micro package.
Adaptive Brightness - a longstanding bug that could cause the screen to go black has been fixed. Overall brightness levels have been adjusted to provide greater dynamic range in low lighting conditions.
Notes
Xposed - having the Xposed framework installed shouldn't cause any issues, but if you wish to remove it you can do so using the xposed-uninstaller available in the Xposed XDA thread. The Xposed Installer and GravityBox apps will remain but will be inactive - you can use a root-enabled filemanager to remove them if you wish.
Encryption - if you wish to encrypt your /data partition, you must first use Philz Recovery to format it. Using TWRP to format may cause the partition to become un-decrytable, resulting in the complete loss of all your data. This is NOT an issue if you don't plan to use encryption.
WiFi Display - end a WiFi Display session from your television, not the tablet; doing so from the tablet may cause it to lock up. Chromecast is reportedly not subject to this issue.
USB Audio - booting up with a USB audio device attached may result in a bootloop.
Gapps - due to limited space on the /system partition, the TK Gapps's "Mini Modular" and larger packages will not install. I suggest using the "Nano" package, then downloading those apps you really want from PlayStore.
Credits
ziddey
randomblame
davepmer
the CM team
Downloads
sero7pro-aosp511-dopa5-v1.3.zip the full ROM
sero7pro-nexus7spoof-dopa-v1.3.zip identify tablet as a Nexus7 to (possibly) show more apps in PlayStore
sero7pro-twrp287-dopa5-v1.3.zip a customized version of TWRP Recovery v2.8.7 usable on all versions of the Sero 7 Pro
sero7pro-philz6.58.0-dopa-v2.7.zip the final version of Philz Touch CWM-based Recovery v6.58.0 compatible with all models of the Sero 7 Pro
TK Gapps an XDA thread with links to various Gapps packages
sero7pro-format-thirdparty.zip - only needed if you are downgrading from DoPa6 (Marshmallow) to a previous version (i.e. this one)
GPL Notice: the source code for this kernel is available at https://github.com/dolorespark/android_kernel_hisense_m470bsa on the 'master' branch.
XDA:DevDB Information
Sero 7 Pro (US/UK/AU/DE) - DoPa5 AOSP, ROM for the Android General
Contributors
dolorespark
Source Code: https://github.com/dolorespark
ROM OS Version: 5.1.x Lollipop
ROM Kernel: Linux 3.1.x
Based On: AOSP
Version Information
Status: Stable
Current Stable Version: v1.3
Stable Release Date: 2015-09-26
Created 2015-01-28
Last Updated 2016-01-02
Reserved
Thx for all your hard work
on these tablet
Thx
ok, so I have a question or several as I remember them...
I noticed in Beta 4 that we were (or at least I was) suffering from the well documented play movies bug that was afflicting a number of 2013 Nexus 7 models.
Has this been fixed yet?
If not, is there a workaround?
If so, what is it?
I also noticed some performance and stability issues when using the performance tab along with apps like 3c Toolbox and System Tuner. Unfortunately, I did not see a way to use performance tab to overclock the gpu and leave the cpu clock stock so that I could tweak the system through the aforementioned apps.
Also, can the cpu be overclocked beyond 1.5 Ghz?
If so, is this already enabled, or is there some magic involved?
I really liked the beta 4 (beta r3) Rom and the way it looked, felt, and ran.
I found it to be better at managing free memory than kitkat in that I had at least 50% more free ram than Kitkat. I believe this contributed to some of the performance increase. But I had a hard time with the Google Play Movies bug. And some people were saying it was a general problem within the os's video subsystem.
Legend, keep up the great work
Excellent work! Looking forward to this!
Sent from my Nexus 7 using XDA Free mobile app
alpurl said:
I noticed in Beta 4 that we were (or at least I was) suffering from the well documented play movies bug that was afflicting a number of 2013 Nexus 7 models. Has this been fixed yet?
Click to expand...
Click to collapse
I'm sorry I didn't know about this until you mentioned it. I'm too poor/cheap to buy stuff from Google Play Movies, so I'd never have learned about this on my own. Fortunately this was my day off, so I was able to spend the afternoon chasing down this bug. Here's the fix - install it from Recovery:
sero7pro-video-drm-fix-dopa5-v1.0.zip
I'll repackage the main ROM in the near future to include this fix, but first I want to investigate a few possible problems I noticed while getting this fixed.
I also noticed some performance and stability issues when using the performance tab along with apps like 3c Toolbox and System Tuner. Unfortunately, I did not see a way to use performance tab to overclock the gpu and leave the cpu clock stock so that I could tweak the system through the aforementioned apps.
Click to expand...
Click to collapse
Every time you display the Performance page, it will restore all parameters to the values you set previously. If 'Speed Control' is enabled, it will reset the CPU & GPU speeds, overriding values set by some other app. Your best bet is to turn it off. If neither of the apps you mention knows how to set the GPU speed, you can do so temporarily from a terminal or permanently from an init.d script like so:
Code:
echo -n 1250 > /sys/kernel/tegra_cap/core_cap_level # "1200" is 448mhz - "1250" is 520mhz
echo -n 1 > /sys/kernel/tegra_cap/core_cap_state
Also, can the cpu be overclocked beyond 1.5 Ghz?
Click to expand...
Click to collapse
Nope, not without extending the kernel's DVFS table further, then recompiling. Someone had it running at 1700mhz, but I'd consider that ..umm.. ill-advised for a chip that's intended to run at 1200-1300mhz.
Loving the first build. Very silky smooth speed and pretty stable as well as far as Lollipop is concerned at this point. As far as themes are concerned I haven't had too many issues using them on the current CM12 nightly for the Sero 7 Pro despite the DPI difference. Can't wait to see where this goes from here. Thanks for all the hard work! :highfive:
dolorespark said:
Nope, not without extending the kernel's DVFS table further, then recompiling. Someone had it running at 1700mhz, but I'd consider that ..umm.. ill-advised for a chip that's intended to run at 1200-1300mhz.
Click to expand...
Click to collapse
Well, on nVidia's page it recommend a maximum of 1.6 GHz, so 1.7 is not too much of an overboard if Hisense had built these units well enough. However, even with 1.5 GHz the chips is already running uncomfortably hot so it would be wise to back off from any higher clock. I do however think that the GPU of this tablet is a lacking a bit of oomph (ironically), is it possible to raise the clocks of the GPU beyond 520MHz? (granted that there would be a possibility of artifacts )
dolorespark said:
I'm sorry I didn't know about this until you mentioned it. I'm too poor/cheap to buy stuff from Google Play Movies, so I'd never have learned about this on my own. Fortunately this was my day off, so I was able to spend the afternoon chasing down this bug.
Click to expand...
Click to collapse
Being under that magic number of 10 posts, I couldn't post this in that main thread, and when I tried to post in the q&a thread where "reply" sent me, the forums bot catcher tripped me up.
Thanks, that worked like a charm.
Every time you display the Performance page, it will restore all parameters to the values you set previously. If 'Speed Control' is enabled, it will reset the CPU & GPU speeds, overriding values set by some other app. Your best bet is to turn it off.
Click to expand...
Click to collapse
I did, and had stability. Just didn't know about just gpu o/c.
If neither of the apps you mention knows how to set the GPU speed, you can do so temporarily from a terminal or permanently from an init.d script like so:
Code:
echo -n 1250 > /sys/kernel/tegra_cap/core_cap_level # "1200" is 448mhz - "1250" is 520mhz
echo -n 1 > /sys/kernel/tegra_cap/core_cap_state
Click to expand...
Click to collapse
To my knowledge, they don't, or at least I haven't figured that part out yet. Haven't figured it out in trickster mod either. I'll try the code. I only remember seeing one init.d file, does it matter where in that file I add the code?
Yeungers said:
on nVidia's page it recommend a maximum of 1.6 GHz
Click to expand...
Click to collapse
The Tegra3 is a family of SoCs with models designed for mobile, automotive, and embedded use. Ours is the low-power mobile version. Some variants do have higher maximum clock speeds but they use more power at every frequency step than ours.
I do however think that the GPU of this tablet is a lacking a bit of oomph (ironically), is it possible to raise the clocks of the GPU beyond 520MHz?
Click to expand...
Click to collapse
Possibly. The original overclock patch just upped the GPU speed to 520mhz without increasing the voltage any - and that seemed to work. When I rewrote the o/c code, I increased the voltage when running at 520mhz for what I considered solid reasons, Since it now has more power, I suspect I could up the speed somewhat without causing problems. However, even at a higher speed, it's still going to be an also-ran in today's market.
alpurl said:
dolorespark said:
If 'Speed Control' is enabled, it will reset the CPU & GPU speeds, overriding values set by some other app. Your best bet is to turn it off.
Click to expand...
Click to collapse
I did, and had stability. Just didn't know about just gpu o/c.
Click to expand...
Click to collapse
Having some other app set the CPU or GPU speeds isn't going to make it any more or less stable than having the built-in facility do it.
Be aware that if you're trying to use one of these apps to set the Interactive Governor's parameters, you're wasting your time. Not only does our Interactive Governor NOT work like you'd think - and not work like other implementations - it's totally ineffective. Every time the kernel brings another core online, it kicks all cores to the maximum allowed speed, totally sabotaging the governor's efforts. If you use Trickster to track the time at each speed, you'll see that the bulk of the time is spent either at very low speed or max speed, with all the intermediate speeds hardly used at all.
I only remember seeing one init.d file, does it matter where in that file I add the code?
Click to expand...
Click to collapse
Create a new file named, f'rinstance. "02gpuspeed". Put "#!/system/bin/sh" on the first line, then the code I provided on the following lines. The files will be executed in alpha-numeric order: 00banner, 02gpuspeed, 99SuperSUDaemon. Be sure to set its permissions to '755' so it is executable.
I pretty well figured that would be the case, but...
Based on my somewhat limited understanding ,If you have a utility in the Rom trying to manage the cpu speeds, and an app trying to do the same with me "choosing" to use the performance governor, conflicts are bound tio arise. Based on my pc understanding, conflict equals poor performance and instability.
And it was honestly one where I was using performance settings for the gpu, and then one of the other apps for the cpu.
So, I found that if I simply turned off the performance settings and lived with the lower gpu clock, my system ran stable. So I was asking about how to get the higher gpu clock without using the cpu overclock portion of the performance tab.
You pretty well answered that, and I thank you.
Now, do I need to include the bit in the code at the end of the first line where it says 1200 is 448, and 1250 is 520?
Also, I don't understand setting permissions to 755. I understand setting read, write, own, etc, but not 755, if that's the case, then what app do I use for that? I created the file as a blank text document on my tablet directly and input the code there, then rebooted. Or did I screw the pooch on that one?
Sadly, I know nothing about the individual governor settings within each governor configuration. Therefore, I figure that the wisest and safest course of action is to leave it alone. It's easier and safer to work with the stuff I DO know until I can get feedback and advice from someone who DOES know.
I realize that some of this may seem stupid to you, but it's the only way I know to learn.
I will make another post later when I have more time to comment on some other things I keep seeing and would like to know what to do there.
alpurl said:
If you have a utility in the Rom trying to manage the cpu speeds, and an app trying to do the same with me "choosing" to use the performance governor, conflicts are bound tio arise.
Click to expand...
Click to collapse
The CPU/GPU settings on the Performance page are set-and-forget values. They simply set the maximum speeds once bootup is done, and again when you display that page. They don't monitor anything - the CPU governor does that, and it is constrained by these settings. The corresponding settings in the other apps you've tried operate the same way.
You should be aware that the "performance" governor is really no governor at all. It simply sets the processor to the maximum permitted speed and never changes it. On the whole, this governor generates more heat than performance.
I found that if I simply turned off the performance settings and lived with the lower gpu clock, my system ran stable.
Click to expand...
Click to collapse
This strongly suggests that your device really can't handle the higher speed - at least when the CPU is running full-bore at all times. You may want to search for the postings in some of the early S7P threads where people described attaching copper foil to the SoC to dissipate excess heat.
do I need to include the bit in the code at the end of the first line where it says 1200 is 448, and 1250 is 520? Also, I don't understand setting permissions to 755.
Click to expand...
Click to collapse
Anything after a '#' in a shell script is a comment. As to '755', that's "read/write/execute" for the owner, and "read/execute" for the group and other users. Do a search for the 'chmod' command for more details on setting and interpreting Unix permissions.
Ok, that's fair enough.
Occasionally, I'll boot and get an error that the process called system is not responding and then it wants to know if I want to wait, or close it. It will do this every subsequent boot until I wipe cache and Dalvik (because I end up doing both out of habit) from recovery and then all is well again for several boot cycles where we start up again.
What am I missing here?
Are we free to discuss RRO theming for the S7P in this thread for now? I have been following BitSyko Development for a week or so and opted into the Layers beta and so on. I will be spending some time this week to figure this all out.
Sent from my XT1034
kenundrem said:
Are we free to discuss RRO theming for the S7P in this thread for now? I have been following BitSyko Development for a week or so and opted into the Layers beta and so on. I will be spending some time this week to figure this all out.
Click to expand...
Click to collapse
Since I'm not familiar with RRO theming how is this different from the themes released for say CM12 and the like?
kenundrem said:
Are we free to discuss RRO theming for the S7P in this thread for now? I have been following BitSyko Development for a week or so and opted into the Layers beta and so on.
Click to expand...
Click to collapse
AngryManMLS said:
Since I'm not familiar with RRO theming how is this different from the themes released for say CM12 and the like?
Click to expand...
Click to collapse
Of course you're welcome to discuss RRO - especially since it gives me an opening to throw in my 2 cents
Runtime Resource Overlays provides a way to override and/or replace the "resources" (icons, layouts, colors, strings, and fixed values) that are built into an .apk file. Since the resources used by Android itself are packaged into an .apk, you can modify the OS as well as individual applications.
RRO has been around for a long time but no one other than Sony ever used it. BitSyko's greatest contribution has been to make people aware that it's a superior way to do theming which is already built into the OS and is fairly easy to use. Unlike CM's theme engine, no custom code is required.
Beyond that, their contribution is somewhat less revolutionary than their many admirers seem to think. Their efforts are directed primarily at ease of use. The Layers app is essentially a file manager that makes copying themes into place a bit easier. What the app does you can do yourself using ESFileExplorer or ADB (though without some niceties they've added).
Their tweaks to the OS are designed to make life a bit easier for themers by changing hard-coded color values into "symbolic references". In other words, rather than specifying the color for each checkbox, you say each one should be the "checkbox_color", then define what that means somewhere else. That way, rather than having to modify the color of many different checkboxes, you change the definition of "checkbox_color" once and they all become that color.
Now, as to what all this means to the Sero 7 Pro and the DoPa5 v1.0 ROM... I delayed the ROM's release for several days until I could get their patches in place and tested, so this facility is in there and ready for use. The problem is that none of the themes I've seen really support the S7P. Any color changes a theme makes will show up just fine (I'm using someone's orange theme currently). However, all the icons are targeted at higher resolution screens than ours, so the OS ignores them and uses the same ones it has always used. If you can find themes for the Nexus 7, or some of the older Asus or HP tablets that also have a 1280*800 screen (213dpi), they should work just fine.
FYI... if you want to install a theme without using Layers, create an 'overlay' directory in '/system/vendor' (i.e. '/system/vendor/overlay'). Next, get some theme packages from this thread and unzip them. Select the .apk files you want, copy them into the 'overlay' directory, then reboot. If you don't like the result, delete them and reboot again.
Perfect explanation @dolorespark on RRO. I'm hoping eventually some kind of dark holo blue theme is made for RRO as all I really need is the color scheme.
AngryManMLS said:
Perfect explanation @dolorespark on RRO. I'm hoping eventually some kind of dark holo blue theme is made for RRO as all I really need is the color scheme.
Click to expand...
Click to collapse
So you want black on holo blue aka 33b5e5? I'm going to make a white/pink themed for my daughter as its her tablet but I will see what I can do for you while I'm at it.
Sent from my XT1034 using XDA Free mobile app
kenundrem said:
So you want black on holo blue aka 33b5e5? I'm going to make a white/pink themed for my daughter as its her tablet but I will see what I can do for you while I'm at it.
Click to expand...
Click to collapse
That would be amazing if you could. Here is an example of what I mean as well.
http://forum.xda-developers.com/android/themes/theme-dark-holo-theme-v1-0-01-25-15-t3012227
KITKAT ONLY. DO NOT FLASH ON LOLLIPOP, IT WILL EAT YOUR KITTENS.
Team Win Recovery Project 2.x, or twrp2 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
Phone look:
Tablet look:
Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at https://jenkins.twrp.me and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at https://gerrit.twrp.me to help us keep devices up to date and working.
CHANGELOG for 2.8.6.0:
-Fix daylight savings time rules for USA and Europe (_that)
-Allow mulitple overlays for popup boxes (Dees_Troy)
-Add pattern style password entry for decrypt (Tassadar)
-Keyboard improvements (_that)
-Update AOSP base to 5.1 (Dees_Troy)
-Reduce theme count to 5 and rely on scaling (Dees_Troy)
-Various scaling improvements (Dees_Troy)
-Improved handling of resources in the GUI (_that)
-Make scroll bar size proportional to list size (_that)
-Allow scoll lists to render without a header (_that)
-Make console scroll per pixel with kinetic scrolling (_that)
-Support styles in XML to reduce XML size and improve consistentcy (Dees_Troy)
-Various other fixes and improvements (mdmower, bigbiff, codelover, etc)
CHANGELOG for 2.8.5.0:
-Scale the GUI - TWRP can read the theme's resolution and scale it up or down to fit the theme to your screen's resolution
-Backups can now be cancelled while the backup is in progress (does not include restore because we don't want to leave your device in a bad state)
-Improve thread handling and move input handling into the main rendering thread to improve stability
-Make MTP work even if unplugged and plugged back in
-Unify scrollable list code and make kinetic scrolling feel more natural
-Fix handling of mapped zip files for OTA updates (CM12 updater)
-USB keyboards should now work on all devices that support USB host mode via a USB OTG cable
-Other small fixes and improvements
CHANGELOG for 2.8.4.0:
-Add flashing of boot and recovery images via the TWRP GUI (Find the Images button on the Install page)
-Fix some MTP related crashes and bugs
-Eliminate TWRP toggling USB IDs during boot if MTP is enabled
-Fix various adb sideload issues
-Improve threading of actions
-Eliminate separate thread for screen timeout
-Update libblkid to 2.25.0
-Use power button as back button on watch themes for easier navigation
-Add mutex locking to data manager
-Improve custom theme handling on encrypted devices
-Allow the stock theme to be offset by build flags so we can center a lower res theme on a higher res screen especially for watches with round screens
DOWNLOAD:
You can find more information and download links on our NEW website! NOTE that the 2.8.6.0 version is ONLY available on our new site and is not available on our other, older mirrors!
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
XDA:DevDB Information
[RECOVERY][KITKAT]TWRP for the Huawei P8 Lite (ALE-L04), Tool/Utility for all devices (see above for details)
Contributors
thenameisnigel, h8rift
Source Code: https://github.com/omnirom/android_bootable_recovery
Version Information
Status: Stable
Current Stable Version: 2.8.6.0
Stable Release Date: 2015-08-27
Created 2015-08-27
Last Updated 2015-08-28
thanks!!!
edit____
ok, working just fine. great work
jabonloco said:
thanks!!!
edit____
ok, working just fine. great work
Click to expand...
Click to collapse
Awesome.
B307 and cannot fastboot boot 2.8.6.0. look for me on hangouts.
thanks,
Todd
Thread closed per OP request.
Please use this thread... http://forum.xda-developers.com/p8lite/development/recovery-twrp-huawei-p8-lite-ale-l04-t3203351
FEATURED ON THE PORTAL
Thanks @Doug Lynch for the mention!
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
CHANGELOG for 3.0.2-0:
-Fix a bug with the input box that affected masked inputs (passwords). This fixes decrypt of full device encryption on devices that support decrypt. This bug also impacts encrypted backups. Users are highly encouraged to stop using 3.0.1 if you use encrypted backups or if you need decrypt of data in TWRP.
-Add Greek translation to some builds.
CHANGELOG for 3.0.1-0:
-support new CM 13.0 pattern encryption (sultanqasim)
-fix slow flashing issue due to modprobe (present on only some devices) (#twrp)
-libtar updated to latest upstream and fixes (jcadduono)
-fixes for loading custom themes (_that)
-TWRP will now detect and install TWRP themes automatically through the normal zip install process (Dees_Troy)
-translation updates - added Italian, Czech and Polish and significant updates to Dutch
-progress bar improvements - progress bar updates during image flashing and better tracks progress during file system backups (tar) (Dees_Troy)
-fix input box text display (Dees_Troy)
-reboot option after zip install complete (bigbiff)
-other mostly invisible bug fixes and improvements
CHANGELOG for 3.0.0-0:
-Completely new theme - Much more modern and much nicer looking (by z31s1g)
-True Terminal Emulator - Includes arrow keys, tab and tab completion, etc. (by _that)
-Language translation - It won’t be perfect and especially some languages that require large font files like Chinese & Japanese won’t be availble on most devices. Also some languages may only be partially translated at this time. Feel free to submit more translations to OmniROM’s Gerrit. (mostly by Dees_Troy)
-Flashing of sparse images - On select devices you will be able to flash some parts of factory images via the TWRP GUI (by HashBang173)
-Adopted storage support for select devices - TWRP can now decrypt adopted storage partitions from Marshmallow
-Reworked graphics to bring us more up to date with AOSP - includes support for adf and drm graphics (by Dees_Troy)
-SuperSU prompt will no longer display if a Marshmallow ROM is installed
-Update exfat, exfat fuse, dosfstools (by mdmower)
-Update AOSP base to 6.0
-A huge laundry list of other minor fixes and tweaks
WARNING: This is our first release in a long time. We have a lot of new and somewhat aggressive changes in this new release. The changes to the graphics back-end may cause some devices to not boot up properly or have other display-related issues. If you are not in a position to reflash an older build of TWRP, then wait until you are or at least wait until others have tried the new version for your specific device. You don’t want to end up with a non-working recovery and have to wait several hours or days to get to a computer to be able to fix it.
Notes for themers: In addition to the udpated theme, we have introduced a theme version variable to the TWRP theme system. If the theme version does not match the version that TWRP expects, TWRP will reject the custom theme and load its stock theme. This change will ensure that people who update TWRP without updating their theme will still have a workable recovery. We have removed libjpeg support. The stock theme was only using a jpeg image for the splash / curtain. This change means that any custom themes will no longer be able to use jpeg images. It also means that tools used to repack recovery images with a different curtain / splash will need to be updated to use the new method.
Version number notes: For a while we’ve been using a 4 digit version number and reserved the 4th digit for device-specific updates. For instance, we find and fix a device-specific issue like decryption of data on Nexus 5, we would release that as a 2.8.7.1. After a while, some people would start asking where 2.8.7.1 was for other devices. So, going forward we have decided to change the numbering scheme to 3.0.0-2, etc. Our hope is that this version numbering scheme will more clearly identify that the 4th digit does not indicate a version change for the code base.
We need your help! The bulk of TWRP work is done by 3 people on a volunteer basis. We have pushed most of our device files to our github and we have a gerrit instance. If you have the ability, please help us maintain our official devices and/or add your device to our official device list. Thanks in advance!
CHANGELOG for 2.8.7.0:
-Initial ground work for software drawn keyboard (_that)
-Fix handling of wiping internal storage on datamedia devices (xuefer)
-Allow DataManager to set and read values from the system properties (xuefer)
-Fix crash when taking screenshots on arm64 devices (xuefer)
-Fix error message after an ORS script completes (Dees_Troy)
-Fix crashes / error when creating encrypted backups (_that, Dees_Troy)
-Add system read only option – more details below (Dees_Troy)
-Add resize2fs and GUI option to run resize2fs (Dees_Troy)
-Fix crash loop caused by empty lines in AOSP recovery command file (_that)
-Prevent duplicate page overlays such as multiple lock screens (mdmower)
Note: As always, be sure your custom theme is up to date (or remove your custom theme) before updating TWRP.
System read only option: Devices that ship with 5.0 and higher as their initial OS are using block level OTA updates. With this style of OTA update, the update script checks to see if the system partition has ever been mounted read/write. Further, the script also usually runs an SHA sum of the entire system partition to detect if any changes have been made. If any changes have been made, the OTA update will refuse to install. Since not all OEMs and devices have factory images available, we have created a new feature in TWRP that detects if the system partition has ever been mounted read/write. If not, you will be prompted asking if you want TWRP to mount system as read/write. If you choose not to allow TWRP to mount as read/write, TWRP won’t prompt to install SuperSU and TWRP won’t try to patch the stock ROM to prevent TWRP from being replaced by stock recovery. The goal of this option is to hopefully allow the user to make a raw system image backup that they can use to get back to a state where they can take OTA updates again.
resize2fs feature: On some devices like the Nexus 6, the factory images include a userdata image that is the proper size only for the 32GB units. If you flash the factory image to a 64GB Nexus 6, the data partition will appear as if it only has the free space of a 32GB device. Using the resize2fs option, TWRP can resize your data partition to take up the full space available. The resize2fs may also be useful to resize system partitions on devices where custom ROM system images don’t take up the full partition space. Lastly, resize2fs may be useful in some cases to reserve the proper space at the end of a data partition for a full disk encryption key, should your partition be formatted incorrectly for some reason.
This new version also marks our first set of full builds using our new jenkins build server. You can track the progress of builds at https://jenkins.twrp.me and we have taken additional steps to make it easier for device maintainers to step up and submit patches to our gerrit server at https://gerrit.twrp.me to help us keep devices up to date and working.
DOWNLOAD:
Most devices can be updated quickly and easily within TWRP if you already have version 2.8.4.0 or higher installed
1) Download the latest version from our website on your device
2) Reboot to TWRP
3) Hit Install and tap the "Images..." button in the lower right
4) Browse to the location of the TWRP image on your device and select it
5) Select recovery from the partition list and swipe to flash
OR:
You can find more information and download links on our website.
BUGS:
If you have found a bug, please consider posting it to our github issues log. It's pretty much impossible for us to keep up with the more than 40 threads that we have for the devices that we "directly" support. If you have a significant problem that cannot be answered in this thread, your best bet is to PM me directly, contact us via our website, or find us in our IRC channel below. If you see someone that's struggling, feel free to point it out to us. We need your help to help us keep track of all of our devices! Thanks!
SUPPORT:
Live support is available via #twrp on Freenode with your IRC client or just click this link.
XDA:DevDB Information
TWRP 3.0.2-0 for LAVA Pixelv1, Tool/Utility for the OEM Cross Device Development
Contributors
MSF Jarvis, varun.chitre15
Version Information
Status: Stable
Created 2016-04-06
Last Updated 2016-04-20
Reserved
Credits
varun.chitre15 for his base trees
@DHARMESH17 for being a great tester
@arvinquilao for making me jealous!
Reserved
I would like you to recognize some misunderstanding.
On the official website of TWRP are 2 different Android One devices listed.
The first is "sprout" which stand for MTK powered devices
The other entry is called "2nd generation MTK (seedmtk)" which is simply wrong and might mislead some people. 2nd gen devices are powered by Snapdragon 410 CPUs.
You may want to change the listing on your website for a better understanding.
body150165 said:
I would like you to recognize some misunderstanding.
On the official website of TWRP are 2 different Android One devices listed.
The first is "sprout" which stand for MTK powered devices
The other entry is called "2nd generation MTK (seedmtk)" which is simply wrong and might mislead some people. 2nd gen devices are powered by Snapdragon 410 CPUs.
You may want to change the listing on your website for a better understanding.
Click to expand...
Click to collapse
@body150165, you might wanna do some homework now. Second gen devices are victim of fragmentation, causing two different variants to exist. The first, the Snapdragon 410-powered seed devices, have TWRP from @arvinquilao, and he's also running CM13 builds. The second one, the MT6582-powered Infinix Hot One and Lava Pixel v1, are classified as sprout by their manufacturers, which would have caused the confusion it somehow triggered in you. All said and done, as the only developer actively working towards CM13 and TWRP for the device, I took the liberty of renaming the device.
@body150165 thanks for bringing up your concern. Official TWRP build for the Snapdragon variant is already available via dl.twrp.me/seed, but the website is yet to be updated (probably in the next couple of days). As soon as it's updated I'll make a new thread here for the Snapdragon variant.
Second Partitiin (SD partition) working??
Sent from my SM-J500F using XDA-Developers mobile app
Nur_Alom said:
Second Partitiin (SD partition) working??
Sent from my SM-J500F using XDA-Developers mobile app
Click to expand...
Click to collapse
Who needs it?
I ported this TWRP 3.0.0-2 for my smartphone (Ulefone Paris, MTK6753), but I have 2 problems....I wrote here, because I want know if is a porting bug or also in others terminal there are the same bug:
1) I created in past a backup of my rom with TWRP 2.8.7.0 Version, and the 3.0.0-2 version isn't able to see my backup when I go on "restore" and choose my MicroSD, but if I navigate with file explorer, I can find it.
2) Battery bug: Always show me 50% of charge, no more, no less...
Are this common bugs, or porting bugs??? How can I fix it??
Thanks!!!
cuvetto said:
I ported this TWRP 3.0.0-2 for my smartphone (Ulefone Paris, MTK6753), but I have 2 problems....I wrote here, because I want know if is a porting bug or also in others terminal there are the same bug:
1) I created in past a backup of my rom with TWRP 2.8.7.0 Version, and the 3.0.0-2 version isn't able to see my backup when I go on "restore" and choose my MicroSD, but if I navigate with file explorer, I can find it.
2) Battery bug: Always show me 50% of charge, no more, no less...
Are this common bugs, or porting bugs??? How can I fix it??
Thanks!!!
Click to expand...
Click to collapse
I'll get back to you in a while after checking these. And this is TWRP 3.0.2-0, not 3.0.0-2.
I would like to know what steps have you taken to port it to determine whether I can source build for the device and make it official.
cuvetto said:
I ported this TWRP 3.0.0-2 for my smartphone (Ulefone Paris, MTK6753), but I have 2 problems....I wrote here, because I want know if is a porting bug or also in others terminal there are the same bug:
1) I created in past a backup of my rom with TWRP 2.8.7.0 Version, and the 3.0.0-2 version isn't able to see my backup when I go on "restore" and choose my MicroSD, but if I navigate with file explorer, I can find it.
2) Battery bug: Always show me 50% of charge, no more, no less...
Are this common bugs, or porting bugs??? How can I fix it??
Thanks!!!
Click to expand...
Click to collapse
@cuvetto : No, these bugs don't exist in my build. Tested as working fine by @DHARMESH17.
Will these work on 1st generation android one device i mean sprout 4 ?
DarkHeart Z said:
Will these work on 1st generation android one device i mean sprout 4 ?
Click to expand...
Click to collapse
It will not, sadly. TWRP seems to have not updated sprout devices for ages, so I'll run you guys a 3.0.2-0 build in some time and post it here.
MSF Jarvis said:
It will not, sadly. TWRP seems to have not updated sprout devices for ages, so I'll run you guys a 3.0.2-0 build in some time and post it here.
Click to expand...
Click to collapse
Then I am waiting for that
Bootloop
My device is lava pixel v1. After flashing this recovery from fastboot my device goes into bootloop. It always start with recovery and then says failed to mount /data etc and again reboots.
ashokvishnoi1994 said:
My device is lava pixel v1. After flashing this recovery from fastboot my device goes into bootloop. It always start with recovery and then says failed to mount /data etc and again reboots.
Click to expand...
Click to collapse
After fastboot flash recovery twrp-3.0.2-0-seedmtk.img, what exactly did you do?
You need to press both Volume Up + Power for about 15 seconds till device reboots back into bootloader mode and then go to recovery mode and open it. This has been tested as working. What steps did you take?
MSF Jarvis said:
@body150165, you might wanna do some homework now. Second gen devices are victim of fragmentation, causing two different variants to exist. The first, the Snapdragon 410-powered seed devices, have TWRP from @arvinquilao, and he's also running CM13 builds. The second one, the MT6582-powered Infinix Hot One and Lava Pixel v1, are classified as sprout by their manufacturers, which would have caused the confusion it somehow triggered in you. All said and done, as the only developer actively working towards CM13 and TWRP for the device, I took the liberty of renaming the device.
Click to expand...
Click to collapse
It should be Infinix Hot 2. Also I tried flashing via flashify and the recovery does not boot on Hot 2.
anarchtic said:
It should be Infinix Hot 2. Also I tried flashing via flashify and the recovery does not boot on Hot 2.
Click to expand...
Click to collapse
That's bad.... Can you provide me with your boot image? I will have to end up deunifying this recovery if it isn't booting :/
I would recommend that you also try a fastboot flash to see if it's a flashify thing.
MSF Jarvis said:
@body150165, you might wanna do some homework now. Second gen devices are victim of fragmentation, causing two different variants to exist. The first, the Snapdragon 410-powered seed devices, have TWRP from @arvinquilao, and he's also running CM13 builds. The second one, the MT6582-powered Infinix Hot One and Lava Pixel v1, are classified as sprout by their manufacturers, which would have caused the confusion it somehow triggered in you. All said and done, as the only developer actively working towards CM13 and TWRP for the device, I took the liberty of renaming the device.
Click to expand...
Click to collapse
MSF Jarvis said:
That's bad.... Can you provide me with your boot image? I will have to end up deunifying this recovery if it isn't booting :/
I would recommend that you also try a fastboot flash to see if it's a flashify thing.
Click to expand...
Click to collapse
I will when I get home, I am at work now which is why I used Flashify. Did you test using Hot 2?
anarchtic said:
I will when I get home, I am at work now which is why I used Flashify. Did you test using Hot 2?
Click to expand...
Click to collapse
Don't own one. I believed it would boot, just like it does for Android One first gen devices(One recovery for all devices)
For those that don't know what Evervolv is, Evervolv is an AOSP (Android Open Source Project) rom aimed at Snapdragon powered devices. We're fully open sourced and encourage it with no restrictions. The work put into this rom is community driven and and Evervolv Project is made up of numerous members and contributors.
If you would like to contribute to Evervolv, please visit our Gerrit Code Review.
Current version: Based off 9.0 (Pie)
Features:
Extended PowerMenu
Battery %
Battery icon shapes
Volume button music control
Lineage Styles
Key rebinding
Expanded desktop
Bug Reporting:
Please provide the following info:
If the device was hard reboot, please provide the file "/proc/last_kmsg".
If the device was soft reboot or is "bootlooping", please run a logcat and provide the full output.
Please use EVPaste to post your logs.
Downloads:
Available downloads
Source:
Evervolv Github
Branch: p-9..0
Changelog:
Nightly changelogs are available on download page (EVUpdater too!)
or you can view them at the Evervolv Gerrit
Bug list:
Bluetooth (In progress)
Camera (In progress)
Donations:
If you wish to donate please do so here (Paypal)
Can't be installed with TWRP 3.1.0.
Error message is "wrong device".
Does it include swap partition (as latest DU build)?
Gesendet von meinem Mi MIX 2S mit Tapatalk
Geomatic said:
Can't be installed with TWRP 3.1.0.
Error message is "wrong device".
Does it include swap partition (as latest DU build)?
Gesendet von meinem Mi MIX 2S mit Tapatalk
Click to expand...
Click to collapse
I'll investigate when I get time tonight. The swap partition is not updated yet to match DU, however the rest of the performance enhancements are.
elginsk8r said:
I'll investigate when I get time tonight. The swap partition is not updated yet to match DU, however the rest of the performance enhancements are.
Click to expand...
Click to collapse
I was able to install the ROM using TWRP by removing the following code from the updater-script
Code:
assert(getprop("ro.product.device") == "tenderloin" || getprop("ro.build.product") == "tenderloin" || abort("E3004: This package is for device: tenderloin; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: hp/hp_tenderloin/tenderloin:6.0/MRA58K/2256973:user/release-keys");
But it goes into a boot loop, it does not work.
HP_TOUCHPAD said:
I was able to install the ROM using TWRP by removing the following code from the updater-script
Code:
assert(getprop("ro.product.device") == "tenderloin" || getprop("ro.build.product") == "tenderloin" || abort("E3004: This package is for device: tenderloin; this device is " + getprop("ro.product.device") + "."););
ui_print("Target: hp/hp_tenderloin/tenderloin:6.0/MRA58K/2256973:user/release-keys");
But it goes into a boot loop, it does not work.
Click to expand...
Click to collapse
what twrp are you using? im using twrp 3.2.1 from flintman
elginsk8r said:
what twrp are you using? im using twrp 3.2.1 from flintman
Click to expand...
Click to collapse
The TWRP version I am using is 3.1.0-0 from Flintman from here:
http://downloads.codefi.re/evervolv/misc
The ROM install after removing the verification for the device, but it won't finish booting not even the animation starts, then it reboots again.
Can you provide the link to the TWRP 3.2.1 from Flintman?
here you go. I'm going to recharge my device and make sure I posted the build I have running on my device.
elginsk8r said:
here you go. I'm going to recharge my device and make sure I posted the build I have running on my device.
Click to expand...
Click to collapse
I flashed the TWRP 3.2.1-0 version and flashed the ROM file you posted.
It does not boot into Android, after selecting Android from the moboot menu it displays and active screen but black, after a minute it reboots.
HP_TOUCHPAD said:
I flashed the TWRP 3.2.1-0 version and flashed the ROM file you posted.
It does not boot into Android, after selecting Android from the moboot menu it displays and active screen but black, after a minute it reboots.
Click to expand...
Click to collapse
That's probably because the Android uImage isn't being removed, which is what the DU uImage is named. Delete it manually and reinstall the ROM. Then you'll have the Evervolv uImage to boot.
So after testing and rebuilding, it looks like i forgot to push a bionic commit which is breaking libs. So when I resynced and rebuilt before uploading the commits never got pulled in
shumash said:
That's probably because the Android uImage isn't being removed, which is what the DU uImage is named. Delete it manually and reinstall the ROM. Then you'll have the Evervolv uImage to boot.
Click to expand...
Click to collapse
I always test a new ROM on a complete clean Tablet, nothing in boot.
But by looking at the updater-script, that is what would happen.
Code:
package_extract_file("moboot.splash.Android.tga", "/boot/moboot.splash.Android.tga");
package_extract_file("moboot.default", "/boot/moboot.default");
run_program("/sbin/busybox", "rm", "/boot/uImage.CyanogenMod");
run_program("/sbin/busybox", "rm", "/boot/moboot.splash.CyanogenMod.tga");
run_program("/sbin/busybox", "rm", "/boot/uImage.Dirty-Unicorn");
run_program("/sbin/busybox", "rm", "/boot/uImage.Evervolv");
run_program("/sbin/busybox", "rm", "/boot/moboot.splash.Evervolv.tga");
It should removed everything and then copy the new uImage.
I did installed it manually, with the same results.
---------- Post added at 01:30 AM ---------- Previous post was at 01:28 AM ----------
elginsk8r said:
So after testing and rebuilding, it looks like i forgot to push a bionic commit which is breaking libs. So when I resynced and rebuilt before uploading the commits never got pulled in
Click to expand...
Click to collapse
Good to know you were able to find the needle in the haystack!
Here are the settings that I have applied to get the most out of the Tablet, is very basic and simple if you decide to incorporated into your ROM it will be as fast and stable as the current DU v13.
The Boost Optimize settings for all Android ROM ever created for the HP Touchpad
new build uploaded that actually boots, swap was added as well
elginsk8r said:
new build uploaded that actually boots, swap was added as well
Click to expand...
Click to collapse
This is to confirm that the new posted build of Evervolv 9, boots and works!
It also using the swap partition, is fast and smooth.
I will take more time and report any suggestions.
Thank you for providing this new ROM!
HP_TOUCHPAD said:
This is to confirm that the new posted build of Evervolv 9, boots and works!
It also using the swap partition, is fast and smooth.
I will take more time and report any suggestions.
Thank you for providing this new ROM!
Click to expand...
Click to collapse
Extremely important:
If the Tablet goes to sleep or standby it will not wake up, the user may think that the Tablet is brick (is not).
A hard reset is require and the buttons needs to be hold down for long time.
I also notice from the Ramdisk files that KMS and CPU boost are enable. From my testing, those modules create more problem than the benefit it try to provide, more useful on a phone.
The idea of using the swap partition is to allow Android to place processes there without killing it or creating an unstable system. KMS is the opposite to swap it will Kill anything to make more RAM. The CPU Boost will make the CPU jump to a higher frequency only when touch, that will create double tap when typing and not an smooth user experience. Once the governor is set to performance the CPU will work just like it does on a PC, the way all computer works.
HP_TOUCHPAD said:
Extremely important:
If the Tablet goes to sleep or standby it will not wake up, the user may think that the Tablet is brick (is not).
User BGrosse tested the ROM and made me aware that there was not a problem wake up the tablet.
I re-tested today using the Home button, or menu button and it does wake up.
A hard reset is require and the buttons needs to be hold down for long time.
It seems as the power saving is very aggressive.
When connected to PC, when screen is off it will lose connection.
I also notice from the Ramdisk files that KMS and CPU boost are enable. From my testing, those modules create more problem than the benefit it try to provide, more useful on a phone.
The idea of using the swap partition is to allow Android to place processes there without killing it or creating an unstable system. KMS is the opposite to swap it will Kill anything to make more RAM. The CPU Boost will make the CPU jump to a higher frequency only when touch, that will create double tap when typing and not an smooth user experience. Once the governor is set to performance the CPU will work just like it does on a PC, the way all computer works.
Click to expand...
Click to collapse
BGrosse flashed the Pico Open Gapps and the Android Keyboard (AOSP) keeps stopping.
I can verify that is does happen with mine as well. That is an easy fix, a flash zip file can be provided to fix the issue as I do with the other ROMS.
---------- Post added at 09:38 PM ---------- Previous post was at 09:36 PM ----------
@elginsk8r
If you allow me I can apply all my settings that I have done to all the other ROMs and all should be fix.
I only need a direct link to the specific kernel version been use for this ROM, and I will re-compile a new version.
Not tested now, but thank you!
thanks a lot for the rom
HP_TOUCHPAD said:
Extremely important:
If the Tablet goes to sleep or standby it will not wake up, the user may think that the Tablet is brick (is not).
A hard reset is require and the buttons needs to be hold down for long time.
I also notice from the Ramdisk files that KMS and CPU boost are enable. From my testing, those modules create more problem than the benefit it try to provide, more useful on a phone.
The idea of using the swap partition is to allow Android to place processes there without killing it or creating an unstable system. KMS is the opposite to swap it will Kill anything to make more RAM. The CPU Boost will make the CPU jump to a higher frequency only when touch, that will create double tap when typing and not an smooth user experience. Once the governor is set to performance the CPU will work just like it does on a PC, the way all computer works.
Click to expand...
Click to collapse
Ksm does not kill anything. Is called the kernel same page merger and it allows for any program to share common pieces of code in ram instead of creating duplicates and it has a purpose in reducing ram usage. I use it on servers and it does wonders you can run 24 VMS in the ram space of 6.in no way it's involved in the oom mechanism
sireangelus said:
Ksm does not kill anything. Is called the kernel same page merger and it allows for any program to share common pieces of code in ram instead of creating duplicates and it has a purpose in reducing ram usage. I use it on servers and it does wonders you can run 24 VMS in the ram space of 6.in no way it's involved in the oom mechanism
Click to expand...
Click to collapse
Correction: I double check the kernel modules and all is removed.
The wakelock settings is different and causing the Tablet not to wake up.
You are correct, is the Low Memory Killer ( LMK ) and not Kernel Samepage Merging (KSM)
Both are removed, but settings are present in the Ramdisk files, but are not active anyways.
Tested the ROM and youtube videos does not play, audio does but not the images.