[KERNEL][i9500][TW] KudKernel [DISCONTINUED]

Status
Not open for further replies.
Search This thread

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
kud_logo.png

Join KudKernel's Hangouts group for tests builds and previews before every new release.
Click here to join.


NOTE: Thread as per v4.1 and may or may not available on last build.

Code:
/*
 * Your warranty is now void.
 *
 * I am not responsible for bricked devices, dead SD cards,
 * thermonuclear war, or you getting fired because the alarm app failed. Please
 * do some research if you have any concerns about features included in this KERNEL
 * before flashing it! YOU are choosing to make these modifications, and if
 * you point your finger at me for messing up your device, I will laugh at you.
 */

Features
Main features
  • Built using I9500XXUHPB3 kernel source
  • [TW] Built using modified I9500UBUHPG1 ramdisk
  • [CM] Using AnyKernel2 template for unified support
  • Compiled using Hyper Toolchain 6.1.x, SaberMod with Uber dependencies
  • Using -Ofast flag for speed
  • Full ARM and VFPv4 optimizations
  • Updated OSRC to version 3.4.5 (proper implementation)
  • XZ kernel compression
  • [TW] GZIP ramdisk compression
  • Included Stericson's latest BusyBox 1.24.2
  • [TW] SELinux is forced permissive
  • [CM] SELinux disabled
  • A7 frequencies unlocked
  • Kernel debloated from useless features
  • Optimized and patched kernel source

Key features
  • Ultra Kernel Samepage Merging (UKSM) support (default: Disabled)
  • mDNIe screen, CPU voltage, and Wolfson sound control support
  • Synapse support for screen and audio
  • Using ARM-optimized SHA-1 and AES crypto routines
  • HTC's Asynchronous File Sync (Async Fsync)
  • Init.d support
  • USB-OTG support
  • CIFS, NFS support
  • [CM] F2FS support
  • L2TP, PPP support
  • Selectable CPU governors:
    ondemand (default), interactive, conservative, performance, alucard, darkness, intelliactive, lionheart, zzmoove
  • Selectable I/O schedulers:
    noop (default), row, cfq, deadline, bfq, fiops, sioplus, tripndroid, zen
  • Selectable TCP congestion algorithms:
    westwood (default), cubic, bic, reno, htcp, highspeed, hybla, vegas, scalable, lp, veno, yeah, illinois

Downloads

Installation instructions
  1. Make sure you've the latest version of TWRP or GearCM Recovery.
  2. Reboot to Recovery mode by combination of Power+Home+Vol(+) buttons.
  3. Select Install from TWRP screen.
  4. Select KudKernel .zip file.
  5. Swipe Flash button.
  6. Finally wipe cache and dalvik. (optional)
  7. Reboot to system.

Known issues
Don't report issues that are already listed here.
  • Kernel status changed from beta to experimental due to some unexpected behavior (continuous FCs, random reboots, etc.). Testers required to test every changes into kernel.
  • Sometimes, CPU will only bump itself up to 1200-1400 MHz. A normal reboot would fix this.
  • This kernel will negate any benchmarking app, since most debugging features have been disabled for best user experience.

More to know...
  • Bug reports without good explanation or logs are ignored.
  • Request for feature(s) that could break stability aren't accepted.
  • You're not allowed to include my kernel as your work's default kernel. Instead, please include KudKernel Lite. (coming soon)

Special thanks
  • Samsung OSRC Team
  • UBER TOOLCHAINS, SaberMod Team
  • Linaro Team
  • CodeAurora Team
  • @frap129 - Hyper Toolchains
  • @osm0sis - AnyKernel2 template
  • @VoLTaqe - Some help
  • @AndreiLux
  • @maxfu
  • @Alberto96
  • @asad007

XDA:DevDB Information
KudKernel [i9500], Kernel for the Samsung Galaxy S4

Contributors
krasCGQ, asad007
Source Code: https://github.com/krasCGQ/KudKernel-universal5410

Kernel Special Features: See above.

Version Information
Status: No Longer Updated
Current Stable Version: v3.3
Stable Release Date: 2016-07-07
Current Beta Version: v5.0_b2
Beta Release Date: 2016-10-11

Created 2016-06-03
Last Updated 2016-11-07
 
Last edited:

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
Status & known issues
  • Totally rebased from a clean source.
  • Compiled using Linaro GCC 6.1.1 instead of Hyper 6.1.x SMxU which I used before on my v1.0-v4.1 kernel releases.
  • Synapse support is removed from the kernel. Use this script by @vishal thakar from now and so on. All bugs and issues regarding Synapse (except for errors due to unimplemented features) should be reported on that thread.
  • Negative Toggle seems do nothing when triggered. (probably won't be fixed)
  • [SRTIKE]Kernel booted, but would freeze in a minute or so, probably something went wrong with my new commits...[/STRIKE] | Fixed in v5.0_b2

Update logs
Last release:
v5.0_b2 (see some latest pages)

Older releases:
v4.1 [29-08-2016]
  • Would be written later. (couldn't remember...)

v4.0 [25-08-2016]
  • Rebased using I9500XXUHPB3 kernel sources
  • Using full ARM, VFPv4, and NEON optimizations
  • Included Stericson's latest BusyBox 1.24.2
  • Reverted kernel version to 3.4.5
  • Added new CPU governors: darkness, lionheart, zzmoove
  • Added new I/O schedulers: bfq, row
  • Added I/O read ahead and swappiness tweaks (might be overridden by kernel tuning app)
  • Added Wolfson sound control
  • Fixed init.d again
  • (Finally) Fixed Private Mode again
  • Disabled Android Logger
  • Disabled WiFi scanning on boot
  • Disabled UKSM by default
  • Disabled useless stuffs
  • Disabled some more debugging stuffs
  • Removed sio I/O scheduler
  • Tweaked UKSM to be more quiet
  • Optimized kernel, check GitHub repo for changes.

v3.3 [07-07-2016]
  • Re-enable all TCP congestion algorhythms

v3.2 [07-07-2016]
  • Patch again the kernel to 3.4.10
  • Compiled with NEON optimization
  • Added tripndroid I/O scheduler (a bit unstable)
  • Added Async Fsync from HTC

v3.1 [06-07-2016]
  • Reverted kernel patch to 3.4.5
  • Added sioplus I/O scheduler
  • Set noop as default I/O scheduler
  • Some ramdisk tweaks:
    - Threw away Knox related commands
    - Deleted 'force-set' cfq as default I/O scheduler
    - Put KudScripts execution command into init.rc instead of init.extra.rc (but KudScripts.sh itself is on /sbin)

v3.0 [05-07-2016]
  • Added mDNIe screen control support
  • Added CPU Voltage control support
  • Fixed ext4 issues
  • Fixed init.d support (it was broken on all versions before)
  • Disabled "Add Random" and "I/O Stats"
  • Disabled almost all debugging stuffs to improve performance
  • Disabled powersave and userspace CPU governors (useless)
  • Tweaked UKSM (using init script inside ramdisk) to use lower CPU resources (20%)
  • Changed ramdisk compression to LZO

v2.1m [27-06-2016]
  • Kernel compiled using Hyper Toolchain 6.1.x, SaberMod with Uber dependencies
  • Enforce the permissive SELinux (unchangeable anymore!)
  • Removed -fgraphite flag (it's useless I think)

v2.0 [19-06-2016]
  • Unlocked all lower A7 frequencies
  • Added UKSM support (using version 0.1.2.3)
  • Added alucard and intelliactive CPU governors
  • Added fiops, sio, and zen I/O schedulers

v1.1 [05-06-2016]
  • Fixed Private Mode
  • Enabled USB-OTG support

v1.0 [03-06-2016]
  • Initial release.
 
Last edited:

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
Configuring KudKernel
  • The latest version of Kernel Adiutor-Mod by @Yoinx is recommended.
  • If you don't know what would you use when tweaking the kernel features, this guide by @gsstudios will help you much, thanks to the detailed information available.

Note:
If you proceed to keep use the original Kernel Adiutor, some of these informations aren't available or may be different because all informations I write are for KA-Mod app.
| No longer applicable as the latest version of the official KA has most KAM features implemented, except SELinux things and Android logger.

CPU
CPU frequencies selection are combined, means that it would applies to either A7 or A15 cores. If power saving mode is on, maximum frequency is limited up to 1200 MHz whatever value greater than 1200 MHz is set.
CPUFreq policy for A7 cores:
100 = 200 MHz
150 = 300 MHz
200 = 400 MHz
250 = 500 MHz
300 = 600 MHz
350 = 700 MHz
400 = 800 MHz
450 = 900 MHz
500 = 1.0 GHz
550 = 1.1 GHz
600 = 1.2 GHz
650 = 1.3 GHz (not enabled)


If you prefer some performance boosts, interactive and intelliactive governors are recommended, where intelliactive governor could drain your battery life more due to more performance bias.

Alucard governor might be better for our CPU as a battery saving governor, either this is bug or not, CPU could only use A7 cores - up to 1.2 GHz - (any CPU monitor would read this as 600 MHz). But, to be honest, alucard governor is working correctly on my ZenFone 2 ZE551ML.

If you prefer the balance between performance and battery life, leaving ondemand as default governor is enough. If you're careless, then try to adjust interactive governor to make the governor more balanced. If you're success, post your value and I'd add it here.

CPU Voltage
This is a dangerous feature. Don't tweak the voltage 'as you like'! Instead, use Global Offset and lower the voltage by (up to) 50 mV. Too low or too high voltage will render your device unusable.

Screen
You could only tweak mDNIe global controls to enable Register Hook and/or Master Sequence.

I/O Scheduler
I'd only tell about read-ahead value. For me, 128 kB is recommended for stability. 1024-2048 kB could be used on most common phones and SD cards, but beware that not all SD cards support high read-ahead value and could damage the SD cards themselves! Be sure that you've a good-quality SD card. Rest of the menus are understandable by yourself.

Kernel Samepage Merging
On my kernel KSM has been replaced by UKSM, which is an improvement over KSM. UKSM is enabled by default here. Sleep between scans will tell KSM to give a time delay before the next scan is performed. This value could be set between 0 ms (no delay) and 5000 ms (5s). Higher the value, less scans are performed, but I don't recommend to set it to 0 ms. The default is 100 ms.

Another value is the maximum CPU usage that would be used by UKSM to perform scans. Most users should set this value to 5-20% (default: 20%) unless you're know what are you doing.

Low Memory Killer
As the name suggests, this would tell Android to kill apps when the device's RAM is low. Leaving this setting on it's default parameters is more than enough, unless you're know what are you doing here because there is a risk if you set it to nearly zero that it would call Out of Memory killer instead that would possibly crash your device.

Virtual Memory
Won't say much, as it's already explained on the kernel app itself. But, I should give you a note, that disabling Dirty Ratio would decrease your battery life a lot, since your CPU will be mostly bumped at the highest frequency!

(Kernel) Entropy
This Wikipedia article would tell you much.

Misc Controls
Please be noted that I forced this kernel to running over Permissive SELinux, so Toggle SELinux button will never work. Android logging could be disabled also via this option, but only applies on current session even after Apply on Boot is enabled.
 
Last edited:

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
zzmoove Predefined Profiles
I take these profiles list directly from cpufreq_zzmoove_profiles.h, but I clean it up to save some space.
Code:
currently available profiles by ZaneZam and Yank555:
 (1)'def'    -> Default              -> will set governor defaults
 (2)'ybat    -> Yank Battery         -> a very good battery/performance balanced setting
                                        DEV-NOTE: highly recommended!
 (3)'ybatext'-> Yank Battery Extreme -> like yank battery but focus on battery saving
 (4)'zzbat'  -> ZaneZam Battery      -> a more 'harsh' setting strictly focused on battery saving
                                        DEV-NOTE: might give some lags!
 (5)'zzbatp' -> ZaneZam Battery Plus -> NEW! reworked 'faster' battery setting
                                        DEV-NOTE: recommended too!:)
 (6)'zzopt'  -> ZaneZam Optimized    -> balanced setting with no focus in any direction
                                        DEV-NOTE: relict from back in the days, even though some people still like it!
 (7)'zzmod'  -> ZaneZam Moderate     -> NEW! setting based on 'zzopt' which has mainly (but not strictly only!) 2 cores online
 (8)'zzperf' -> ZaneZam Performance  -> all you can get from zzmoove in terms of performance but still has the fast
                                        down scaling/hotplugging behaving
 (9)'zzinz'  -> ZaneZam InZane       -> NEW! based on performance with new insane scaling active. a new experience!
(10)'zzgame' -> ZaneZam Gaming       -> NEW! based on performance with scaling block enabled to avoid cpu overheating during gameplay
(11)'zzrelax'-> ZaneZam Relax        -> NEW! based on moderate (except hotplug settings) with relaxed sleep settings

NOTE: be aware when setting tuneables which have a 'should' in comments below that giving
      them 'wrong' values can lead to odd hotplug behaving!

Script tweaks
Until Synapse support is available, all tweaks to some features will be done via init.d script instead.
Code:
#!/system/bin/sh
# KudKernel script tweaks
# by krasCGQ @ xda-developers

##################################################
# Set environment variables
SND=/sys/class/misc/wolfson_control/
SCR=/sys/class/misc/mdnie/

##################################################
# Wolfson sound control

# Headphone amplification
# Left / Right channel volume
# Minimum:  80dB; Maximum: 150dB; Default: 64
echo 64 > ${SND}headphone_left
echo 64 > ${SND}headphone_right

# Mono output
# Values: 0 (Disabled), 1 (Enabled); Default: 0
echo 0 > ${SND}switch_hp_mono

# Speaker amplification
# Main speaker volume
# Minimum: -8dB; Maximum: 16dB; Default: 0.5
echo 0.5 > ${SND}speaker_volume

# Earpiece volume
# Minimum: -8dB; Maximum: 16dB; Default: 0
echo 0 > ${SND}earpiece_volume

# Privacy mode
# Values: 0 (Disabled), 1 (Enabled); Default: 0
echo 0 > ${SND}switch_sp_privacy

# Headphone equalizer settings
# Master switch
# Values: 0 (Disabled), 1 (Enabled); Default: 0
echo 0 > ${SND}switch_eq_headphone

# Band 1 / 2 / 3 / 4 / 5 gain
# Minimum: -12dB; Maximum:  12dB; Default: 0
echo 0 > ${SND}eq_hp_gain_1
echo 0 > ${SND}eq_hp_gain_2
echo 0 > ${SND}eq_hp_gain_3
echo 0 > ${SND}eq_hp_gain_4
echo 0 > ${SND}eq_hp_gain_5

# Speaker equalizer settings
# Master switch
# Values: 0 (Disabled), 1 (Enabled); Default: 1
echo 1 > ${SND}switch_eq_speaker

# Band gains
# Minimum: -12dB; Maximum:  12dB

# Band 1 gain
# Default: 11
echo 11 > ${SND}eq_sp_gain_1

# Band 2 gain
# Default: -7
echo -7 > ${SND}eq_sp_gain_2

# Band 3 gain
# Default: 4
echo 4 > ${SND}eq_sp_gain_3

# Band 4 gain
# Default: -10
echo -10 > ${SND}eq_sp_gain_4

# Band 5 gain
# Default: 0
echo 0 > ${SND}eq_sp_gain_5

##################################################
# Screen controls
# Negative toggle
# Values: 0 (Disabled), 1 (Enabled); Default: 0
echo 0 > /sys/module/cypress_touchkey/parameters/mdnie_shortcut_enabled

# Smearing fix
# Minimum: 0; Maximum: 5; Default: 0
echo 0 > ${SCR}black_increase_value

# Brightness reduction
# Minimum:   0; Maximum: 128; Default: 75
echo 75 > ${SCR}brightness_reduction

# Brightness takeover point
# Minimum:  0; Maximum: 64; Default: 30
echo 30 > ${SCR}brightness_takeover_point

# Auto-brightness input delta
# Minimum:  0; Maximum: 64; Default: 20
echo 20 > ${SCR}brightness_input_delta

# Edge enhancement
# Master control
# Values: 0 (Disabled), 1 (Enabled); Default: 0
echo 0 > ${SCR}hook_control/s_edge_enhancement

# Enhancement control (Amount / Radius / Threshold)
# Minimum: -128; Maximum:  128; Default: 0
echo 0 > ${SCR}hook_control/de_positive_e
echo 0 > ${SCR}hook_control/de_positive_f
echo 0 > ${SCR}hook_control/de_positive_b

# Chroma saturation weight
# Minimum:  0; Maximum: 40; Default: 9
echo 9 > ${SCR}hook_control/cs_weight

# Red / Green / Blue / Yellow / Cyan / Magenta gains
# Minimum:  0; Maximum: 20

# Red gain
# Default: 18
echo 18 > ${SCR}hook_control/cs_red

# Green gain
# Default: 14
echo 14 > ${SCR}hook_control/cs_green

# Blue gain
# Default: 16
echo 16 > ${SCR}hook_control/cs_blue

# Yellow gain
# Default: 19
echo 19 > ${SCR}hook_control/cs_yellow

# Cyan gain
# Default: 10
echo 10 > ${SCR}hook_control/cs_cyan

# Magenta gain
# Default: 16
echo 16 > ${SCR}hook_control/cs_magenta
You could modify it if you want. Save as 01-kudscript.sh and put it on /system/etc/init.d/.
 
Last edited:

robsonsilva

Senior Member
Jan 2, 2015
1,112
1,054
This will certainly be the best kernel for i9500 (tw).
As you did to update the kernel without errors? just edit some zip if you want to make a flasheable later.
 

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
This will certainly be the best kernel for i9500 (tw).
As you did to update the kernel without errors? just edit some zip if you want to make a flasheable later.
I've done about 30+ builds before I managed to release v1.0. I got some boot problems before.

I wanted to set interactive as the default governor but after the screen is off I can't turn it back on (it rebooted instead) so I revert it back to ondemand. Applying it via KA doesn't affect either.

I think I would keep it as a solid .img instead because I'm sure most of users are using TWRP now.

PS: I've even ignored my kernel update for j2lte just to release the i9500 version one. My brother is also got mad to me because I used the shared computer for a prolonged time in 3 days and use my phone (that he often use too) just to doing here and there to release this kernel.

----

Anyone who could tell me how to fix the Private mode could PM me. Thanks in advance.

Sent from my ASUS_Z00A using XDA Labs
 
Last edited:

fAIyaZ

Senior Member
Jul 10, 2015
376
815
ankleshwar
I've done about 30+ builds before I managed to release v1.0. I got some boot problems before.

I wanted to set interactive as the default governor but after the screen is off I can't turn it back on (it rebooted instead) so I revert it back to ondemand. Applying it via KA doesn't affect either.

I think I would keep it as a solid .img instead because I'm sure most of users are using TWRP now.

PS: I've even ignored my kernel update for j2lte just to release the i9500 version one. My brother is also got mad to me because I used the shared computer for a prolonged time in 3 days and use my phone (that he often use too) just to doing here and there to release this kernel.

----

Anyone who could tell me how to fix the Private mode could PM me. Thanks in advance.

Sent from my ASUS_Z00A using XDA Labs


nice to see u here after so many helpful posts at s4 forums.

all the best:good:

and for private mode contact @VoLTaqe , if he has enough time to reply you he will surely help you. :)
 

zozoz13

Senior Member
May 18, 2014
1,005
392
Jakarta
Wow! Glad to see you participate on S4 development party. Hope great features comes very soon to your kernel.
Good luck bro :)

Sent from my Galaxy S4
 
  • Like
Reactions: krasCGQ

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
Change init.container.rc from my ramdisk and it will fix your private mode problem. About default governor do not change from default governor parameter .defconfig change with .sh and it will set some needed parameter with ondemand and change with interactive. Good luck
Wow, you come on the right time!
About the default governor, I think I won't change it anymore. Tweaking with KA is more than enough.
Thanks, Volt!

Sent from my ASUS_Z00A using XDA Labs
 

krasCGQ

Inactive Recognized Contributor
Apr 13, 2015
5,436
4,954
23
Kendari
kud.my.id
Xiaomi Mi 9 SE
Hi, folks!
You may have noticed that I've uploaded v1.0 and v1.1 on DevDB downloads section.
v1.1 is actually released yesterday, but for some reason I upload it today. For now, v1.1 is only available on DevDB downloads section. There are two files: .img and .zip. I want to monitor what would you like to prefer by viewing download counts on both versions.

My job is done here for now. I'd switch to j2lte development or j2lte people will get mad at me! :p

Enjoy!
 
Last edited:
  • Like
Reactions: hansonchen
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    kud_logo.png

    Join KudKernel's Hangouts group for tests builds and previews before every new release.
    Click here to join.


    NOTE: Thread as per v4.1 and may or may not available on last build.

    Code:
    /*
     * Your warranty is now void.
     *
     * I am not responsible for bricked devices, dead SD cards,
     * thermonuclear war, or you getting fired because the alarm app failed. Please
     * do some research if you have any concerns about features included in this KERNEL
     * before flashing it! YOU are choosing to make these modifications, and if
     * you point your finger at me for messing up your device, I will laugh at you.
     */

    Features
    Main features
    • Built using I9500XXUHPB3 kernel source
    • [TW] Built using modified I9500UBUHPG1 ramdisk
    • [CM] Using AnyKernel2 template for unified support
    • Compiled using Hyper Toolchain 6.1.x, SaberMod with Uber dependencies
    • Using -Ofast flag for speed
    • Full ARM and VFPv4 optimizations
    • Updated OSRC to version 3.4.5 (proper implementation)
    • XZ kernel compression
    • [TW] GZIP ramdisk compression
    • Included Stericson's latest BusyBox 1.24.2
    • [TW] SELinux is forced permissive
    • [CM] SELinux disabled
    • A7 frequencies unlocked
    • Kernel debloated from useless features
    • Optimized and patched kernel source

    Key features
    • Ultra Kernel Samepage Merging (UKSM) support (default: Disabled)
    • mDNIe screen, CPU voltage, and Wolfson sound control support
    • Synapse support for screen and audio
    • Using ARM-optimized SHA-1 and AES crypto routines
    • HTC's Asynchronous File Sync (Async Fsync)
    • Init.d support
    • USB-OTG support
    • CIFS, NFS support
    • [CM] F2FS support
    • L2TP, PPP support
    • Selectable CPU governors:
      ondemand (default), interactive, conservative, performance, alucard, darkness, intelliactive, lionheart, zzmoove
    • Selectable I/O schedulers:
      noop (default), row, cfq, deadline, bfq, fiops, sioplus, tripndroid, zen
    • Selectable TCP congestion algorithms:
      westwood (default), cubic, bic, reno, htcp, highspeed, hybla, vegas, scalable, lp, veno, yeah, illinois

    Downloads

    Installation instructions
    1. Make sure you've the latest version of TWRP or GearCM Recovery.
    2. Reboot to Recovery mode by combination of Power+Home+Vol(+) buttons.
    3. Select Install from TWRP screen.
    4. Select KudKernel .zip file.
    5. Swipe Flash button.
    6. Finally wipe cache and dalvik. (optional)
    7. Reboot to system.

    Known issues
    Don't report issues that are already listed here.
    • Kernel status changed from beta to experimental due to some unexpected behavior (continuous FCs, random reboots, etc.). Testers required to test every changes into kernel.
    • Sometimes, CPU will only bump itself up to 1200-1400 MHz. A normal reboot would fix this.
    • This kernel will negate any benchmarking app, since most debugging features have been disabled for best user experience.

    More to know...
    • Bug reports without good explanation or logs are ignored.
    • Request for feature(s) that could break stability aren't accepted.
    • You're not allowed to include my kernel as your work's default kernel. Instead, please include KudKernel Lite. (coming soon)

    Special thanks
    • Samsung OSRC Team
    • UBER TOOLCHAINS, SaberMod Team
    • Linaro Team
    • CodeAurora Team
    • @frap129 - Hyper Toolchains
    • @osm0sis - AnyKernel2 template
    • @VoLTaqe - Some help
    • @AndreiLux
    • @maxfu
    • @Alberto96
    • @asad007

    XDA:DevDB Information
    KudKernel [i9500], Kernel for the Samsung Galaxy S4

    Contributors
    krasCGQ, asad007
    Source Code: https://github.com/krasCGQ/KudKernel-universal5410

    Kernel Special Features: See above.

    Version Information
    Status: No Longer Updated
    Current Stable Version: v3.3
    Stable Release Date: 2016-07-07
    Current Beta Version: v5.0_b2
    Beta Release Date: 2016-10-11

    Created 2016-06-03
    Last Updated 2016-11-07
    8
    Status & known issues
    • Totally rebased from a clean source.
    • Compiled using Linaro GCC 6.1.1 instead of Hyper 6.1.x SMxU which I used before on my v1.0-v4.1 kernel releases.
    • Synapse support is removed from the kernel. Use this script by @vishal thakar from now and so on. All bugs and issues regarding Synapse (except for errors due to unimplemented features) should be reported on that thread.
    • Negative Toggle seems do nothing when triggered. (probably won't be fixed)
    • [SRTIKE]Kernel booted, but would freeze in a minute or so, probably something went wrong with my new commits...[/STRIKE] | Fixed in v5.0_b2

    Update logs
    Last release:
    v5.0_b2 (see some latest pages)

    Older releases:
    v4.1 [29-08-2016]
    • Would be written later. (couldn't remember...)

    v4.0 [25-08-2016]
    • Rebased using I9500XXUHPB3 kernel sources
    • Using full ARM, VFPv4, and NEON optimizations
    • Included Stericson's latest BusyBox 1.24.2
    • Reverted kernel version to 3.4.5
    • Added new CPU governors: darkness, lionheart, zzmoove
    • Added new I/O schedulers: bfq, row
    • Added I/O read ahead and swappiness tweaks (might be overridden by kernel tuning app)
    • Added Wolfson sound control
    • Fixed init.d again
    • (Finally) Fixed Private Mode again
    • Disabled Android Logger
    • Disabled WiFi scanning on boot
    • Disabled UKSM by default
    • Disabled useless stuffs
    • Disabled some more debugging stuffs
    • Removed sio I/O scheduler
    • Tweaked UKSM to be more quiet
    • Optimized kernel, check GitHub repo for changes.

    v3.3 [07-07-2016]
    • Re-enable all TCP congestion algorhythms

    v3.2 [07-07-2016]
    • Patch again the kernel to 3.4.10
    • Compiled with NEON optimization
    • Added tripndroid I/O scheduler (a bit unstable)
    • Added Async Fsync from HTC

    v3.1 [06-07-2016]
    • Reverted kernel patch to 3.4.5
    • Added sioplus I/O scheduler
    • Set noop as default I/O scheduler
    • Some ramdisk tweaks:
      - Threw away Knox related commands
      - Deleted 'force-set' cfq as default I/O scheduler
      - Put KudScripts execution command into init.rc instead of init.extra.rc (but KudScripts.sh itself is on /sbin)

    v3.0 [05-07-2016]
    • Added mDNIe screen control support
    • Added CPU Voltage control support
    • Fixed ext4 issues
    • Fixed init.d support (it was broken on all versions before)
    • Disabled "Add Random" and "I/O Stats"
    • Disabled almost all debugging stuffs to improve performance
    • Disabled powersave and userspace CPU governors (useless)
    • Tweaked UKSM (using init script inside ramdisk) to use lower CPU resources (20%)
    • Changed ramdisk compression to LZO

    v2.1m [27-06-2016]
    • Kernel compiled using Hyper Toolchain 6.1.x, SaberMod with Uber dependencies
    • Enforce the permissive SELinux (unchangeable anymore!)
    • Removed -fgraphite flag (it's useless I think)

    v2.0 [19-06-2016]
    • Unlocked all lower A7 frequencies
    • Added UKSM support (using version 0.1.2.3)
    • Added alucard and intelliactive CPU governors
    • Added fiops, sio, and zen I/O schedulers

    v1.1 [05-06-2016]
    • Fixed Private Mode
    • Enabled USB-OTG support

    v1.0 [03-06-2016]
    • Initial release.
    8
    Hi everyone...
    I've read all suggestions and here's the currently workmap for the next version:
    Note: It would be potential for me to jump over to v2.0 due to upcoming major changes I've done.
    • Implemented UKSM v0.1.2.3
    • Unlocked all A7 frequencies
    • Set A7 frequency limit between 250-1200 MHz and A15 frequency limit between 1300-1600 MHz.
    • Porting Samsung codes to fully support GCC 6.0 (WIP; approx. 40% done); also need to tweak Makefile so it would skip some warnings because nothing could be done...

    It's all done on my very own PC now. It would be signed with a new RSA 4096 bit key and will available only on a .zip file based on download counts.

    And yet, I need to take a rest. It's late night here.
    Oyasumi~~
    If you need a spoiler about what word is this:
    Oyasumi is a Japanese word that means good night.
    A bit off-topic, is it?


    Sent from my ASUS_Z00A using XDA Labs
    8
    Change init.container.rc from my ramdisk and it will fix your private mode problem. About default governor do not change from default governor parameter .defconfig change with .sh and it will set some needed parameter with ondemand and change with interactive. Good luck
    7
    I'm trying to implement Synapse support into the kernel, plus Indonesian localization :D

    Hope it's going well guys!

    A spoiler attached :p

    Sent from my ASUS_Z00A using XDA Labs