[Kernel][Tuneable][STOCK/CM] SmoothMod Kernel for SM-T311

Is it boot on your T311? What ROM do you use if it is?


  • Total voters
    19

igoryan94

Member
Aug 21, 2012
40
16
0
Moscow
SmoothMod Kernel (SMK) for Samsung Galaxy Tab 3 8.0 3G (SM-T311), also may work on WiFi version (SM-T310), all stock and CM ROMs.

Development discontinued, read reason here.

This kernel is developed to give you more smoothness and stability than you can have on stock kernel and others.

Warning. Kernel may work on your device/ROM and may not. For me it works at all ROMs and for many people (on 4PDA.RU forum) it works too. Some people say (or said before kernel worked, this also can be) it doesn't work. So do a kernel backup please before you flash it first time. I've never had boot or usage problems with SMK, but it could be because i'm its developer (though it can not be the reason for that I'm always successfully boot it..). So it seems that our devices of the same model might be different. Be careful as I can not help you.

Features:
- Kernel version updated up to 3.2.26 and keeps updating
- Safe CPU overclock to 1.9 GHz with CPU-Boost kernel driver developed also by myself
- Custom (and only here) governor Smooth that is made to give both good battery saving and absolute smoothness. Uses GPU load and io_wait to additionally increase frequency at the right time.
- Kernel has a custom Android service smkd that controls all its features and provides many tweakable settings that you can change very simply: through terminal command "smkd" (instructions below) or "by hands" at folder "/smk" (like usual linux kernel settings at "/proc/sys/{kernel|vm|net}"). The program is written in C language, not as a script, for performance (shell-scripts are very slow when comparing with optimized C-programs).
- Tweak Menu that can be found if you type 'smkd' in your terminal.
- SmoothnessControl - one of smkd's functions that tries to guarantee UI smoothness to your tablet even if there are very CPU-hungry (but not I/O) apps/programs running like android.process.media and others. By default disabled. To enable, type this: 'su -c "scd --enable"' in terminal emulator. To disable, type 'scd --disable'.
- CPU Undervolt controlled through smkd.
- DynBS program (also developed by me) used by smkd to improve battery saving by 40% and more.
- Boeffla Sound Engine with custom settings, not working with Boeffla Sound Control app because smkd controls them (it's needed because smkd fixes engine's sound effects bug). Settings are stored folder "/smk" in files beginning with "boeffla.".
- Cron scheduler configured from file /sdcard/cron/root.
- All the custom tweakable settings described upper are reloading instantly after you change them or on delete (cron schedule file is also under the same watch).
- Kernel is compiled with optimized HYPER-TOOLCHAIN with gcc version 6.0 and maximally optimized compiler configuration.

Customizing kernel:

There is now nothing that needs to be explained, as customizing is pretty simple! Just type command 'smkd' (without quotes) and go through the menu (by entering appropriate symbols) as you want, changing parameters as you need.
Ask, if you have questions :)


If you have questions or suggestions about my kernel, feel free to write about that here and I will try to answer.

F.A.Q.:

Q.: Do I need to wipe Dalvik/ART cache before/after flashing this kernel?
A.: It is even not useful to wipe caches because they are used by Android only, not by kernel. So, it's not needed.

Q.: The kernel does not boot! What do I have to do to boot it?
A.: Write a message in this thread providing info about what ROM do you use, what Android version it is and what kernel build (kk/lp/mm) and version you are trying to boot. I will reply to that message and try to fix that problem.


Author: me, igoryan94

Download from Google Drive
Before flashing this kernel please do a backup yours first!
Warning! If you have a Jellybean/Kitkat rom, then download the smoothmod-kernel-kk-... build. If you use Lollipop (CM12), then your build to download will be ...-lp.... If it is a Marshmallow (CM13), then download mm build.
Other choice will cause your device to not be able to boot!


(Sorry for my (maybe )bad english)
 
Last edited:

igoryan94

Member
Aug 21, 2012
40
16
0
Moscow
Plans:
-

Developing now:
-

Changelogs (old*):

1.2.1/1.2.2:
- Returned possibility to load a profile from command line (command 'smkd --load [name]' or 'smkd ld [name]')
- Added custom setting for apps CPU time, now it has two groups: idle and high.
Idle group gives an app very small amount of CPU time, use for hungry apps that you don't need.
High group grants an app a 95% of all CPU time. Use to speed up some apps or games.
It is all very similar to Greenify and others, excepting that this is not battery saving solution, only to smooth up your Android, as Greenify disables an app and CGroup lowers app's CPU execution time available to it.
- I/O settings fully rebalanced for smoothness for system processes and apps processes
- Also added control group for I/O that does like one for CPU, but for I/O and developed its correct (for Android) behavior.
- Current configuration name in smkd menu now correctly saves and loads after reboot.
- Default LMK level changed to 125
XDA->SMK:
1.2:
- Got a smoother UI with better CGroup tweaking
- In case of some situations smkd will notify user with drawing a small square of some color at the left upper screen edge (portrait orientation). For overheat the color is red. When SmoothnessControl gets to work, color is light blue/cyan. If device's load is too high, the color will be blue.
"Notification" will blink when screen updates because the framebuffer devices are not support this method of screen drawing. But it works for now and I think that it is very useful to know the reasons of device's lags and freezes.
- Menu now immediately reacts to input, instead of pressing some characters and then Enter. Modified all menus that way so the interface is now much better.
- When exiting menu, parameters are automatically saved to default profile. No need to care about it anymore...
- Added Quick settings also to RAM and I/O
- Main menu: moved all "p)" menu elements to main menu level, it is quicker to access now
- Some more Quick settings options added
- Added Quick settings to my menu templates, so I will add this to most of the new menus in the future
- Main Quick settings colors changed to blue, additional are still white
- Overclock to 1920 MHz lowered to 1800 MHz because 1800 is much more stable (1920 causes reboots on Marshmallow on my tablet)
- Device now reboots when charging speed is too bad. By default this is disabled. Also added setting "Charge cycle time" and Quick settings for that so you can quickly set up to what charge speed you need (reboots are helpful but not very good for users that want to play device when it charges).
- 'Boost' feature disabled so now DynBS will work as always even when device is laggy
Previous:

1.1.22:
- CPU, Boeffla Sound and Network setting menus in smkd now have the Quick settings feature that helps to configure them by one click instead of tweaking them each
1.1.21.1:
- DynBS updated: now it uses frequencies from 350 to 700 MHz too, so more battery can be saved.
1.1.21:
- smkd now has menu interface which opens by default by command 'smkd' without options.
- All setting commands are removed. Use menu instead.
- In Cyanogenmod ROMs SystemUI is restarted every time when screen becomes disabled, so you may never see it lags or freezes again.
- PCS renamed to SC (SmoothnessControl).
- Overclock enables when device is laggy even when it is disabled in settings
- Redone temperature control: now smkd monitors a device temperature instead of CPU. It leads to better smoothness. Also overheat situations disable some functions like I/O readahead, ZRam, KSM.
- Overheat prevention function fully removed
- Governor Smooth now enables both cores on gestures with two or more fingers instead of simple tap.
1.1.20:
- Added charging compensation: now when battery charging is too slow, CPU Topology and voltage will be changed appropriately for quicker charge.
- Touch boost changed from 1400 to 1000 MHz, but it also boosts busfreq to 400 instead of 267 MHz. Results in better reaction on screen touch.
- Governor Smooth's default sampling_rate changed from 27000 to 16000 for quicker reaction
1.1.19:
- Added ARM CPU Topology for better multithread scheduling
- Some CPU Scheduler changes for smoothness or power saving (tweakable)
- Improved smkd UI code
1.1.18.1:
- Fixed performance/smoothness problems.
1.1.18:
- Added new default configuration "throughput"
- GPU acceleration is now forced for all apps and it is changeable from smkd.
- I/O scheduler SIOPlus added.
- DynBS is returned (one user asked for it as it really saves battery, as he said).
1.1.17:
- User profiles are no more exist, replaced with default configurations" instead. They are: smooth, battery, ram and cool. After each launch of smkd (mostly on reboot) configurations are removed and recreated to always be fresh and up to date.
- Added ability to create, rename and delete profiles by normal way, but default profiles cannot be replaced, deleted or renamed through smkd (only "by hands").
- GPU settings: composition and forced GPU-acceleration from Android settings for developers.
- Tripndroid and Zen I/O schedulers are added.
1.1.16.1:
- Configurations loading is now be always successful (but only if appropriate file exists), without that annoying errors "try again later, please..." :)
- Small tweaks optimization
1.1.16:
- Overclock now disabled by default, as it was on 1.1.14 and before, for battery saving (overclock eats too much battery). Can be enabled with command 'smkd -c -o 1'. Temperature control is now optimized for both CPU overclock and hardware maximal frequency modes.
- smkd interface improved a little.
- KSM functionality added with some fixes for Mali GPU driver bugs in userspace.
- Default temperature limit is now 64 C (before it was 67 C). This is done for more stability when the weather is hot.
- Some changes for smoothness and stability...
1.1.15:
- Overclock is enabled now for any time when screen is enabled (no more boost).
- Developed overheat preventing functions that cool device when temperature is between 90% of threshold and higher. CPU frequency will be set according to temperature for the moment (for every 2% will be a different frequency). Function can be disabled but it is not recommended.
- All cooling functions now control voltage too to be more effective.
- Governor Smooth tweaked for more balance (oc_nr_run_threshold->6)
- Governor Smooth: changed logic: half-overclock (to 1.7 GHz) will occur if number of processes running is a half of oc_nr_run_threshold tunable.
- smkd now controls I/O scheduler and I/O readahead settings, they are tweakable with smkd command. Profiles change this parameters too.
1.1.14:
- smkd tweaker program fully translated to english and comes now in two languages. Now it uses Android's property 'persist.sys.language'.
If your device configured for any language excepting russian, then program will be in english for you. At the other case it will print out text and messages in russian.
- Improved custom configurations in smkd. Now it loads profiles synchronous with service (by using mutex) instead of relaunching it with shell stop/start (it was too slow and even buggy to do that).
- DynBS will not be in kernel anymore, it is not so effective as needed. Instead, I've added a profile tweaks for my governor Smooth, that tweaks easily changeable from smkd (cmd. "smkd -c -s [0-2]").
1.1.13:
- Cron scheduler now works correctly (i'm happy :) ), doing exactly what was scheduled by the user at the exact times.
- I don't remember what was in this version because forgot this as I worked on 1.1.14 intensively.



-----
* Newer versions contain changelogs in install archive itself.
 
Last edited:
  • Like
Reactions: so.hell

igoryan94

Member
Aug 21, 2012
40
16
0
Moscow
AICP BY GR8NOLE.
SMK V-1.1.12
i try dirty flash n clean flash.stuck at bootamination..

Sent from my SM-T311 using XDA-Developers mobile app
Looks like it will not work on AICP ROM, on Cyanogenmod 13 and ResurrectionRemix kernel works fine (I've tested that)... Sorry :( The reason for that I can not fix this problem is that I do not know (even cannot know) how to make an init.rc (this file starts all Android services on boot) file universal (to support absolutely all ROMs at one time). This is also the reason for three builds of kernel: kk, lp and mm...
 
Last edited:

igoryan94

Member
Aug 21, 2012
40
16
0
Moscow
Nice kernel. But can you please make a version of your kernel work with the T310 (WiFi)?
I can't as i don't know much about modding in '/init.rc' script and also about what differences it has in kernels for T310, T311 and T315... Sorry.
There are too much incompatibilities with builds that are now (they must work everywhere but they don't)...

Ok. Added one question to poll. There are three variants for ROM and two for working or not (six at all), for me all works fine, so I voted for the first three answers.

Version 1.1.14 developer testing ends now, smkd fully translated to english. I will now build the kernel and then begin uploading it to Google Drive.

(sorry for my incorrect english)
 
Last edited:

igoryan94

Member
Aug 21, 2012
40
16
0
Moscow
Hey @igoryan94,

Thanks a lot for making this great kernel!

I've flashed the KK version along with the stock ROM http://forum.xda-developers.com/showthread.php?t=2789510. It works very nicely. Would you please show an instruction (or a specific terminal command for newbies like me) of how to overclock CPU to 1.9GHz? Currently the max speed is 1.5Ghz according to kernel audit.

Thanks again
CPU frequency is automatically changed to 1920 MHz when special conditions are met (they are: "blocked" processes and waiting for I/O).. Version 1.1.5 will have full 1920 MHz CPU frequency.
I will now upload "developer" version of kernel 1.1.15_dev for KitKat users. If you want, test that) It is not fully contains all changes that i've done, but I'm not at home now and cannot compile new build... For now it has smooth overheat prevention and overclock fully enabled.
Hey I cant change the cpu frequent through kernel adiutor. As soon as i change the freq to 1920 it changes back to 1500.
Please wait for SMK version 1.1.15, it will use 1920 MHz as a default frequency always excepting overheat moments (that will disapear very quickly) and governor's battery saver mode.
You can also use a developer version 1.1.15_dev if you use JellyBean/KitKat as your ROM.


Ok, "dev" version released for testing.
When I will return home, I will release another testing version that has an I/O scheduler change functionality, optional Overheat Prevention and changing min_freq to minimal (50 MHz) when temperature event occurs. Maybe it will have even more features (I have smkd code with me, PC is only needed for compiling kernel and ramdisk).
 
Last edited:

jamax80

Senior Member
Jul 21, 2011
91
22
0
on NoleKat.T310. v1.1 KK 4.4.2 not boot. on CM13 it's ok, but, for me, the best android versioni for this tablet is kk stock and i install NoleKat.T310. v1.1.
 
Last edited: