[Mod] Disable ZRAM [Swap] in Marshmallow - Honor 5X Guides, News, & Discussion

For those that remember @EarlyMon posted how to disable Swap long ago when the 5x was on Lollipop.
Well since the 5x has been updated to Marshmallow this method no longer works. So I started looking around for a solution
and I found this >> https://forum.xda-developers.com/moto-g4/development/mod-disable-zram-t3435613
Turns out this works just fine on the Honor 5x on Marshmallow.
If you'd like to give it a try, I have updated the files from the post above and uploaded them to my AFH Here
Here is a copy / paste of the instructions from the post above by @redbeard1083 ...Thanks Go to him and EarlyMon
We hate zram. This easy mod will disable it on the stock Moto G4 rom. In our experiences with disabling zram we've been able to notice performance gains on devices from 1-3gb of ram (Moto E 2015, Moto G 2014, Honor 5X, Huawei GX8).
8/13/16 Update: Now flashable via TWRP.
1. Have TWRP and MAKE A NANDROID BACKUP BEFORE YOU DO ANYTHING. I am not responsible if you break your phone. If you don't already know how to restore your device to the way it was when you bought it, do not do any of this.
2. Flash via TWRP:
Zram Off: https://www.androidfilehost.com/?fid=24588232905722629
To return to stock (I cannot promise this is exactly the same as the G4 Plus. If any G4 Plus users want to send me a hastebin of the /system/etc/init.qcom.zram.sh file to compare that would help).
Zram On: https://www.androidfilehost.com/?fid=24588232905722630
Old instructions if you prefer to do it manually:
1. Be rooted.
2. Have a stock nandroid backup.
3. Backup /system/etc/init.qcom.zram.sh to some safe place.
4. Unzip MotoG4_Zram_Disable
5. Using root file manager of your choice (I like Solid Explorer) copy init.qcom.zram.sh to /system/etc folder and overwrite the existing file.
This has been tested working on the XT1625 and likely works on the G4 Plus as well. If this works for you on a different variant, please leave a reply and I'll do my best to update this post.
Links:
Disable Zram: https://www.androidfilehost.com/?fid=24588232905722479
If for some unholy reason you'd like to turn it back on, follow the same process copying your backed up init.qcom.ram.sh file back to /system/etc.
Thanks to @EarlyMon for his edits that allow us to keep zram disabled without having to run terminal commands at every boot.
Click to expand...
Click to collapse
Again you can use my files or the ones from the original post (they both work)
Also Remember on the H5x you can Boot TWRP recovery to do the flash
Code:
fastboot boot kiwi_twrp_recovery.img
Have fun !

Reserved

thanks, I will try it.
one question tho, how can I know that zram is now disabled? like will I see an improvement in ram management or phone will be more fluid??
in my knowledge, zram manages the background process by compressing the actual process behind, (when the app is not running , but stays in the recent apps) and decompressing the task when we choose it..so this causes some lag.. and if we remove zram, the phone will be much snappy??
please correct me if I'm wrong.. thanks for your work

one question tho, im on b370 kiwl22 now, (the firmware which causes bootloops for custom roms), can i flash it??

thilak devraj said:
thanks, I will try it.
one question tho, how can I know that zram is now disabled? like will I see an improvement in ram management or phone will be more fluid??
in my knowledge, zram manages the background process by compressing the actual process behind, (when the app is not running , but stays in the recent apps) and decompressing the task when we choose it..so this causes some lag.. and if we remove zram, the phone will be much snappy??
please correct me if I'm wrong.. thanks for your work
Click to expand...
Click to collapse
I use Ram Truth to verify the swap is gone.
theirs plenty of discussion on if you want to disable it or not, start with the links i posted and follow it to the h5x thread on disabling swap
most people see an immediate improvement in the phone. zram is a stupid waste of CPU cycles on a phone with more that 1gb or ram
thilak devraj said:
one question tho, im on b370 kiwl22 now, (the firmware which causes bootloops for custom roms), can i flash it??
Click to expand...
Click to collapse
yes it should work just fine

clsA said:
I use Ram Truth to verify the swap is gone.
theirs plenty of discussion on if you want to disable it or not, start with the links i posted and follow it to the h5x thread on disabling swap
most people see an immediate improvement in the phone. zram is a stupid waste of CPU cycles on a phone with more that 1gb or ram
yes it should work just fine
Click to expand...
Click to collapse
thank you for the info and letting me know about ram truth

working like a charm.. I can see some performance improvements

Related

[SUPPORT / REVIEW THREAD][11.08.08] Mioze7Ae's CyanogenMod with TI theme

Since i had a lot of PM of people who want explanation to install this ROM
I make this little thread for you.
Notice that i don t make this rom i only test it and make the nandroid image
to know more about that you can read the Mioze7Ae thread here
And for those asking for the performance I try almost all the rom and this is for me the fastest and (with the sileshn theme include) it s also the most beautiful...
I had between 70 to 80 Mo RAM available without swap. With swap i reach the 95 100Mo!!! (I attach my boot.img files too but it s the first fjfalcons').
Here you can find a tutorial to fastboot boot.img to enable swap.
And it works in multilangage (i don t know which but in english spanish and french without a problem)
To enable app on sd and swap you must have your sd part in this way: a fat32 part for the media / a ext3 part / and a swap part
You can find a video guide here on his channel(you will have to search a little but i remember its called 8min Linux...) made by reverendkjr
I make another image and i test it 3times (from sbf to the end...) so all works !!!!!!
For the beginners i will come back to the sbf.
1. SBF
So I m using the Singapore SBF I think you don t need it to get it work but it s better for those who have problem to change it too (it seems to work in every country)
So you can find the singapore sbf here
And you install it wiht RSDlite (do a google search): first put your phone in bootloader mode (when the phone is off you hold the camera and the volume up button while powering up) then you select your sbf and flash it.
2. Recovery
Now you have a fresh new system
You have to install the recovery
First of all you will have to install a file explorer form the market (you can use the one you want it will be deleted when flashing...)
Now you have to move the two apk(universal and root and openrecovery) i attach to this post in your sd
you can now install with your file explorer the apks.
Start with universal and root. Intall it and root your device.
Install the open recovery now. (Install it and install recovery system)
Now you must install Androidiani OpenRecovery I think it will work with out but it s easy and the recovery work better with it... So you just have to extract this zip to your sd (overwriting the similar files)
Now you have a working recovery. To launch it just go to open recovery and click on recovery boot (don t forget to copy the nandroid image folder in the sd card/ nandroid/openrecovery before you go to the recovery)
3. Restoring the nandroid image
Now you have a working AOR (androidiani openrecovery) and you have extract the attach nandroid image to sd card/ nandroid/openrecovery folder
Don t forget that nandroid need a folder name with out any space and in this folder you can only have .img or .md5 files.
So in Open recovery you go to nandroid / restore /
And if you don t change the folder name you must have CyanogenTI0808allupdates in the list
You select it and launch an restore all operation.
After that you come back to the first menu and wipe dalvik cache/ cache partition and wipe data / factory reset
Now you can reboot system. And it s done. Don t forget that the first boot is very long (about 5 or 6minutes)
CyanogenTI0808allupdates (the nandroid image)
(made and posted the 08/08/2011)
With all the new update from the official post (until the 08/08)
And the Twisted Inception theme from sileshn (with the update for the white text and the new battery icon)
You have to change the hour color (in settings / Cyanogen Mod / user interface / status bar) (from black to white)
Known issues:
- Fm Radio not working
- Media Gallery button not working
- Recovery boot (from the restart menu) don t work (you have to reboot holding the volume up button)
- Led notifications from the Cyanogen mod menu don t work but Led Me Know works
- Some users have issues with installing payed apps... I never have so....
Just a reminder to new readers: do not flash the fjfalcon boot.img. You have to use fastboot boot boot.img over USB every time.
Mioze7Ae said:
Just a reminder to new readers: do not flash the fjfalcon boot.img. You have to use fastboot boot boot.img over USB every time.
Click to expand...
Click to collapse
Thanks i think i will make a step by step tutorial for fastboot too. Maybe this week
B_e_n said:
Thanks i think i will make a step by step tutorial for fastboot too. Maybe this week
Click to expand...
Click to collapse
I think this is a good idea too. There is already a thread but it is buried in here somewhere and has gaone, as they all do, away from the initial intentions.
does the rom have native support for app2ext?
islubio said:
does the rom have native support for app2ext?
Click to expand...
Click to collapse
Yes It also support the OC on boot with milestone overclock
just installed this n this is so much faster compared to steelblue rom.
N guide was easy to understand. Just awaiting ur swap guide. Thanks.
is the froyo modding in the recovery workable?
how u get so many free ram? i only get 45-50 using adv task killer..
secret_tidus said:
how u get so many free ram? i only get 45-50 using adv task killer..
Click to expand...
Click to collapse
Without my apps i have 95 100Mo of free ram (with out the app2ext I have so nearly 100 apps and it take some ram...)
But with all my apps and with the swap enable I can get between 70 to 80Mo
I don t use advtaskkiller anymore i think it use more ram that it can free
I use autokiller memory optimizer (it change the settup of the android task killer so no useless use of ram) and to kill my apps i use the Go task manager (a widget from the golauncher app)
wat u set at the autokiller memory optimizer?
secret_tidus said:
wat u set at the autokiller memory optimizer?
Click to expand...
Click to collapse
Optimum settings.
But maybe someone have others settings better?
I know some use minfreemanager (already in the rom) but it seems the same than autokiller
b4 reboot the cm6 room was pretty stable... y after i reboot thn it started to freeze?
my 1st fastboot was pretty stable.. can run asphalt6... but the next time ll freeze... bcuz i install chainfire3d have to reboot and i have to fastboot again
even with fast boot i m only getting around 50mb of ram
Here is my Autokiller settings (user set, not pre-set and no fastboot). The work for me after many days/weeks of trial, error and monitoring.
16
16
64
64
70
94
I don't do a lot of gaming but I do listen to quite a bit of online media.
I average around 65-75mb all the time and at the very least 55mb when running Tune-in or Jango radios or Poweramp (memory hog btw but really good media player).
Side note: keep you widgets to a minimum. They eat RAM.
i just encounter some prob when swaped... for the 1st time i swaped it work fine and smooth all the way and no freezing but later on i reboot and try to swaped again my xt started to freeze when run certain apps...
Woodrube said:
Side note: keep you widgets to a minimum. They eat RAM.
Click to expand...
Click to collapse
i don't know about that, I went without widgets for the longest time cause everybody always told me how they eat ram and battery. Now for the past month or so I have had 1-2 widgets on each of my home pages and I really don't see much change. I am keeping the same amount of ram available and battery seems to drain the same. Not much difference, but I could be wrong I would have to go back to no widgets for a day or 2 and monitor my ram to be positive. I do know it isn't nearly as bad as what people say that kept me from using them to begin with.
B_e_n said:
Optimum settings.
But maybe someone have others settings better?
I know some use minfreemanager (already in the rom) but it seems the same than autokiller
Click to expand...
Click to collapse
I use both minfree and autokiller and they seem to work together, I set my autokiller and minfreemanager automatically copies the settings. Don't know if it does much good but doesn't do any harm. It seems to work good
LibertyMonger said:
i don't know about that, I went without widgets for the longest time cause everybody always told me how they eat ram and battery. Now for the past month or so I have had 1-2 widgets on each of my home pages and I really don't see much change. I am keeping the same amount of ram available and battery seems to drain the same. Not much difference, but I could be wrong I would have to go back to no widgets for a day or 2 and monitor my ram to be positive. I do know it isn't nearly as bad as what people say that kept me from using them to begin with.
Click to expand...
Click to collapse
Think of it this way. Say you have a 4x2 or 4x4 widget that is oh say MSNBC or Reuters newsfeed or your Facebook/G+ feed. These not only tax you home screen memory but they are always "running" too. If you have something like Widgetlocker where you can customize your lock screen and put apps or link on it directly, I have found that it munches free RAM really bad (14-17mb). So much so that I don't use it anymore (paid app too).
All a widget is is really just a custom icon that either monitors a running app/service, in which case it itself is running. Or it is running on its own, like a clock or feed or some kind.
Something like mClock or Battstat isn't too harsh, but 3rd party Keyboards can be quite draining too (I use Better kb and it is around 11mb but I like it and have had it since day one).
Good way to check is to go to Settings->Apps->Running Services and each will have the MB on the far right. Anything in double digits is hungry for your RAM.
I know you use that Go widget. Check out how much RAM it is using by going into settings and see if it is worth having it on there. Might be. You seem to be getting good RAM so is it aint broken don't fix it.

[REF] Nexus S ROM&Kernel Survival Guide

Introduction:
Please read and try to do some research instead of bombarding the developers with the same questions over and over, cluttering the threads with useless and recursive information. I will try to include terms for all the ROMs and Kernels in the Development Section, and remove the obvious things as much as possible. That doesn’t mean it will be perfect! I hope this will be useful for beginners, because it provides most of the basic information you need to get started. From now on, it’s up to you what you do.
I am fully aware that the information included here is for one time use, enough to get you started. Some of these things ARE well known by many of you, but they are still useful for others that are just beginning to learn about their NS. Besides definitions and explanations, I’ll also link to useful posts around xda and other sites, which provide further information on the respective subject.
ROMs​(ROM: a firmware that contains the Android operating system, and at least critical apps necessary for running your phone (but usually more apps than just those); can be stock or custom, and comes packaged in a *.zip file, flashable under recovery)
AOSP-built ROMs
Features: these are built from source code, from the Android Open Source Project, delivered free of bloatware and with rich customizations.
Some of the most popular (at the moment):
GSM VERSION: i9023/i9020A/i9020T
CyanogenMod 9 (still in alpha stages for now)
IML74K Android 4.0.3 Build 4 - Quad Lockscreen + More MODS (1/15/12)
nuhetri- v1.0.0
Slim ICS
AOSP+ V2.3|ICS 4.0.3|Source Built|Status Bar Widgets + Nice Mods
4G VERSION
vhgomez36-ICS-NXS-4G-4.0.3 r2.0
IML74K Android 4.0.3 Build 3 - Quad Lockscreen+More MODS
Crossbones v0.1.3
CyanogenMod 9 v4.0.3 - Alpha 20
Click to expand...
Click to collapse
Moddified ROMs
Features: these are modified versions of stock/AOSP ROMs/other custom ROMs, that keep the look of the base ROM up to a certain point. Also generally free of bloatware and with some additional modifications.
Some of the most popular (at the moment):
GSM VERSION: i9023/i9020A/i9020T
CyberGR-MOD|NS.NGN ver. 4.0 Ultimate
NSCollab 1.0.60
Ultimate ICS v4.0
-=Nexus MV 1.12.09=-
KANGY6 | ICS | AOKP |
NexusBeam 4.2.3
CyberGR-MOD|NS.NGN ver. 3.0 Hybrid ICS
Click to expand...
Click to collapse
MIUI-style ROMs
Features: unique type of ROM, developed by the Chinese. Has a strong iOS feel, highly customizable.
Some of the most popular (at the moment):
GSM VERSION: i9023/i9020A/i9020T
◄ ▌ [09.Jan.12] [ROM] Brainmaster's MIUI 2.1.6 ICS | Stable 2.3.7b v2 GB ▌►
DianXin OS (DX ROM) ICS | GB ROM
4G VERSION
◄ ▌ [28.Nov.11] [ROM] brainmaster's MIUI NS4G 1.11.25 | OTA ▌►
Click to expand...
Click to collapse
Stock ROM
Official releases from Google. The reasons most people here flash a stock ROM are: they want to update/ are bored of custom ROMs/ want to start over with their phone/ warranty reasons.
If you want to go back to stock for some reason, check this thread and read carefully, so you get the correct version for you.
Click to expand...
Click to collapse
Once we decide for a type or ROM (except stock), we head over to the ROMs thread and begin reading the list of features. Now would be a good time to PANIC! No, no, just kidding Those words do exist in some kind of language (not necessarily English). So here’s a very basic list of the most common terms found in our ROM threads:
Code:
[B]AOSP[/B]
[quote]Short for [url=http://source.android.com/]Android Open Source Project[/url]. Its purpose is to maintain the development
of the Android platform. Anyone can use the Android source code for
any purpose, and this is when custom ROMs come in. The [AOSP]
tag is used here to signal a ROM built from Google’s source, a pure
ROM, free of bloatware, with very good performance (generally)
and a very extended degree of customization. [/quote]
[B]Build.prop[/B]
[quote]This file is located in /system/build.prop. It holds the majority
of the runtime flags that are used when Android boots. Basically, it
lists specific information about your device, for applications to use.
You can also edit lines, with a file manager that has access to
/system, in order to change LCD density, build number, device
model and many more. [/quote]
[B]Busybox(ed)[/B]
[quote]Busybox is a collection of simple, but powerful Linux
utilities, that Android doesn't come with by default. It is used
by applications like MetaMorph and Titanium backup in order
to do special operations. You can manage ther version installed
on your phone with various apps from the [url=https://market.android.com/search?q=busybox&c=apps]market[/url] [/quote]
[B]/boot partition[/B]
[quote]This partition includes the bootloader and kernel, and
it enables the phone to boot. Wiping it must be done only if
requested, and the phone must not be rebooted after this operation.
Instalation of a new one is done by flashing a ROM that includes
the /boot partition. [/quote]
[B]/cache partition[/B]
[quote]Inside this partition, Android stores frequently accessed
data and app components. Performing a wipe of the /cache does
not affect personal settings or files, but simply gets rid of existing
data there, which gets automatically rebuilt in time. [/quote]
[B]Dalvik cache[/B]
[quote]Dalvik cache collects the information about the installed
applications and frameworks, and organizes them into a writeable
cache. Under this writeable cache, it stores the “optimized”
bytecode of the applications which is used by the applications
themselves later for a smoother operation. This dalvik cache can
grow as more applications are installed on your phone. It is safe
to wipe dalvik-cache. It will be rebuilt again when the phone
boots. This also explains why your phone takes ages to start up
for the first time. [/quote]
[B]/data partition[/B]
[quote]Also called userdata, the data partition contains the user’s
data – this is where your contacts, messages, settings and apps
that you have installed go. Wiping this partition essentially performs
a factory reset on your device, restoring it to the way it was
when you first booted it, or the way it was after the last official
or custom ROM installation. When you perform a wipe data/factory
reset from recovery, it is this partition that you are wiping. [/quote]
[B]Deodex(ed)[/B]
[quote]In Android file system, applications come in packages with
the extension .apk. These application packages, or APKs contain
certain .odex files whose supposed function is to save space.
These ‘odex’ files are actually collections of parts of an application
that are optimized before booting. Doing so speeds up the boot
process, as it preloads part of an application. Deodexing is basically
repackaging of these APKs in a certain way, such that they are
reassembled into classes.dex files. By doing that, all pieces of an
application package are put together back in one place, thus
eliminating the worry of a modified APK conflicting with some
separate odexed parts. The advantage of deodexing is in modification possibilities. On the other hand, since the .odex files were supposed
to quickly build the dalvik cache, removing them would mean
longer initial boot times. However, this is true only for the first
ever boot after deodexing, since the cache would still get built
over time as applications are used. [/quote]
[B]EFS folder[/B]
[quote]This is a VERY important folder. It contains phone-specific
information, like IMEI (encrypted in the nv_data.bin), wireless
devices MAC addresses, product code (also in the nv_data.bin)
and more. I advise you to make a backup of this folder, and keep
it safe. Remember, backup BEFORE flashing anything. Use [url=http://forum.xda-developers.com/showthread.php?t=1138873]this tool from forum member Borky_16[/url]. [/quote]
[B]Init.d[/B]
[quote]Init.d is very useful because it runs scripts that you can
just delete or replace in the /system/etc/init.d folder. The scripts
are also very flexible and can be used to call other scripts or set
a variety of system settings. [/quote]
[B]G-apps/Gapps[/B]
[quote]A long time ago, in a galaxy far far away, there was a
developer. And he used the Force for developing something called
CyanogenMod. For the happiness of the other folks in the galaxy,
he included some applications from Google. But the Emperor…
oh, sorry… But Google didn’t agree with him including these
proprietary apps, so they sent him a cease and desist letter.
Long story short, the Google Applications are provided separately
via a flashable .zip file. This is the case for pure AOSP ROMs,
and theoretically this is how it should be done. Theoretically. [/quote]
[B]Host File[/B]
[quote]Located in the /etc/ folder, it is used to block ads.
Most ROMs come with a “blocks ~95% of ads” statement. You
can also manage it with apps from the [url=https://market.android.com/search?q=ad+block&c=apps]market[/url]. [/quote]
[B]Logcat[/B]
[quote]The Android logging system provides a mechanism for
collecting and viewing system debug output. Logs from various
applications and portions of the system are collected in a series
of circular buffers, which then can be viewed and filtered by
the logcat command. You can use logcat from an ADB shell to view
the log messages.[/quote]
[B]NANDroid[/B]
[quote]When you take NANDroid backup, it means you are
backing up entire ROM. It’s basically a picture of the ROMs’
state . So when something goes wrong, you have the
chance to restore your phone to the backup state using the NANDroid. [/quote]
[B]NSTools[/B]
[quote]An essential tool that manages tweaks like BLN,
BLD, BLX, Liveoc, OC, CPU Governor, Deep idle and so on.
Written by arifhn, available in the [url=https://market.android.com/details?id=mobi.cyann.nstools&feature=search_result#?t=W251bGwsMSwyLDEsIm1vYmkuY3lhbm4ubnN0b29scyJd]market[/url] and on [url=http://forum.xda-developers.com/showthread.php?t=1333696]xda[/url],
this is a must have application for managing these various options. [/quote]
[B]Odex[/B]
[quote]These ‘odex’ files are actually collections of parts
of an application that are optimized before booting. Also explained at deodex(ed). [/quote]
[B]Power Menu[/B]
[quote]A multiple choice menu that appears when long pressing
the power button. In stock, these are critical options,
such as powering down the device. Developers have also
added options for taking snapshots,
rebooting normally/into bootloader/into recovery and so on. [/quote]
[B]Radio[/B]
[quote]The radio controls basic low-level functions like
network connectivity, Wi-Fi, and GPS. It comes as a radio.img file,
and generally, developers try to leave this out of their
ROMs because different areas require different radios. Pay attention
to this when choosing to flash a new ROM. There is a reference
thread with all the radios [url=http://forum.xda-developers.com/showthread.php?t=1116884]HERE[/url]. [/quote]
[B]Ramdisk[/B]
[quote]Ramdisk.img is a small partition image that is mounted
read-only by the kernel at boot time. It only contains /init
and a few config files. It is used to start init, which will
mount the rest of the system images properly and run the
init procedure. A Ramdisk is a standard Linux feature. [/quote]
[B]Recovery[/B]
[quote]Recovery mode in Android provides an environment for
users to wipe cache, data, factory reset the phone or update
it with a .zip file. There are custom recoveries like [url=http://www.clockworkmod.com/rommanager]ClockworkMod[/url] or [url=http://forum.xda-developers.com/showthread.php?t=1399565]TWRP[/url], which provide additional functionality,
and are very popular for this reason. [/quote]
[B]RTL[/B]
[quote]Short for Right-to-Left and refers to support for languages requiring this type of writing. [/quote]
[B]SetCPU[/B]
[quote]An application built by coolbho3000, which allows CPU speed tweaking and management, allows overclocking, and sets CPU governors. Available on [url=http://forum.xda-developers.com/showthread.php?t=505419]xda[/url] and the [url=https://market.android.com/details?id=com.mhuang.overclocking&feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5taHVhbmcub3ZlcmNsb2NraW5nIl0.]market[/url] (try to buy from the market if you want to support his work). [/quote]
[B]SIM Toolkit (STK)[/B]
[quote]Now if you live in the States, you might not even know what
the STK is, so a bit of explaining is in order. Put simply, the STK
allows carriers to load a simple set of menus and 'applications' on
your SIM card. Earlier versions of Android, up to 1.6, actually
included a rather rough, but functional Sim Toolkit application, but
at some point it was dropped. [/quote]
[B]/system Partition[/B]
[quote]This partition basically contains the entire operating system,
except the kernel and the bootloader. This includes the Android
user interface as well as all the system applications that come
pre-installed on the device. Wiping this partition will remove Android
from the device without rendering it unbootable, and you will
still be able to put the phone into recovery or bootloader mode
to install a new ROM. [/quote]
[B]Unsecured Boot.img[/B]
[quote]Used for adb remount, gets you root by default on a shell. (ro.secure=0) [/quote]
[B]V6 Supercharger Script[/B]
[quote]A more technical explanation could be done here, but
the bottom line is that this is used to make your phone run
faster, by better management of memory. [/quote]
[B]Zipaling[/B]
[quote]Zipalign is an archive alignment tool introduced first
time with 1.6 Android SDK (software development kit). It
optimizes the way an Android application package (APK) is
packaged. Doing so enables the Android operating system to
interact with the application more efficiently, and hence has
the potential to make the application and overall the whole
system much faster. Execution time is minimized for zipaligned
applications, resulting is lesser amount of RAM consumption
when running the APK. [/quote]
Kernels​
(Kernel: provides the most basic level of control over all of the phone's hardware; consider them a link between the hardware components and the ROM)
With kernels it’s a little bit easier. At least this is how it may seem. Right after rooting the device, many choose to first flash a kernel (including me) mostly because it gives the opportunity to flash something while not modifying the appearance of the phone. Furthermore, it gives you the ability to change things like CPU clock speed, internal and ARM voltages, and also have different patches and mods designed to prolong battery life/improve speed/provide stability.
Kernels are abundant for the NS, so I’ll be naming the most popular:
GLaDOS
ICUP Kernel Edition
*Matr1x*
SG-NS-ICS - 14-01-2012 - 11UV|Voodoo|BFQ|BIGMEM|BLN|BLD|BLX|TW|Lazy|3.0.15
Netarchy Nexus
NS+4G Trinity (E)UV and OC CM9 + m(any) roms
Click to expand...
Click to collapse
Many users ask around about which could be the best kernel. For this, xda member bedalus decided to set up a thread where he benchmarked ICS kernels (accurately enough). This should give you an idea where to start from.
Also, there are terms which appear frequently in the features list of kernels, so here’s a very basic list of the most common terms found in our kernel threads:
Code:
[B]BFS[/B]
[quote]A Brain F**ked Scheduler will perform better on CPU intensive
process, which usually cause them to get higher benchmark scores.
However because it only dedicates minimal CPU to background
processes you may experience lag when switching quickly between
different tasks. [/quote]
[B]BLD[/B]
[quote]Backlight Dimmer provides an option for the lights of the
touchkeys to be turned off after a certain period. This can be
tweaked from NStools. [/quote]
[B]BLN[/B]
[quote]Backlight Notification is a mod developed by neldar,
which converts the touchkey backlights into a notification led. [/quote]
[B]BLX[/B]
[quote]Battery Life eXtender, from Ezekeel, manages the maximum
percentage to which the battery is being charged. By default,
the Nexus S is charged to about 95% capacity. [/quote]
[B]CFS[/B]
[quote]A Completely Fair Scheduler is more suited for multitasking.
You may notice performance issues when using CPU heavy
activities like HD games because it is trying to keep the other
processes in the background equal to the one that is hogging the
CPU. It should also be noted that, as designed, this type of
kernel should handle going from listening to music to sending a
text to surfing the web with minimal lag. [/quote]
[B]Deep IDLE[/B]
[quote]Another mod by Ezekeel, which allows the phone to
enter a “deep idle” state while performing tasks when the screen is
off. For example, listening to music with the screen off and
Deep Idle turned on, you should get better battery life than
without Deep Idle. [/quote]
[B]Governors [/B]
[quote]There is a much to be said here, and this would stretch
this dictionary too much. I recommend reading [url=https://github.com/CyanogenMod/cm-kernel/blob/android-msm-2.6.37/Documentation/cpu-freq/governors.txt]THIS[/url], a very good explanation of
governors—from CyanogenMod. [/quote]
[B]OC (Overclock)[/B]
[quote]An overclock is usually one of the first things users
figure out after gaining root access on a new phone. If you
want to push your smartphone's CPU to run more clock cycles,
you have to know that extra power isn't coming from nowhere.
However, it is generally considered good practice, but it
depends on your handset. Some phones may be able to support
overclocking to 1.4 GHz, while others may never get past
1.2 GHz. Just proceed with caution. [/quote]
[B]Touch Wake[/B]
[quote]Yes, yes, Ezekeel again. This mod allows the user to
wake the device after a set amount of time, just by touching
the screen or the capacitive buttons. The time after which the
screen no longer responds to a touch is set with NStools. [/quote]
[B]UV (Undervolt)[/B]
[quote]This refers to lowering the voltage to conserve power while
still achieving the same performance, assuming your settings
remain stable. Both SetCPU and NStools allow the user to change
voltages. Like overclocking, this is also a trial and error process,
because each phone is different. The benefits are low energy
consumption and less thermal output. [/quote]
Tools & Mods​
So you have a rooted phone. Maybe even a custom Kernel or ROM, whatever works for you. But you still want to be a tad different from the other guys using the same configuration as yours. So here's a small selection of mods and apps developed by members of the community, enough to get you started. Feel free to experiment, and remember: read before flashing, search before asking and you should be alright!
Mods for AOSP+ Rom
[BOOTANIMATION] Plain, Simple & Colorful + color variants
Nova Launcher
Flavours for stock OTA ICS 4.0.3
Search key to ICS recent apps [add CM9 version]
[NS][NS4G]FaceLock for ICS 4.0.3
Enable on-screen buttons in ICS roms
Click to expand...
Click to collapse
NOTES:
I am hoping this little survival guide is useful FOR BEGINNERS in understanding the basic terminology used here in the Nexus S sections. As the title suggests, it was made with beginners in mind, so I don’t want posts of so called “experts” saying how they already knew this.
IMPORTANT: I do NOT guarantee the explanations written here are completely accurate or complete, FOR NOW. I will keep working on this, correcting mistakes as I continue to read.
If you find something that you think is not correct, or consider something must be added, please post here, together with a link to a credible source.
All of this came from sources off the internet, so please bear with me. Also, sorry for any typing mistakes. If you see any, please be sure to signal them
If I have helped you in any way, or if you appreciate the work invested in this (now and for the future), press the THANKS button.
Thank you! (Hoping to see this stick) And many thanks to all the great devs working on ROMs and Kernels for us. Keep up the great work!
W O R K - I N - P R O G R E S S
(I will be sure to notify you when I believe this is complete)​
Wow this is a very good idea. Thanks!
Sent from my Nexus S using Tapatalk
ljordan2 said:
Wow this is a very good idea. Thanks!
Sent from my Nexus S using Tapatalk
Click to expand...
Click to collapse
Thank you! I'm just worried it is a little bit long... but in the next couple of days I will be making it more reader friendly
Transmitted from somewhere in space... from my Nexus S... and Tapatalk.
nice thread! thanks
Hey great post, i still haven't rooted my nexus s but you just made me flash a kernal. I was tkinking about it but never too serious.
thanks!
Love it!!! Cleared so much up (you recieved my first Thanks button click!)
Just wanted to clarify something about the Kernel. My Rom is stock 2.3.6 that was received OTA when I unboxed the phone (Nexus S GSM i9020A, I'm in Canada). The bootloader is unlocked, phone rooted with CWM recovery via one click (QBKing's Video). Am I able to flash a custom Kernel to a stock Rom? Reading the above seems to lean towards the "yes", but wanted to make sure first.
Also, do not use the one click method on the Nexus S GSM if you want to easily return to stock. The one click stock only supports the 4G, which is extremely silly and inconvenient IMO. I'm currently still trying to figure out how to return to stock, incase something does happen and the phone needs warranty work. Let's just say, I'm not making much progress and this is extremely uncomfortable ATM..
Great thread and idea, all seems spot on. I vote for sticky.
Also, heX, you can flash a custom kernel on a stock rom as long as you have an unlocked bootloader and custom recovery. I'd recommend you backup all you need with TB or similar, then do unlock your bootloader if you havn't already (search around for how to do this, described in rooting guides). Just remember this will delete -ALL- user data, including sdcard. After this you can flash a su.zip to have proper root access, and you can easily install a stock image with a custom bootloader then lock the bootloader afterward for pure stocky goodness.
Thanks so much for taking the time to do this
Sent from my Nexus S using XDA App
Harbb said:
Great thread and idea, all seems spot on. I vote for sticky.
Also, heX, you can flash a custom kernel on a stock rom as long as you have an unlocked bootloader and custom recovery. I'd recommend you backup all you need with TB or similar, then do unlock your bootloader if you havn't already (search around for how to do this, described in rooting guides). Just remember this will delete -ALL- user data, including sdcard. After this you can flash a su.zip to have proper root access, and you can easily install a stock image with a custom bootloader then lock the bootloader afterward for pure stocky goodness.
Click to expand...
Click to collapse
TYVM Harbb!
Yes, currently the bootloader is unlocked, phone rooted and CWM installed. I did a TB backup prior so I could quickly restore my apps and settings. All is running well.
I tried to flash a full stock Rom back to the phone, but have run into an issue in doing so, posted here
I'm still awaiting some help with regards to that one, hopefully all will be well soon.
I'm not sure why I got spooked in doing this. I'd like to try the Matrix kernel and there are various Roms that definitely sound fantastic, but part of me just wants it back to stock so warranty and OTA are restored as the phone is only a few weeks old.
very useful for us newbie, thanks for sharing
heX79 said:
TYVM Harbb!
Yes, currently the bootloader is unlocked, phone rooted and CWM installed. I did a TB backup prior so I could quickly restore my apps and settings. All is running well.
I tried to flash a full stock Rom back to the phone, but have run into an issue in doing so, posted here
I'm still awaiting some help with regards to that one, hopefully all will be well soon.
I'm not sure why I got spooked in doing this. I'd like to try the Matrix kernel and there are various Roms that definitely sound fantastic, but part of me just wants it back to stock so warranty and OTA are restored as the phone is only a few weeks old.
Click to expand...
Click to collapse
Ok I see you have the att version, so i9020A. When android 4.0.3 came out, I wanted to go back to stock 2.3.6 so that I could update officially. Anyway, I downloaded a full stock ROM, flashable via recovery, from HERE and all went smooth for me. (the link is to the i9020A version, of course I used the i9023 version). Try the stock posted there, and see if you get any error. I think you should be ok now, if not, post back. Remember, this takes you fully back to stock, no cwm, no nothing custom.
I am glad to see that I helped somenone, I will make some modifications this afternoon, still 9am here (maybe add stuff to the dictionary and post it to google docs or something like that, just to make it easier to scroll through and more). Any suggestions or critics are welcome!
EDIT: Guide updated:
-better arrangement of the dictionary (will be adding new terms tomorrow, had to study for an exam today)
-added Tools & Mods section (will build on that later on)
-more to come...
great post OP
Nice thread! Great Work ,Thanks
Hey thanks! Happy to see good feedback on this.
Transmitted from somewhere in space... from my Nexus S... and Tapatalk.
Great beginners guide, and thanks for the link!
For kernel benchmarks and more, see here: http://goo.gl/mpeHI
Thanks very much! I will give it a try shortly, just to confirm if I recieve any issues. I've also installed the recommended CWM version for my model, not sure if it makes a difference, but I flashed 5.0.2.0 anyway as the version I was getting an error with had a higher build number.
Right now I'm enjoying AndroidME 1.2.3 with Speedy 6 kernel and have no complaints so far! (Kernel updated this morning from Speedy 5)
I will report back with any issues once I have some time to do a Nandroid backup and test the stock Rom.
Thanks for your help!
It's nice to know there's a way to revert back to stock, should anything need servicing! I've also started reading up on Odin
flodb113 said:
Ok I see you have the att version, so i9020A. When android 4.0.3 came out, I wanted to go back to stock 2.3.6 so that I could update officially. Anyway, I downloaded a full stock ROM, flashable via recovery, from HERE and all went smooth for me. (the link is to the i9020A version, of course I used the i9023 version). Try the stock posted there, and see if you get any error. I think you should be ok now, if not, post back. Remember, this takes you fully back to stock, no cwm, no nothing custom.
I am glad to see that I helped somenone, I will make some modifications this afternoon, still 9am here (maybe add stuff to the dictionary and post it to google docs or something like that, just to make it easier to scroll through and more). Any suggestions or critics are welcome!
EDIT: Guide updated:
-better arrangement of the dictionary (will be adding new terms tomorrow, had to study for an exam today)
-added Tools & Mods section (will build on that later on)
-more to come...
Click to expand...
Click to collapse
You're welcome! Looking forward to an update with your stock flashing situation. I also used ClockworkMod 5.0.2.0 a long time. I'm now on 5.0.2.3 only for the better menu layout.
Transmitted from somewhere in space... from my Nexus S... and Tapatalk.
just one question...
can i install more than one kernel at a time...
for eg.like one i installed for battery usage and othr for sound..
can i do tht

[Q] LG L3 e400 stock recovery, rooting, Link2SD, etc.

Hi everybody,
my sister has got this phone a month ago and she is obviously out of memory. So the most immediate step is to install Link2SD. I am used to my Galaxy phone where to root it one just needs to hold Vol UP+Home+Power to get into the stock recovery and install any zip files. So after founding nothing useful in Internet I decided to ask in here:
- Is there any similar "hotkey" for the e400 to boot in stock recovery?
- Can the stock recovery install any zip file?
- Does the 1click rooting for Galaxy phones really works? If so I can make a simple zip package with "su" only, she would get mad dealing with notifications and all crap like that (I know, it would be more insecure but we just give permissions all times, anyway don't we? )
- Would it break the official updates? I know that the rooting would be lost after updating, but it would be a matter of seconds to redo it if it works like above.
- Any idea about a custom kernel (better if the latest stock one with modified scripts in RAM disk) with support for /etc/init.d? I could port my script Switch2SD which operates like Link2SD but at boot time.
- Last but not least, why the heck the SD card has two FAT partitions?!? What's the point for Android to show the first SD partition as "internal memory" if it doesn't really use it? Well, it does, but with App2SD which is lame.
I am not really interested on CWM or Custom ROMs unless they are really needed. Thanks in advance for any help!!
First, the L3 doesn't have a stock recovery, the key combo only do a full wipe;
Second, use SuperOneClick to root the L3, it works very well;
Third, Rooting your device doesn't break the official updates (if there will be any);
Fourth, I am working on a kernel that supports init.d, and I don't know about any stock kernels with init.d (only overclock);
And at last, I don't know why we have two FAT partitions, but I know that we can merge these partitions with SDMergE400.
Hope I helped!
g.carvalho97 said:
First, the L3 doesn't have a stock recovery, the key combo only do a full wipe;
Second, use SuperOneClick to root the L3, it works very well;
Third, Rooting your device doesn't break the official updates (if there will be any);
Fourth, I am working on a kernel that supports init.d, and I don't know about any stock kernels with init.d (only overclock);
And at last, I don't know why we have two FAT partitions, but I know that we can merge these partitions with SDMergE400.
Hope I helped!
Click to expand...
Click to collapse
Thank you very much, very kind from you! But that introduces a new question: how can I install SuperOneClick if I can't get into the stock recovery?
EDIT: never mind, I thought it was the .zip for the root installation for the Galaxy phones..
Then will your kernel be ready soon? Will it be a stock one?
Well, I am modding the kernel on the SDMergE400 zip, just testing, then I will mod the Stock kernel!
But these are just plans, it will take a little time...
g.carvalho97 said:
Well, I am modding the kernel on the SDMergE400 zip, just testing, then I will mod the Stock kernel!
But these are just plans, it will take a little time...
Click to expand...
Click to collapse
Never mind, I managed to root the phone (with spectrum_root_linux_osx from OS X. It works!!) and I installed Link2SD. I must say that this phone seems amazingly fast! I have a Galaxy Pop Plus (it's equivalent to the Galaxy Y) and its performances are horrible. The LG e400 is a nightmare in terms of system administration, though. With our phone we can do everything from stock recovery.So I better leave it as it is. Hopefully Link2SD won't mess up. My sister seems confident enough with it now. But if it breaks it will pain a customer support pain (you know, sisters.. ).
If you don't feel good to mess up with your phone, you better leave it as it is, like you said!
Android isn't for the users who want everything simple and ready, we have to think a little when using it (and that's why there are much people with iPhones and stuff)
g.carvalho97 said:
If you don't feel good to mess up with your phone, you better leave it as it is, like you said!
Android isn't for the users who want everything simple and ready, we have to think a little when using it (and that's why there are much people with iPhones and stuff)
Click to expand...
Click to collapse
Sure. That would be true for me as well If only I wasn't the developer of the custom and stock modified (with /etc/init.d support) kernels for my Galaxy S5570I phone..
What I meant is that the way the filesystems/Partitions are organized in the LG e400 is totally different from everything I have seen before. For example I made now 3 partitions in the SD card for Link2SD with the first one of 20MB. Android still reports a first partition of 1GB. It's just that I don't have time to mess up with it, being my sister's phone. So i decided to leave it rooted with Link2SD and that's it. I checked SDMergE400 as well, but they talk about installing a CM 9 to make it working. I could do it if the phone was mine, but not with someone else phone. regarding my phone, it sucks. badly. Ask anyone with a Galaxy Y, which uses the same CPU BCM21553. We don't even have the source codes to make full use of the GPU Videocore IV and thus to port the CM. In Antutu benchmark the soldiers go at 10-14 fps.
The iPhone (iOS) has mods as well, anyway. People are doing some pretty neat stuff after jailbraking it. Which is not even needed to run some basic useful tools like Adblock, unlike Android that needs to be rooted.
Custom Rom CM9
feel the Ultimate performance JellyCast-e400
Miche1asso said:
Sure. That would be true for me as well If only I wasn't the developer of the custom and stock modified (with /etc/init.d support) kernels for my Galaxy S5570I phone..
What I meant is that the way the filesystems/Partitions are organized in the LG e400 is totally different from everything I have seen before. For example I made now 3 partitions in the SD card for Link2SD with the first one of 20MB. Android still reports a first partition of 1GB. It's just that I don't have time to mess up with it, being my sister's phone. So i decided to leave it rooted with Link2SD and that's it. I checked SDMergE400 as well, but they talk about installing a CM 9 to make it working. I could do it if the phone was mine, but not with someone else phone. regarding my phone, it sucks. badly. Ask anyone with a Galaxy Y, which uses the same CPU BCM21553. We don't even have the source codes to make full use of the GPU Videocore IV and thus to port the CM. In Antutu benchmark the soldiers go at 10-14 fps.
The iPhone (iOS) has mods as well, anyway. People are doing some pretty neat stuff after jailbraking it. Which is not even needed to run some basic useful tools like Adblock, unlike Android that needs to be rooted.
Click to expand...
Click to collapse
Oh yes, filesystems on the L3 are REAL messy :/
But I got a chinese tablet (SK-3031 or GT-1230) and it's really, really complex to work in it's filesystems, so it's easy for me ;D
And Android have some neat features by default that the iDevices don't (freedom, for example) :laugh:

Fix for Stock Kitkat aggressive app killing

Update: I found an even better solution. Instead of setting "dalvik.vm.heapsize=256m" use "dalvik.vm.heapsize=128m"
Warning! Please make a backup of your /system partition using recovery incase you get a bootloop from changing vm heapsize. Don't go below 128m as it may cause a bootloop.
If you want additional memory you can download "Ram Manager Free" from the Google playstore and set up a disk swap. Within the app, go to swap and delete the given directory and set it to "/cache and use a value of 256 MB. It won't steal from your already limited storage as it will use the cache partition which goes mainly unused. Warning though as it may degrade your internal storage from constant writing. If you ask me I don't care about degradation of my Moto G as I plan to get a better phone soon. I only recommend you use swap with the stock kernel as there is virtually no lag. I tested with other kernels and there is noticeable lag.... Aero Kernel lags noticeably and so does faux kernel. Oh! and make sure you set it to balanced and check the apply at boot option to stick. I stopped using swap, but you can try for yourself to see if you like it.
This is for the Moto G XT1034 as I don't know if the build.prop is different for the other variants, but you can always check if you have the duplicate entries.
While going through the build.prop of the stock 4.4.4 ROM I found duplicate entries of the same value with different parameters. The culprit being "dalvik.vm.heapsize" seemed to have been causing my music apps force closing when there was "insufficient" RAM. Other apps running in the background can also be killed like night screen filters while browsing the web using Chrome just to name another. You'll find two entries called "dalvik.vm.heapsize=36 and dalvik.vm.heapsize=256." They are the same value, but with different parameters. I deleted the one for "36m" and my multitasking issues disappeared without changing the MINFREE TASKKILLER values. I used Performance Control that can be found here on XDA to edit the build.prop. When you delete "dalvik.vm.heapsize=36m" make sure you re-add the value "dalvik.vm.heapsize=256m" because deleting one deletes BOTH! My screen filter app "EasyEyes" has yet to be killed by low memory situations.
Why would Motorola include duplicate entries of the heapsize? I'd like to be enlightened on why they included both.
NOW, your music app may be killed if you run very low on memory, this happens when you use chrome and view heavy pages, so modifying your MINFREE TASKKILLER values may be of additional assistance. I attached a screenshot of MINFREE values if you want to use my values, although I'm not using them since I'm using stock values. At the end of the day you have to understand that 1GB is now "low-end" and is simply not enough for multitasking anymore on Android. Apps are becoming larger and browsers and websites are becoming more complex; more RAM is needed. As soon as you open Chrome expect your apps to be killed since it needs at least 200 MB to run adequately.
Any reports of success with this? I just sold my Moto G last week because of the multi tasking issue... if this solves 90% of the problem, that would be pretty awesome.
I updated this with an even better solution. Set dalvik.vm.heapsize=256m to dalvik.vm.heapsize=128m to make the phone much less likely to kill apps in general.
Also, can anyone please tell me what the storage is like with stock lollypop? I've used art runtime on my 8GB moto g and reverted back to dalvik because my storage was nearly full. If that's still the case then I will keep my moto G running 4.4.4 forever... well until it dies.
Jorge_007 said:
I updated this with an even better solution. Set dalvik.vm.heapsize=256m to dalvik.vm.heapsize=128m to make the phone much less likely to kill apps in general.
Also, can anyone please tell me what the storage is like with stock lollypop? I've used art runtime on my 8GB moto g and reverted back to dalvik because my storage was nearly full. If that's still the case then I will keep my moto G running 4.4.4 forever... well until it dies.
Click to expand...
Click to collapse
My phone isnt booting up can you plz tell me how to fix this, i changed it to 128m and its not booting up
NextGenGTR said:
My phone isnt booting up can you plz tell me how to fix this, i changed it to 128m and its not booting up
Click to expand...
Click to collapse
Did you follow the direction? Using Performance control edit build.prop. Delete "dalvik.vm.heapsize=256m and re-add the value "dalvik.vm.heapsize=128m" and click apply? Anyways what phone model are you using?
Anyways, I assume you followed accordingly, so you should have made a backup of your system partition using your preferred recovery. To undo the changes made boot into recovery and restore system partition. That will make the phone boot. If you didn't, then if you know can always restore using this guide: http://forum.xda-developers.com/showthread.php?t=2542219
OR you can flash a stock rom zip from here "http://forum.xda-developers.com/moto-g/development/rom-stock-motorola-rom-collection-t2854688
Jorge_007 said:
Did you follow the direction? Using Performance control edit build.prop. Delete "dalvik.vm.heapsize=256m and re-add the value "dalvik.vm.heapsize=128m" and click apply? Anyways what phone model are you using?
Anyways, I assume you followed accordingly, so you should have made a backup of your system partition using your preferred recovery. To undo the changes made boot into recovery and restore system partition. That will make the phone boot. If you didn't, then if you know can always restore using this guide: http://forum.xda-developers.com/showthread.php?t=2542219
OR you can flash a stock rom zip from here "http://forum.xda-developers.com/moto-g/development/rom-stock-motorola-rom-collection-t2854688
Click to expand...
Click to collapse
Can you get your stock build.prop with the heapszie 256m and then plz go into recovery and then use adb pull /system/build.prop c:\ and the give it to me so i can flash it through recovery, i think that would work because i have a flashable zip with a build.prop but its not for this phone so i need to replace it with another, i have the stock moto g build . prop but i cant edit it with windows.
NextGenGTR said:
Can you get your stock build.prop with the heapszie 256m and then plz go into recovery and then use adb pull /system/build.prop c:\ and the give it to me so i can flash it through recovery, i think that would work because i have a flashable zip with a build.prop but its not for this phone so i need to replace it with another, i have the stock moto g build . prop but i cant edit it with windows.
Click to expand...
Click to collapse
This is the stock build.prop untouched for my Moto G XT1034 AWS firmware
It's not flashable, you'll have to make it a flashable zip
Jorge_007 said:
This is the stock build.prop untouched for my Moto G XT1034 AWS firmware
It's not flashable, you'll have to make it a flashable zip
Click to expand...
Click to collapse
The phone refused to boot up so now i am trying another step to only flash system files 0 1 2 and hopefully that will work!!!
Suprisingly enough that worked and nothing has been deleted and everything is how it is suppose to be! I have all my applications and my backgrounds and files intact!!! Add this in your tutorial if anyone faces the issue, flash the system files.
NextGenGTR said:
The phone refused to boot up so now i am trying another step to only flash system files 0 1 2 and hopefully that will work
Click to expand...
Click to collapse
That will definitely work. Remember to always make a backup of your system when making changes to /system.
Jorge_007 said:
That will definitely work. Remember to always make a backup of your system when making changes to /system.
Click to expand...
Click to collapse
Also may i ask if you can possibly clear up your tutorial please since it confused me a lot and i must of done something wrong to f my phone. Thanks. Im just confused i have the build editor from Jrummy apps and it has the two 36m and 256m, now i deleted the 256m and then edited the 36m to 128m is that correct ?
NextGenGTR said:
Also may i ask if you can possibly clear up your tutorial please since it confused me a lot and i must of done something wrong to f my phone. Thanks. Im just confused i have the build editor from Jrummy apps and it has the two 36m and 256m, now i deleted the 256m and then edited the 36m to 128m is that correct ?
Click to expand...
Click to collapse
Don't use the ones on the playstore. I had trouble with them in the past when it came to editing the build.prop on this phone. Use Performance Control from XDA http://forum.xda-developers.com/devdb/project/?id=600#downloads Make sure you install busy box from the playstore as it is needed for the app to work. Make sure you make a backup of you /system in recovery first. Once performance control is installed, swipe left until you get to the tools tab. Scroll down until you see "Edit build prop" Delete both entries for 36m and 256m. To delete press and hold and it will ask if you want to delete. Press apply values to save. Now click on the menu button that has three dots and select "add parameter" and enter "dalvik.vm.heapsize" for Name and enter "128m" for value and press save. Make sure you press on apply values and reboot.
Jorge_007 said:
Don't use the ones on the playstore. I had trouble with them in the past when it came to editing the build.prop on this phone. Use Performance Control from XDA http://forum.xda-developers.com/devdb/project/?id=600#downloads Make sure you install busy box from the playstore as it is needed for the app to work. Make sure you make a backup of you /system in recovery first. Once performance control is installed, swipe left until you get to the tools tab. Scroll down until you see "Edit build prop" Delete both entries for 36m and 256m. To delete press and hold and it will ask if you want to delete. Press apply values to save. Now click on the menu button that has three dots and select "add parameter" and enter "dalvik.vm.heapsize" for Name and enter "128m" for value and press save. Make sure you press on apply values and reboot.
Click to expand...
Click to collapse
Thank you so much for the help! I think i have finally did it! I only have the 128m when i check with es file explorer and i guess it is all fine! Is there a way i can confirm my thing is 128m ?
NextGenGTR said:
Thank you so much for the help! I think i have finally did it! I only have the 128m when i check with es file explorer and i guess it is all fine! Is there a way i can confirm my thing is 128m ?
Click to expand...
Click to collapse
Well you can install RAM Manager free from Playstore https://play.google.com/store/apps/details?id=com.smartprojects.RAMOptimizationFree&hl=en Go to "Extra" and select VM Heap Size it should read 128m. Also, listening to music should not be killed when multi-tasking. Apps such as iHeartRadio would always get killed when browsing the internet with Chrome. It doesn't happen anymore on my end. Also if you're not worried about your phones internal ssd from degrading you can set up a swap file to disk. Under Extra select swap file and delete the default directory and type "/cache" without quotes and set it to 256mb. It'll use the cache partition, so you'll still have your disk space for apps. It may degrade the life of your Moto G because of the constant writes, so it's up to you if you want to set up a swap. AND set it on Balanced on the main tab and check set on boot. Only do this on the stock kernel as I noticed lag on other kernels. Anyways you don't have to use swap or the ram manager app after your verify vm heap is 128m. I don't use it as just setting 128m vm heap no longer kills my music apps.
NextGenGTR said:
Thank you so much for the help! I think i have finally did it! I only have the 128m when i check with es file explorer and i guess it is all fine! Is there a way i can confirm my thing is 128m ?
Click to expand...
Click to collapse
I think I found the real problem of the aggressive app killing. Go back to build.prop in performance control and change 128m back to 256m. Apply to save. Now go back and look for this value "ro.MAX_HIDDEN_APPS=12" and delete it; press and hold to delete. I'm testing it as of today, so if you can test it too let me know if it reduces the frequency of app killing aggressiveness. iHeartRadio has not been killed while browsing in Chrome for me. Thanks.
Jorge_007 said:
I think I found the real problem of the aggressive app killing. Go back to build.prop in performance control and change 128m back to 256m. Apply to save. Now go back and look for this value "ro.MAX_HIDDEN_APPS=12" and delete it; press and hold to delete. I'm testing it as of today, so if you can test it too let me know if it reduces the frequency of app killing aggressiveness. iHeartRadio has not been killed while browsing in Chrome for me. Thanks.
Click to expand...
Click to collapse
Changed it and let me do a few tests, I usually get SoundCloud to crash
When I load clash of clans...
NextGenGTR said:
Changed it and let me do a few tests, I usually get SoundCloud to crash
When I load clash of clans...
Click to expand...
Click to collapse
Okay, let me know how thing go
Jorge_007 said:
Okay, let me know how thing go
Click to expand...
Click to collapse
Listening to SoundCloud and playing clash of clans caused home screen to reload icons when pressing home button.
NextGenGTR said:
Listening to SoundCloud and playing clash of clans caused home screen to reload icons when pressing home button.
Click to expand...
Click to collapse
Oh a launcher redraw is to be expected if you're playing a game and listening to music. 1GB is just not enough to maintain everything in memory. Did soundcloud close though? Last time I checked it was a RAM heavy application.
Jorge_007 said:
Oh a launcher redraw is to be expected if you're playing a game and listening to music. 1GB is just not enough to maintain everything in memory. Did soundcloud close though? Last time I checked it was a RAM heavy application.
Click to expand...
Click to collapse
Currently with your settings + a build.prop code for the launcher to keep it in ram i am not experiencing any issues, also i have installed Rom toolbox pro which comes with build.prop editor and many other cool features, one being the minfree value changer, others have reported using the aggressive min free values from minfreemanager helps out so i am using that in romtoolbox and everything is in one single app so its nice and tidy, i recomend you give it a shot
Seems to work on lollipop as well!
Sent from my XT1032 using XDA Free mobile app

A comprehensive guide to the Lenovo Yoga Tab 3 Pro (YT3-X90*) and a Cooked ROM

THESE COOKED ROMS ASSUME YOU HAVE ALREADY AN UNLOCKED BOOTLOADER AND TWRP AS RECOVERY SYSTEM. You can flash them using TWRP, after wiping ART, cache, data, boot and system partitions.
FINAL RELEASE: Well... this is the final release from me and it is specifically for the WiFi model. I hope it is worth it for you. It is more stable and somewhat updated, anyway, if you use a X90F (wifi model) you will probably like it. The other versions are still up for whatever reason. Here's the link. Follow this guide by @Quardah if you are coming from a factory ROM. Go to post 46 if you can't get past the setup wizard. A barely tested (by @Nuihc88) version for the 3G (X90L) model can be found here.
NOTICE: If you find this work useful, mirror it. I won't be hosting it for free forever and it is becoming a burden to my Nextcloud installation. One would say this is a pretty much forgotten thread, but I'm seeing almost daily download activity. I'm putting the ROM files offline now and getting away from XDA for a while. Please don't DM me for the files. If you are looking for them, ask others in this thread. Good bye.
||||||||||||||||||| FROM HERE IS JUST INFORMATION YOU PROBABLY DON'T NEED |||||||||||||||||||
Spoiler: NEWS THAT ARE NOT ANYMORE.
APRIL 9, 2021: You can find in these links a new version of the cooked ROM.
The link for the updated cooked ROM is: https://centsoarer.ddns.net/s/Y8o3eoBK4Ryx5RP. This is a version with GAPPS updated: https://centsoarer.ddns.net/s/FPKjgQcmW3CHZCw. Feel free to mirror, unless you are afraid of Lenovo's lawyers, but don't forget to share the link.
My personal version... even more debloated (if you don't need chinese, japanese, korean, or russian input support/apps) and with CPU tweaks for my own usage: https://centsoarer.ddns.net/s/jcCDAgNedryGRjo
KNOWN ISSUES AND SOLUTIONS:
1) One random reboot after the first boot will happen and it is normal.
2) I'd reccommend to stay with Magisk 21.4 for a while, Magisk Manager >21.4 won't manage your extensions.
3) If you can't get past the initial Setup Wizard check post 46. Basically you have to boot into bootloader, erase the config partition and format it again.
4) Needs confirmation, but versions with signature spoofing patches seem to break Lenovo's SmartSide Bar.
JUNE 12: Fast update on the Cooked ROM and TWRP and KERNEL. They are not as universal as I implied before. Proceed carefully since they may not work four your device/firmware. Make a Nandroid backup and only flash with testing purposes.
JUNE 5: So, I know this is not what everybody who owns this tablet wants to have (that is Android 9 or 10 of course) but, in recent weeks Lenovo updated the firmware of this tablets. It still is a Marshmallow one and it still sucks big time but I took it as a base and cooked it to deliver a newer TWRP recovery with compression, a flashable modified kernel and a cooked flashable stock ROM to free the owners of this tablets from the treacherous path of making this hardware to work properly. If you want a better overall experience and are in stock firmware you just need to Unlock your bootloader, flash TWRP, Format data partition (not only wipe), Wipe Cache, Dalvik/ART, System and DATA and flash the Cooked ROM to put this tablet in a sweeter spot. For details go to post #2!
JUNE 3: Been trying to get to know some of the source code available for Cherry Trail devices and I am fairly lost at building TWRP from source. Anyway, I ported a newer TWRP recovery IMG file for the YT3-X90F (maybe L, X, Y and Z) from the TWRP image for the Chuwi Hi10 Pro tablet from here, using AIK-Linux. The result is in the second post labeled as beta, since I only tested in the YT3-X90F model, running lollipop firmware. So far, it works fine flashing ZIP archives, backing up and restoring backups. Advantages? Well, backups are way lighter if you enable compression (like half the size), higher resolution, twrp turns off the screen with a timeout and whatever made them bump from version 2 to 3. While I could port a newer TWRP version, I just wanted to have lighter backups with compression... so maybe it is what it is .
ORIGINAL POST STARTS HERE. This is general information that I collected for geeks or desperate users that bricked their tablets. When I started this post it wasn't intended to produce a cooked ROM that would include most of these hacks. You don't need this if your tablet boots to Android or TWRP. You also don't need this if you are ready to flash the cooked ROM.
(This is a lenghty post. I suggest you to navigate by section header and find the one you might need.)
There are several Lenovo Yoga 3 tablet models out there and, while some of them enjoy of prime community support as the Yoga Tab 3 Plus, this Intel Atom powered tablet is pretty much forgotten and, at the same time, users were recently buying this tablet, which is a great piece of hardware but has the most terrible support by Lenovo.
Spoiler: WHAT LENOVO TABLET(S) IS THIS GUIDE FOR?
Basically, this is that Lenovo tablet with an attached projector and an Intel Atom Cherry Trail x5 Z8500. There are several models, though, to my knowledge they vary in their code names in the last letter, the two most basic ones (2GB RAM, 32 GB ROM) are the YT3-X90F and the YT3-X90L, the former connects to the internet by WiFi and the latter being the one with LTE/Phone capabilities. There are other models, though, and they vary on the amount of RAM and internal storage. Apparently, the YT3-X90[YX] models (the 4/64 GB refresh) have some use for these firmwares we describe, but in a very specific way, if you own a Y or X model, keep reading, especially the next section.
Spoiler: EXPLAINING HOW TO FIND THE RIGHT STOCK FIRMWARE
Lenovo support has been terrible (there are no words to describe it, really), so they launched this tablet with Android 5.1 Lollipop and they maintained it for a while but were very slow to deliver Android 6.0 Marshmallow. In fact, there was already Android Nougat, when they sent the Marshmallow update. Nevertheless, the update was bad. Performance issues were always a thing and some functionality went lost in the update (less intuitive multiple windows, a crippled recents activity/screen, and a laggy overall experience). Bottom line, they launched a curated Android Lollipop 5.1 firmware with security updates until March 2016 (striked because the last lollipop update f*cks up my sensors, except the light one) and a half-assed Android Marshmallow 6.0.1 firmware.
Of course, at the time, I'm guessing most of us upgraded to Android Marshmallow 6.0.1, hoping the upgrade would fix the issues in Lollipop or with security patches in mind. The reality was that Android 6.0.1 wasn't nearly as maintained as 5.1 and security ambitions went nowhere. So, we got the upgrade all right, but at this point, both Android versions can be considered inherently insecure and we really shouldn't be using it for sensitive work.
OK, there are several Android 5.1 and 6.0 firmwares, you can recognize them because they are all over the internet typically in a compressed format. For example, this firmware hosted in androidhost.ru named:
YT3-X90F_ENG_S100265_1601281130_WW24_ROW
Is a firmware for the Lenovo Yoga Tab 3 (YT3) Pro (X90) Wifi Version (F). The ENG part is an indication of the build type, ENG is an engineer build while USR is probably a firmware for the end user (this is common now that I know a bit more about AOSP source code), it is a Lollipop firmware (S1, Marshmallow would be a S2) with update version (00265), date of compilation and a good estimate of its security patch (1601281130), the WW24 is the weekly release version of the Android kernel for Intel devices (the latest, in May 2020, being WW31 which is exactly the same as WW28 and not updated since 2016), the final part means it is the global ROM version (ROW, opossed to the Chinese version CN). This is the latest Lollipop firmware I am aware of, so, as an example, an imaginary Android Marshmallow Chinese firmware for the LTE version of the Yoga Tab 3 would look like:
YT3-X90L_USR_S200013_1610141535_WW24_CN
As an additional note the Chinese ROMS, I presume, are not trusty but they are also Google-free for what it's worth. On the other hand, they ship with a "Lenovo Services Framework" that should be as intrusive as the Google Play Services. Oh, also, baidu and yandex, and, really, any less traditional search engine can help you find a fitting firmware.
Spoiler: EXPLAINING HOW TO FLASH A STOCK FIRMWARE (DOWNGRADE TO LOLLIPOP AND UNBRICK)
I did test several firmwares, chinese and global, lollipop and marshmallow and the safest and easiest way to flash them is by using the Intel Platform Flash Tool Lite . I can't say I trust in this site, but it hosts a handy tutorial on how to use it, though, is pretty intuitive. The software exists for Mac, Windows and Linux, be sure you are in, at least, the 5.8.x version, this is important to avoid the need to install some special drivers separately as a pre-requisite. Grossly, Intel Flash Tool Lite works like this:
0) Turn off your tablet if it is on.
1) Launch Intel Platform Flash Tool Lite.
2) If your downloaded firmware is in zip format load it with the blue "Browse..." button.
2 bis) OR, if your firmware is in other compressed formats, uncompress it first. After this use the "Browse..." button to load the "flash.json" file.
3) In Configuration option select "blank" if it isn't set already. Optionally, un-tick the "On-demand flash" option to have more control of this process. Also, maybe you can use the "erase" configuration here.
4) Start your tablet in DNX mode. To do this, press Vol- and hold it, then Vol+ and keep holding both, then press the Power button until it turns on and you see the Lenovo logo and some text indicating you are in said mode.
5) Connect your Yoga Tablet with a USB cable and your Intel Platform Flash Tool Lite windows should show it as detected. Now you can proceed using the blue "Start to flash" button.
6) Keep an eye on your tablet, since some firmwares will prompt to set some more options. Unless you know what you are doing, answer "Yes" to any question.
7) Reboot and wait.
If a couple hours have passed and the tablet hasn't booted, maybe you should try another firmware.
IMPORTANT NOTE AND INSTRUCTIONS FOR YT3-X90Y AND POTENTIALLY YT3-X90X USERS: I don't know the rules in xda about linking to other forums but in certain forum there is an answered question about the Y model (the 4/64 GB WiFi only refresh) on how to flash a firmware. Instructions are the same as I gave in this section, except, apparently, you need to do it twice, first with the ENG version and the second time with the USR version except you are not using the flash.json file, this time you'll browse for the flash_factory_1st_stage.json one and the factory1st configuration in fastboot. It is not clear what are the consequences of not doing it this way or what if you combine different firmware versions (it would be interesting to have a tester here). Notice please, these firmwares are marked for the YT3-X90F model. So, clarifying:
1) Follow the instructions above to flash the YT3-X90F_ENG firmware.
2) Power off your tablet.
3) Boot into bootloader (not in DNX, you need to boot into bootloader by powering on while holding Vol+).
4) From the YT3-X90F_USR firmware folder use Intel Platform Flashing Tool Lite to load the flash_factory_1st_stage.json and select the factory1st configuration.
5) After flashing the USR firmware, reboot and you should be good to go.
METANOTE: This wasn't tested by me, please do this only when you are hopeless with your hardware. This is just an educated guess but I bet it works the same with the YT3-X90L (the LTE version 2/32 GB Yoga Tab 3 Pro) and the YT3-X90X (the 4/64 GB refresh).
ALTERNATIVE WAY TO FLASH A STOCK FIRMWARE (ADVANCED USERS, requires fastboot)
Well, there is no need, really, to use that Intel tool. In my search for a lollipop firmware (I wanted to downgrade from Marshmallow) I found the firmware YT3-X90F_USR_S100195_1512052308_WW24_ROW in www.firmware247.com or www.androidfilehost.com (IMPORTANT: please read the note on downgrading to Android 5.1 Lollipop in the note at the end of this section). This firmware was special since, if you are in Windows and have fastboot executable ready and in place, you can run a script (run_me.bat) in the Windows terminal (CMD) or Powershell to flash the firmware semi-automatically. I think this firmware was modified, though, since I found differences in the boot.img when compared with stock firmwares. This script is credited to XDA members @ionioni and @joesnose and you can replicate its steps if you:
0) Turn off your tablet if it is on.
1) Start your tablet in DNX mode. To do this, press Vol- and hold it, then Vol+ and keep holding both, then press the Power button until it turns on and you see the Lenovo logo and some text indicating you are in said mode.
2) Connect your tablet to your fastboot enabled PC using a USB cable.
3) Input "fastboot flash osloader loader.efi"
4) Wait 5 seconds to be sure the loader flash finishes.
5) Reboot into Bootloader. If you don't know how, one way is to hold Vol+ and Power on your tablet.
6) Input "fastboot oem unlock" and confirm using Vol keys to select the right option and the Power button to enter it.
7) Input "fastboot flash system system.img"
8) Input "fastboot flash boot boot.img"
9) Input "fastboot flash recovery recovery.img"
10) Input "fastboot flash bootloader bootloader.img"
Follow your instincts, since I don't know if these IMG files are always named the same. You can get these IMG files from downloaded sources or dump them yourself using dd command.
NOTE ON DOWNGRADING TO ANDROID LOLLIPOP 5.1: So, one of my main concerns has been to go back to Android Lollipop. There is a last version of Lollipop from where you can upgrade to Marshmallow with a security patch from March 2016. Nevertheless, you MAY end up loosing other sensors except the light one. If this happens, you need to use a complete firmware flash using Intel Platform Flash Tool Lite. In my experience, some boot images are not compatible with other weird partitions like country or misc.
Spoiler: TWEAKS ALREADY IN THE COOKED ROM
The first boot takes some time even amounting for the time of the setup itself. By the time you are in the launcher tapping on app's icons you think there's nothing wrong with our device, but after some apps are in memory, you notice some lag. You think "OK, it is updating, but soon it'll settle", but it does not. So, you reboot again after updates and fire up a terminal emulator and connect to your tablet using a USB cable with USB debugging turned on and issue a free command to find something like this:
Code:
total used free shared buffers
Mem: 1950372 1820964 129408 0 7756
Swap: 524284 10740 513544
Total: 2474656 1831704 642952
Which means you have a total of ~2.5 GB (this is the 2 GB model). So, did I download that extra half GB of RAM or Lenovo was feeling generous? Well, no. The issue here is Lenovo built the kernel with zRAM support which is a technology included in Linux that reserves space in RAM to quickly compress and uncompress pages of data exceeding our physical amount of RAM installed (2 GB). This is not Virtual Memory as in a swap file/partition or Windows' Page File inside storage media. zRAM literally reserves a fixed amount of physical RAM space (blocks) to expand it by compressing data. The consequence is you loose "fast RAM" (THE RAM) and gain some "slow RAM" (the zRAM). You also sacrifice some CPU power to compress/decompress data and, with this, some battery juice is also lost.
That does not sound like a terrible trade-off for a RAM-limited device, one would think. Another interesting thing would be WHEN to send this piling data in "fast RAM" to the compressed space and WHEN to get it back. Two parameters control the WHENS, one is called "swappiness" (when to send it to the compressed space, the "slow RAM") and the other may be the "vfs_cache_pressure" (when to uncompress it and send it back to the "fast RAM"). And this is where the main problem is, really, because the kernel, Linux, is pressing the RAM constantly to send some less prioritary data to "slow RAM" and, at the same time, is trying constantly to send compressed data back to the "fast RAM". Summarizing, this kernel behavior is practically minimizing the fast RAM amount and usage while maximizing the "slow RAM" usage. This is nuts, by default a swappiness and a vfs_cache_pressure of 100 are not even default for servers, these parameters extremely prioritize that processes can get done no matter how slow they get, and they are even more nuts when Android is designed to work without swap space.
What that free command is telling us is the tablet is using the "slow RAM" even when we only just turned it on. Fortunately there are two ways to fix this problem: one is to completely disable zRAM, the other one is to use ZRAM a whole lot less by tweaking the swappiness and vfs_cache_pressure parameters. This can be easily done with the following sentences in a rooted tablet:
Code:
# echo 5 > /proc/sys/vm/swappiness
# echo 50 > echo 5 > /proc/sys/vm/vfs_cache_pressure
Or, to regain the whole fast RAM:
Code:
# swapoff /dev/block/zram*
One caveat of the first method, reducing swappiness, is there is still a lot of RAM (one quarter of the whole RAM in a 2 GB device) reserved as "slow RAM".
SOME ROMS DID NOT ENABLE KERNEL SAMEPAGE MERGING, UNFORTUNATELY
Additional to the sorry implementation of zRAM, some firmwares support a fabulous Linux tool to reduce RAM usage called Kernel Samepage Merging (KSM) but they don't use it by default. This software runs at kernel level, so, it really is CPU-wise inexpensive and, opposite to zRAM it can actually recover some RAM usage by reducing the amount of data flagged as redundant in physical RAM by merging it. KSM is good for you and you should have it always enabled by issuing the following command as root:
Code:
# echo 1 > /sys/kernel/mm/ksm/run
STOP WRITING AND FIX MY RAM! PLEASE!
Well... are there any people interested on this? With the above information you can write a script to execute at boot. Something like this should work in any version of the firmware:
Code:
#!/system/bin/sh
# Mount system as rw
busybox mount -o remount,rw -t auto /system
# Tweaking swappiness in zram
echo "5" > /proc/sys/vm/swappiness
echo "50" > /proc/sys/vm/vfs_cache_pressure
# Activating Kernel Samepage Merging
echo 1 > /sys/kernel/mm/ksm/run
# Remount system as ro. noatime option for faster and volatile system
# busybox mount -o ro,remount,noatime /system
busybox mount -o ro,remount /system
exit 1
Or, you can unpack the boot.img and modify the init.cht_ffd.rc (lollipop) or the init.r2_cht_ffd.rc (marshmallow) files to write these values as default... or, if there is interest for something easier, I can produce this boot.img files for you to flash using fastboot.
ROOTING THE LENOVO YOGA TAB 3 PRO (YT3-X90[FL])
Here I am not gonna write a lot. Instructions were given in this thread. I'd only recommend to put vm.targetutilization at 0.8 top 0.85 in system/build.prop
After rooting, debloat your firmware. I use the app "/system/app mover" from Fdroid to convert to user apps and uninstall them. Also, if rooting is not your cup of tea, you can install AppOps software to freeze all those apps that you don't use regularly. Also, I couldn't patch my services.jar for Signature Spoofing with Nanodroid patcher in the most recent lollipop firmware, but it did work in Marshmallow... anyway I'll do it manually.
ARE YT3-X90F AND YT3-X90L FIRMWARES INTERCHANGEABLE?
I own a WiFi only device (YT3-X90F) so I can't assert they are interchangeable. If I owned the LTE version and use a WiFi firmware I would expect to loose LTE functionality. Now, on the other direction is more interesting because I've been using a LTE firmware version for weeks (as a matter of fact, the one joesnose linked in his How-To debrick this tablet, flashed with the instructions I posted for advanced users it even updated to recent 2020 firmwares). The only tweak you need for this to work well is to add "ro.ril.disable=1" in the build.prop file. So, yes, firmware for the LTE version work in the WiFi version but kind of not vice versa.
Spoiler: YT3-X90(FL) UN-DEVELOPMENT
No news here. All capable people interested on developing for this device are all done with Lenovo and their attitude against Open Source. Don't expect your situation to change.
I'm happy to know there are still a couple of developers interested on this device. I won't cite them by linking their names but they are OOEvil and alquez, the first guy is trying to make a Generic System Image (GSI) ROM compatible with our tablet, I don't know the details so I wouldn't go further. Alquez has been active in this thread and, while he is trying to figure out how to build a kernel, he believes the best way to start having some alternative to official Lenovo firmware is by using a firmware kernel (a prebuilt kernel) to, first, build a more up-to-date TWRP recovery.img and from there try to build CyanogenMod 13, which was based on Android Marshmallow 6.0.1. My guess is newer Android versions wouldn't work if we can't build the kernel from source.
PHOTO ALBUM OF YT3/X90Y BIOS
This photo album documenting every screen option in the BIOS of the Yoga Tab 3 Pro may or may not help someone, but it contains a lot of useful hardware information and guidance for those attempting to boot something else than the original Android 5 or 6 firmware. Using this options, that are accessible through F2 at boot with an attached USB keyboard, you could try Linux distributions on the tablet or even attempt to run Windows, @alquez informs it works fine with a recent distro but the mainline kernel is lacking touchscreen and battery support. This is absolutely his work and he asked me to share it. I hope it serves someone. It is hosted in a rather obscure website but it was the only reasonable placeholder I could find for the 321 photos.
Hope this helps someone, I just didn't want to keep it to myself. Have a nice day!
Just remember, if your tablet is 3G capable I strongly suggest that you modify the line "ro.lenovo.tablet=wifi" to "ro.lenovo.tablet=3gdata" and remove the line "ro.radio.noril=true" to your build.prop file in /system. To do this you can use the section Build.prop Editor of the Kernel Adiutor app or you can do it manually if you have already a method to modify system files. If you do not use mobile data at all, you may leave the build.prop as it is, you'll save a lot of battery by using only wifi.
Spoiler: Some old info here, but maybe useful
ONLY FOR TESTING: Cooked ROM, newer TWRP and tweaked kernel
ONLY TRY THESE FOR TESTING PURPOSES, THE TWEAKS ARE ALL SAFE TO USE BUT ONLY FLASH FOR TESTING PURPOSES, PLEASE. FIRST, TRY TO USE FASTBOOT TO BOOT THE boot.img FILE WITHOUT FLASHING: IF IT BOOTS GO AHEAD AND TRY THE OTHER FILES (fastboot boot boot.img). THE TWRP IS NOT AS STABLE AS THE OTHER ONE HERE AT XDA BUT ALLOWS TO USE ZIP COMPRESSION IN BACKUPS. I AM NOT GONNA BE AROUND. IF YOU TRY SOMETHING MAKE A BACKUP FIRST. THIS DEVICE IS MESSY AS F*CK.
Spoiler: Some old info here, but maybe useful
I wrote a very detailed guide about these files I uploaded to my Nextcloud that include the newer TWRP-3.0.2, a TWRP flashable Cooked ROM and a separate kernel (boot.img) in case your system is already setup, but the post went to some XDA void and didn't upload. These are based on the YT3-X90L latest firmware, but they work on the X90F model too. The TWRP should work with Lollipop and Marshmallow firmwares.
I can't write everything again, so, the kernel contains better management of RAM and emmc (internal) memory, a 256 MB zRAM space instead of 512 and a more conservative approach to LowMemoryKiller.
The cooked ROM includes the described kernel and debloated apps, it's already rooted with Magisk (you can unroot with Magisk Uninstaller), an updated Busybox build, su.d support (I plan to use it with AFWall+), zipaligned apps, etc. It is for the X90L but possibly works for the other Yoga Tab 3 Pro models. It works for the X90F but it will reboot once after the first boot because the RIL configuration times out. To install the cooked ROM you need to:
0) Know that by doing this you will loose pretty much everything in your tablet. You start from scratch if everything goes smooth, if not you could possibly end up with a system without an OS. The usual stuff when you are customizing your system.
1) Boot into TWRP and make a Nandroid backup. IT IS IMPORTANT because @joesnose had problems with a "random reboot" and lost Bluetooth/WiFi after it. I am trying to look into this. The only difference is his tablet has 4 GB RAM and probably a different firmware.
2) Wipe cache, Dalvik/ART, System and Data in TWRP - Wipe, Advanced Wipe menu. If your tablet is encrypted, or in factory firmware you also need to explicitly use the button "Format Data partition" and confirm writing "yes" in the format procedure prompt. You will loose any configuration made to your tablet.
3) Install the superr_stockMM.zip wich is flashable by selecting the file from your Internal tablet memory, using the Install button in the main TWRP interface.
FOUR IMPORTANT NOTES TO COMMON ISSUES:
If you come from a stock firmware your data partition is encrypted. You need to pass a blank password in TWRP to continue to use the custom recovery. You also need to format data partition before flashing the cooked ROM.
If your tablet is WiFi-only I strongly suggest that you modify the line "ro.lenovo.tablet=3gdata" to "ro.lenovo.tablet=wifi" and add the line "ro.radio.noril=true" to your build.prop file in /system. To do this you can use the section Build.prop Editor of the Kernel Adiutor app or you can do it manually if you have already a method to modify system files. In Lollipop firmware you use "ro.ril.disable=1" instead of "ro.radio.noril=true" to get the same effect: sort of a conversion to WIFI-only tablet from LTE models. I'd argue this is useful to do if you are gonna be without LTE connection/service for long periods of time and I can think a couple of other uses.
Do not use stock Lenovo launcher unless you uninstall Magisk... they are incompatible for reasons I don't care to know and the Launcher will constantly FC (it is a pain in the arse).
If you are still expecting better performance I am sure there are some tweaks left in RAM management but it wont go too much further in 2 GB devices. Instead, you may consider to lower your display resolution and pixel density to something reasonable as 1400x2240 or even 1200x1920 maintaining the same aspect ratio. To do this you do not need to have root but you need to interact with the tablet using ADB. First change the size of your display:
Code:
adb shell wm size 1400x2240
Then adjust your density:
Code:
adb shell wm density 260
If still is not enough you can go even further with 1200x1920 and 224, use the same method to go back to stock with 1600x2560 and 300 to 302. This won't need a reboot but will probably cause an inconsistent UI that will lead to FCs and random reboot. You can just reboot after applying these tweaks. Unless you are really sight-gifted you won't notice a lot has changed but you will be dealing with 2.x Mpixels instead of 4.x Mpixels and that will help with your overall performance as well as your battery life sacrificing a pixel count that most of the people wouldn't even notice. If you did this correctly, in the next boot sequences you'll notice an offset on the Lenovo orange logo.
It is important to say that your display supports 1600x2560 pixels physically, but I'm assuming the GPU has no dedicated RAM and uses the device's, so, by reducing the quantity of pixels the GPU needs to deal with, the pressure on the device's RAM is also reduced.
EXTRA TIP: If boot annoys you just delete /system/media/boot.wav, bootanimation.zip and shutdownanimation.zip and you'll get a silent boot and the generic android boot animation.
Hope you enjoy your tablet!
TWRP-3.0.2.0- BETA: Again, this is not a flashable zip. Uncompress first and test the recovery system using "fastboot boot twrp_yt3-x90f_beta.img". If everything works for you, you may want to flash it permanently rebooting to bootloader and flashing with "fastboot flash recovery twrp_yt3-x90f_beta.img". Remember I did not test this in Marshmallow yet.
FEATURES:
- Fixed RAM issues (swapiness 10, vfs_cache_size 50 and disabled dynamic low memory killer tweaks and minfree values).
- Reduced zRAM size to only 256 MB.
- Tweaked interactive CPU scheduler to use other than min and max frequencies (but still responsive). The tweaks are based on the Advanced Interactive Governor Tweaks Guide. This may save battery life.
- Max frequency capped to 2.08 GHz (this is not great if you are a gamer). This tablet throttles when using max frequency for a long time, so, to save battery and keep it cooler I tweaked the CPU to run slower.
- Tweaked I/O schedulers to use deadline governor and read ahead cache to 640 kb (used benchmarks to get to this value).
- Force encryption disabled (to avoid applying ionioni script after flashing). Still needs to format data partition. You can encrypt your data partition later through Configuration -> Security user interface.
- Implemented native init.d support (not su.d anymore and no need to root the main OS).
- Busybox updated.
- Rooted with Magisk by default ( you can use Magisk uninstaller to unroot).
- Debloated apps. I also deleted Lenovo User Experience Program which was asking for root privileges even when you don't opt in to the Lenovo UE Program at setup wizard. I find this behavior shady.
-Multi-window mode is available in Developer Options and needs to be activated by you. In this mode if an app is compatible with multi-window mode you can double-tap on its title bar to enable Window mode. This function was more transparent in Lollipop firmware but it is still there in Marshmallow firmware if you change the build type to userdebug instead of user in build.prop (that's how I enabled it in the Cooked ROM).
- There are also other tweaks in VM and KSM.
And that's it, I'm not trying to change a lot, only the fundamental issues. But I suggest some other tweaks up there.
Such a shame. I love my Yoga Tab 3 Pro. Great hardware. But the software. Thanx anyway for your work.
Very nice write up. Thanks.
joesnose said:
Very nice write up. Thanks.
Click to expand...
Click to collapse
You're welcome. Thanks to you, while learning about this hardware your username pops everywhere.
jahfaby said:
Such a shame. I love my Yoga Tab 3 Pro. Great hardware. But the software. Thanx anyway for your work.
Click to expand...
Click to collapse
It really, really sucks. Let's hope something interesting happens after these strange and recent updates.
CENTSOARER said:
V1: The zip name boot_mod_mm.zip is based on the latest boot IMG provided by Lenovo. You need to first uncompress and flash it using fastboot (this is not a TWRP flshable zip). If you are uncomfortable flashing, you can test it only by issuing "fastboot boot boot_mm_march20_mod.img" once uncompressed, or, if you feel fine using it you can flash it permanently by using the command "fastboot flash boot boot_mm_march20_mod.img". This boot IMG will only work with Marshmallow firmwares in both YT3-X90(FL).
FEATURES:
- Fixed RAM issues (swapiness, vfs_cache_size and low memory killer tweaks).
- Reduced zRAM size to only 128 MB.
- Tweaked interactive CPU scheduler to use other than min and max frequencies (but still responsive). This saves battery life.
- Max frequency capped to 2.08 GHz (this is not great if you are a gamer). This tablet throttles when using max frequency for a long time, so, to save battery and keep it cooler I tweaked the CPU to run slower.
- Tweaked I/O schedulers to use deadline governor.
- Force encryption disabled (it's unnecesary to apply ionioni script now). Still needs to format data partition. You can encrypt your data partition later through Configuration->Security user interface.
Click to expand...
Click to collapse
Thanks for this. Going to take it for a spin.
joesnose said:
Thanks for this. Going to take it for a spin.
Click to expand...
Click to collapse
Please, please provide feedback and don't forget to wipe caches.
alquez said:
"No news here. All capable people interested on developing for this device are all done with Lenovo and their attitude against Open Source. Don't expect your situation to change."
https://github.com/intel/ProductionKernelQuilts this repository containts patches necessary to create base 3.14.55 and 3.14.64 uefi/cht-m1stable kernel tree. The same tree that was butchered by Lenovo in their OPEN_SOURCE "release".
Check this file https://github.com/intel/ProductionKernelQuilts/blob/master/uefi/cht-m1stable/ChangeReport.md and the WW24 part in the "YT3-X90F_ENG_S100265_1601281130_WW24_ROW" will become more clear
Quilt manual: https://elinux.org/images/7/74/Maintaining_Multiple_Android_Linux_Kernels_at_Intel.pdf
If someone would be looking for a good piece to start: the best would be to recreate 3.14.55 or 3.14.64 from the quilts, use the x86_64 defconfig and build a kernel which can be booted. In order to test this, the best solution is to repack TWRP with the new kernel and do "fastboot boot" without flashing, until it boots and the touch screen is working. There's no other way i'm afraid.
I have prepared complete photo documentation of UEFI Bios, i can share, currently moving to different google photos account. Its over 300 photos.
Please, set up a Discord channel if you want to proceed. The first month will be quite boring and daunting because it's going to be build -> repack -> boot -> rant
Click to expand...
Click to collapse
In my defense, when I wrote that sentence was after taking a peek on your github profile, I figured you were just done with the Yoga Tab 3 Pro. I am really, really glad you're still trying and I recognize you are very capable of changing things for this device. I appreciate the sources you link but I am afraid I am useless as a developer, partly because of a lack of time and partly because of a lack of adequate training. I will try to help as much as I can, though. Thanks for the post.
alquez said:
No worries, however if anyone is interested how to actually crunch this one: we have a working prebuild kernel which can be pulled of boot image, and we have a working TWRP, however it looks like TWRP wasn't actually built from source, but cooked using android kitchen so we're still missing a device tree, which in my opinion is a good place to start, because you can use prebuilt kernel to build recovery and lineageos/aosp (it's deprecated but we're talking about android 6 aka cm-13.0/lineage 13.0). If I can create a most basic device tree which is capable of building recovery from scratch useing binary kernel and modules, i'd say were' good, because the next part would be adding more binary blobs from the official software, and we can skip the kernel source part for now until we have lineageos build 13 working). I started experimenting on xiaomi latte tree because it wasnt split like Z00A. It's not gonna be a proper port but it should work from now (i think)
@joesnose did you cook or compile TWRP? It's important
Ok, I'm at the stage i have two folders. The one is unpacked working TWRP, the other one is unpacked compilation i'm building, which means im able to build TWRP from source with binary kernel, but it's not working yet. The goal is make the left one look like the right one by adjusting various parts in BoardConfig.mk and copying files.. If someone has right partition sizes for BoardConfig.mk that would be really helpful, the values i calculated suck and don'y boot yet
Click to expand...
Click to collapse
Uhmmm, I've been there and took some notes with some "GNU shell Fu". What sizes are you using right now?
And regarding the WW part of the name I've noticed the recent updates are marked as WW17 opposed to WW28 which was the latest stable with any changes. Any idea why Lenovo used WW17 to update the Yoga Tab 3 Pro recently?
alquez said:
update, ive managed to boot vanilla android-x86 x64 6.0.1 build without touching the kernel yet and different TWRP (3.1.1.0) with kernel swap
Click to expand...
Click to collapse
Geez, I was excited because I read Ubuntu booted on this hardware but then I realized it was the Yoga 3 tablet but not the Yoga Tab 3, goddamnit. Keep up the good work!
alquez said:
Um Ubuntu 20.04 boots with working accelerometer so the screen rotation works + wifi, and probably audio i forgot to play youtube video, the stuff missing is battery, touchscreen and projector.
To test it you need to connect a usb hub using usb otg, put ubuntu and a keyboard in the hub, boot, and press f2 really fast if you haven't enabled slow boot yet. You can even boot
Xubuntu to ram and remove flash drive. It's a pc architecture after all and most of the processor related stuff is in the linux mainline since 4.11
Recently i was checking why the Windows 10 installer crashes on ACPI Error.
Click to expand...
Click to collapse
Oh, I will have fun doing this kind of stuff at the end of the year. It must run swiftly with i3, provided you won't get touchscreen support.
alquez said:
Geting TS and a battery running is a mandatory, the next is the projector. The rest is pretty much working. I'm building generic celadon x86 atm and the beast is huge it's like 18% now after two hours on -j8 on i7. Maybe we can give this old monster a new life
edit:
And i need to add 480gb drive ;/
Code:
/dev/sdc1 229G 210G 6,7G 97% /home/android
Click to expand...
Click to collapse
I am afraid those are the peripherals that will keep you in 3.14.55/64 Linux, at least for a while , unless you know something more (wouldn't be surprised).
Are those GB for source code or for cache? Both? Jesus... the thing is huge but reading the unpacked boot.img makes much more sense now.
It was ionioni who made the twrp for the device. I dont have the foggiest how he did it.
---------- Post added at 01:23 AM ---------- Previous post was at 01:18 AM ----------
Wow! I missed lot, looks like you have made some serious progress here. very well done.
alquez said:
I contacted my friend and he told me to compare these two folders:
https://github.com/alquez/lenovo_yt...l/cht/arch/x86/platform/intel-mid/device_libs
https://github.com/torvalds/linux/tree/master/arch/x86/platform/intel-mid/device_libs
the new files in "lenovo tree" are the modules we're after, mostly and it's a place to start
I need to ask inioni about twrp.
Click to expand...
Click to collapse
I will guess it was ported from the Yoga Tab 2. I will edit this post soon.
alquez said:
Nice! There's big chance the modules are reused somewhere. We can compare these. I think the two folders in
https://github.com/alquez/lenovo_yt3_x90_osc/tree/master/kernel/cht/drivers/input/touchscreen
which are missing from vanilla tree are two separate drivers and one is for "any pen" driver. Can you ask someone porting modules recently
to help us refresh my memory
[edit]
I've got in touch with TeamBliss of BlissRoms , they are working on cherrytrail tree
Click to expand...
Click to collapse
Nah, I couldn't confirm it was ported. A lot of posts were removed when XDA enforced the GPL measures to its developers.
About BlissRoms, it just makes sense they are working on Cherry trail. I hope you and those guys can achieve something soon. I mean, it's a 2 GB RAM device but the display, projector and dolby audio system are worth for a better fate than Lenovo's plans.
alquez said:
4GB of ram 4 cpu cores, Hardware virtualization support, fast gpu and fast emmc memory. It's a beast, way ahead of it's time.
Click to expand...
Click to collapse
Well, I have the 2 GB RAM model, so my expectations are conservative. Anyway, don't believe I'm a hardcore user, so it's plenty enough for me, considering I won't even flash Google apps. I am now settled with Lollipop, since I need apps not getting killed by damn Doze. It is a shame how OEMs can limit a device like this one. Crond, init.d, bad zRAM, shell, even busybox... frequently the OS is crippled. I read somewhere Doze can be disabled in build.prop or something but one thing I just hate is the recents screen in Marshmallow firmware (my God, is terrible!) and can't be easily changed for something like OmniSwitch. I mean, for a mobile device you have an unusual architecture, why limit it further? Damn, I wish BlissRoms come up with a working build.
Hey, @alquez, have you tried Linux 5.7 on the tablet? I saw this article and seems like the touchscreen may work with the next mainline kernel release. I mean, right now is on RC7, should be stable enough to compile and try (I'd try it, but can't get to my workstations thanks to the virus).
EDIT: Ah... I was looking into my device and it comes with a HiDeep touchscreen (cat /dev/input/event3), the linked news is for the Goodix driver / devices. At least, I guess, it will attract others to this platform... anyway, I was wondering and also confused, shouldn't touch screen work with the hideep driver using this config already?
Thanks for the new feel.
This is great, glad to see a developer picking up this tablet. It's a fine machine with an unfortunately small user base and has never really seen any development apart from ionioni s efforts and he didn't even own one, lol.
Edit: *Thank for the new twrp * auto correct!
I love this device! For me it's the perfect device for vacation just because of the projector!
I am so happy that you guys are working on it again. the ram and display tweak works like a charme for me. Had to reset my background screen though
thx for all your help. As soon as you guys have light rom, i'll install it on my 2GB device.
hello how to flash your twrp please ?
can someone upload adb drivers for the yt3-x90f please ? because i try to flash in dnx fastboot mode but commands don't work, even "fastboot devices" don't show me the yoga tab 3 pro

Categories

Resources