[Galaxy S 4 i9505 Android Development] luiwii:
Home Samsung Galaxy S 4 i9500, i9505, i9505G, i9506 Galaxy S 4 i9505 Android Development [NOV 3][Machinex][Mark39][KERNEL][TW][5.0.1][I9505] by robcore

Reply Rating: 5

Page 1 of 89

Page 1 of 89

Page 2

Page 3

Page 4

Page 5

Page 6

Page 7

Page 8

Page 9

Page 10

Page 11

Page 12

Page 13

Page 14

Page 15

Page 16

Page 17

Page 18

Page 19

Page 20

Page 21

Page 22

Page 23

Page 24

Page 25

Page 26

Page 27

Page 28

Page 29

Page 30

Page 31

Page 32

Page 33

Page 34

Page 35

Page 36

Page 37

Page 38

Page 39

Page 40

Page 41

Page 42

Page 43

Page 44

Page 45

Page 46

Page 47

Page 48

Page 49

Page 50

Page 51

Page 52

Page 53

Page 54

Page 55

Page 56

Page 57

Page 58

Page 59

Page 60

Page 61

Page 62

Page 63

Page 64

Page 65

Page 66

Page 67

Page 68

Page 69

Page 70

Page 71

Page 72

Page 73

Page 74

Page 75

Page 76

Page 77

Page 78

Page 79

Page 80

Page 81

Page 82

Page 83

Page 84

Page 85

Page 86

Page 87

Page 88

Page 89

DiscussionScreenshotsReviewsFeature RequestsBug Reports

Follow Project

robcore

05-09-2016, 10:03 AM |#1

OP Senior Member567 posts Thanks: 365

Machinex

Mark39

"I don't think you comprehend the level of insane I operate at."

This is machinex.

This is machinex. I have been working on this kernel for over a year now, and am finally comfortable with its release to the public. This kernel builds on the great work of those who have made this device the powerhouse that it is. There are elements here that you have experienced on every GS4 kernel to date, as well as other devices.

The goal I had for this project was upstreaming/updating/experimentally upgrading as much as I possibly could. I have done so.

OBLIGATORY DISCLAIMER:

THIS KERNEL COULD VERY WELL DESTROY YOUR PHONE, YOUR LIFE, YOUR MARRIAGE, Etc. YOU INSTALL AT YOUR OWN RISK!! XDA AND I ACCEPT NO LIABILITY FOR YOUR DECISION TO USE THIS KERNEL!!For noobs: assume that installing this kernel will cause your phone to grow arms and punch you in the face.

PLEASE READ AND UNDERSTAND THIS OP BEFORE LEAVING USELESS "IT DOESN'T WORK" COMMENTS!

Issues that aren't answered here will be dealt with on a case-by-case basis.

SEE POST #2 FOR UPDATES, CHANGELOGS, Bugs and FIXES

SEE POST #3 FOR BATTERY/PERFORMANCE INFO

SEE POST #4 FOR A SHORT SYNAPSE BRIEFING

COMPATIBILITY

Remove fps and max.events.per.second tweaks from build.prop

LOGS OR IT DIDN'T HAPPEN!

FEATURES:

- Linux 3.4.113 + a LOT of upstreamed subsystem code.

- A ton of sweet governors:electrodemand, electroactive, arteractive, hellsactive, bacon, elementalx, preservative, yankdemand, yankactive, intellidemand, alucard, intelliactive, interactive, conservative, stockdemand, userspace, powersave, ondemand, uberdemand, performanceSmartmax_EPS, Impulse, Ondemand_X, Darkness, Nightmare, blu_active, bioshock, and Lionheart. For a great, comprehensive blog regarding the specifics of each governor, as well as the settings found below, please check out the link I've referenced in post #3.

- HARDLIMIT: Incorporated Yank555's CPU Limiting solution, Hardlimit 2.2. DVFS is disabled in kernel, so hardlimit dvfs control was left out. You have had full control over scaling this whole time, except for governor/hotplug-related changes that were out of our hands. With Cpu HardLimit, that control is in our hands once again.

- Hotplugs: Alucard Hotplug (default), latest Intelliplug 5.4, MSM_hotplug, MSM_sleeper, Lazyplug, BluPlug, Mako Hotplug, and Bricked hotplug. Note: stock mpdecision is not supported by this kernel, and bricked hotplug is its replacement (it's called mpdecision in the ksysfs, but is all bricked baby). Maaaaybe more to come.

Hotplug Note: I changed the names of certain functions in the Alucard and MSM Sleeper hotplugs, so that their tunables could be streamlined in Synapse. Synapse is cleaner and simpler than ever, but if you use a third party app, Alucard and MSM Sleeper's max cores and max cores during suspend settings will not be tunable. So anyone who uses a third party app with this kernel let me know and I'll devise a workaround.

- Intellithermal - faux123's thermal replacement. NO Thermald

-GPU:Faux's SIMPLE governor, alongside tweaks from Franco for battery saving and snappy performance.

-Updated version of fauxsound (4.3) (flar2, alesaiko). I limited the options in the code to the 4 controls that actually work for our device, and you'll notice a significant stability improvement. Slimbus:Golden-ratio-based operation is pristine. Sound quality is hardware-perfected.

-A gamot of colour, brightness, and panel options that I frankly didn't think would be feasible for our device, but it's working! MDNIE Profile selection, KCAL, and Cyanogen's generic PCC colour control are implemented in Synapse. Note that MDNIE/KCAL stuff is a battery thief, and I've not tested PCC colour control enough for power consumption to give you a definitive statement on it. Note: PCC values are from 1000 (safety limit) to 32768 (or a number close to that), meaning your tuning control is as FINELY GRAINED as possible for this device. I can't believe Synapse actually supports its ridiculous number of steps (and well, I might add). Faux's generic "colour control presets' are in there too but I don't think they actually work. However, including them in the kernel makes the stock colours much more vivid, so they remain.

-HBM:Qualcomm High Brightness Mode: unlocked! I put on and off buttons in Synapse, but you can also use flar2's HBM widget from the play store. I tried it before and HBM would flicker, but i pulled off a VERY hacky way of making it userspace controllable. Be careful! Though it doesn't seem to drain the battery or overheat the device, it's purely experimental and could cause Chuck Norris to come to your house and personally smash your phone. On/off sequences are: echo 6 > /sys/class/backlight/panel/auto_brightness for on or 0 for off. "SCREEN FLICKER FIX" on PAGE 2

- Completely upstreamed and overhauled cpu, power, scheduling...you name it. I got rid of early suspend and implemented autosleep with faux's power suspend/panel hooks.Leave powersuspend alone, "user control" is really a useless option. Panel hook works perfectly.

-All the TCPIP tweaks etc, updates to random/frandom, android-specific autogrouping, limited but significant LMK/OOM updates.

-persistent ram, kexec-support, fast-charge, etc. Drop Caches button in Synapse is useful.

-BOOTLOADER: Officially only 5.0.1 Bootloaders are supported. Unofficially, someone tried it with a KK bootloader and it worked fine for him so what do I know?

-COMPLETE Synapse support. Download, update, AND install Busybox On Rails from the PlayStore before you install the kernel for best compatibility and support. Upon kernel installation, you'll find Synapse installed in your system apps. If you want to get rid of it, just remove it from /system/priv-app with your file manager.

-CPU and GPU VOLTAGE Control: Both in Synapse. I DO NOT SUPPORT ISSUES IF YOU CHANGE VOLTAGE. YOU ARE ON YOUR OWN.

MENTIONS:

To those listed here, I cannot express how grateful I am for your assistence, patience, and kindness towards me as I badgered you throughout my journey. Though saying "thank you" doesn't feel like enough, thank you all. If I missed someone here, please tell me.

Thankyou:

friedrich420

Slim80

Tkkg1994

flar2

osm0sis

alesaiko

HybridMax

Kushan

Alucard24

Ausdim

Ktoonsez

neobuddy89

javelinanddart

Andreilux

theHacker911

UpInTheAir

Pafcholini

Dorimanx

faux123 (seriously like the godfather of s4 kernel hax)

jcadduono

FransiscoFranco

Cyanogen

Meticulus

Eliminator74

Matthew-333 (moonshine kernel)

klabit87

apbaxel

yank555

ion-storm

yseras

PDesireAudio

lsswizard

arter97

Grarek

mrg666

showp1984

gsstudios

Lord Boeffla (andip)

Chainfire

TeamTrickster

My Awesome Testers from this thread.

Again, I'm sure there's tons more.

On to the fun part then

INSTALLATION INSTRUCTIONS:More importantly, the uninstallation instructions. The install pretty much takes care of itself.

There are two links below that you must download in order to safely have an install/uninstall solution for this kernel. The one labelled "machinex-Mark39.zip" is the kernel. Just make sure to install busybox on rails from the PlayStore https://play.google.com/store/apps/d...busyboxonrails before flashing the zip in TWRP (only method I tested) and you're all set. The second zip is crucial for uninstalling, aptly named "machinex-uninstaller.zip." When this kernel is installed (and everytime it boots), it will rename mpdecision, thermald, thermal-engine, and power.default.so with an appended "-bak" suffix, because they all interfere with the updated power/cpu code in the kernel. If you switch to a different kernel, I INSIST that you flash the uninstaller (or take a look at the scripts yourself and do the stuff manually), and I recommend that you flash Slim80's kernel cleaning script if coming from a CUSTOM kernel. ATTENTION: SLIM80'S KERNEL CLEANING SCRIPT IS NO LONGER NECESSARY WHEN FLASHING THIS KERNEL!!!!!! I HAVE INTEGRATED MY OWN CLEANUP PROCESS IN THE INSTALLER!!!!!!!!!!

TLDR: install busybox on rails, flash zip. use uninstaller zip to uninstall.

YOU NEED THIS!!!!! ---->>>> https://play.google.com/store/apps/d...busyboxonrails

DOWNLOADS:

FRIDAY SEP 16, 2016:UPDATE!! NEW UNINSTALLER for EVERY VERSION!!!! OLDER UNINSTALLERS ARE BROKEN!!!

DO NOT MIRROR THESE ELSEWHERE. DO NOT INCLUDE THEM IN YOUR ROM WITHOUT ASKING MY PERMISSION FIRST. I AM HAPPY TO COLLABORATE, NOT TO BE ON THE RECEIVING END OF BUG REPORTS CAUSED BY THIRD PARTY DOWNLOADERS.

UNINSTALLER: https://www.androidfilehost.com/?fid=24651430732238452

md5: 0fcb7f7bbd5bf51600e5a6fa347b3d01

Mark39

INSTALLER: https://www.androidfilehost.com/?fid=312978532265370802

md5: e4db45fb6a6f8d1f54ea1557edb3dca5

SOURCE: https://www.github.com/robcore/machinex

(be gentle on my ridiculous commit history, my git skills are shoddy at best).

So keep in mind this a development thread, blah blah blah, but if we all have good discussions (let's TRY to keep it on topic), I'm more than happy to have some fellow nerd friends to talk about my passion with. Heck, I want to use this thread as a chance to meet some other developers who wanna work on stuff together, exchange ideas, learn, and teach me how to get better at git.

Enjoy!

XDA:DevDB Information

Machinex, Kernel for the Samsung Galaxy S4

Contributors

robcore

Source Code: https://www.github.com/robcore/machinex

Kernel Special Features:

Version Information

Status: Stable

Current Stable Version: Mark39

Stable Release Date: 2016-11-02

Created 2016-09-05

Last Updated 2016-11-03

Attached Thumbnails

Click image for larger version

Name:	Screenshot_2016-10-30-13-04-01.png

Views:	408

Size:	237.5 KB

ID:	3920833 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-12.jpg

Views:	414

Size:	167.5 KB

ID:	3920834 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-17.jpg

Views:	402

Size:	189.0 KB

ID:	3920835 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-22.png

Views:	372

Size:	207.2 KB

ID:	3920836 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-27.jpg

Views:	360

Size:	177.7 KB

ID:	3920837 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-31.jpg

Views:	356

Size:	214.4 KB

ID:	3920838 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-36.jpg

Views:	326

Size:	180.7 KB

ID:	3920839 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-41.png

Views:	318

Size:	250.3 KB

ID:	3920840 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-46.jpg

Views:	312

Size:	163.2 KB

ID:	3920841 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-55.jpg

Views:	302

Size:	157.5 KB

ID:	3920842 Click image for larger version

Name:	Screenshot_2016-10-30-13-04-59.jpg

Views:	298

Size:	161.4 KB

ID:	3920843 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-04.png

Views:	280

Size:	230.7 KB

ID:	3920844 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-08.png

Views:	270

Size:	226.0 KB

ID:	3920845 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-12.png

Views:	270

Size:	242.7 KB

ID:	3920846 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-16.jpg

Views:	264

Size:	175.8 KB

ID:	3920847 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-21.png

Views:	262

Size:	243.2 KB

ID:	3920848 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-25.jpg

Views:	266

Size:	160.9 KB

ID:	3920849 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-30.png

Views:	258

Size:	202.7 KB

ID:	3920850 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-34.jpg

Views:	258

Size:	170.8 KB

ID:	3920851 Click image for larger version

Name:	Screenshot_2016-10-30-13-05-39.png

Views:	252

Size:	161.9 KB

ID:	3920852

22 users say Thank You to robcore for this useful post Gift robcore Ad-Free

Similar Samsung Galaxy S 4 i9500, i9505, i9505G, i9506 threads on XDA

[ROM][XXUHOF2][26/07][5.0.1]PhoeniX ROM v11.6 - UPSM-Toolbox-Private Mode And More!

|ROM|★GOLDENEYE★|►XXUHOD7 LOLLiPOP TW◄|5.1.15|★

[ROM]【5.1】【JFLTE-GPE】 - 10-21 -2015

[ROM] Albe95 LolliROM 9.0 (15/05/16) [HPA1][S6/S7/N4/N5 Feature]

[ROM][I9505][XXUHOF2][18Jul] Omega v42.1●►Omega Files◄●Fully Modded●►

robcore

05-09-2016, 10:03 AM |#2

OP Senior Member567 posts Thanks: 365

Reserved

UPDATES NOTICE:

Reset your fuelguage (in Synapse) after every install!

-------------------------------------------------------------------------

UPDATES - Mark39 - November 3, 2016

CHANGELOG:

- I can't sleep, so I tinker. Seriously, though I'm not Tony Stark, his lines often resonate with me.

- MASSIVE update to the driver core code, including fixes for mmc, pm runtime, pm qos, and driver entry/exit/handling code. This bad boy fixes a lot of issues we have seen, though it remains to be seen what it might have broken. ;)

See my poorly formatted wiki for older updates:

https://github.com/robcore/machinex/wiki

-----------------------------------------------------------------------

FIXES

The following fixes involve sqlite and the "Setting Storage" application, also known as Settings Provider, or "com.android.providers.settings package" You will be working with a file named settings.db, and the 'system' table within.

Synapse Cancelled Fix: Get rid of the init.d scripts that are conflicting with UCI service startup.

Sound Fix: Either don't use an audio mod, or don't use Faux Sound Engine. That's all she wrote.

ScreenFlickerFix: Using an SQLITE DB Editor of your choice (from playstore), navigate to the "system" table and change values for "dim_screen" and "intelligent_screen_mode" to 0.

ChargingTweak: Same as above but change "adaptive_fast_charging" to 0. This is only IF you are having issues which kernel driver-level fast charge.

VibrationBoost: This seriously made my vibration a million times more consistent and way stronger. Same as above but change "haptic_feedback_extra" to 1. Actually since MarkTwelve not sure if you'll need it, but I'll leave the info here anyway.

SuperSU: I'm seeing a lot of permisison errors. Make sure, when using custom roms and kernels, that SuperSU is set to be as permissive as possible so you don't get knox blocked. Here are the crucial settings:

- ENABLE SU during boot

- DISABLE (untick) Mount namespaces separation

- Install SuperSU into /system

- ENABLE Trust System User

Those settings are kinda par for the course when it comes to android modding.

build.prop: Here is a list of property removals/changes recommended for our device:

REMOVE(lines containing):

ANYTHING with "fps/FPS" in it.

persist.sys.NV_FPSLIMIT

persist.sys.NV_POWERMODE

persist.sys.NV_PROFVER

persist.sys.NV_STEREOCTR

persist.sys.NV_STEREOSEPCHG

persist.sys.NV_STEREOSEP

persist.af.resampler.quality

af.resample

persist.af.resample

ro.telephony.default_network

telephony.lteOnCdmaDevice

dalvik.vm.dexopt-flags

ro.media.enc.jpeg.quality

ro.media.enc.hprof.vid.fps

ro.ril.power_collapse

ro.ril.sensor.sleep.control

pm.sleep_mode

power.saving.mode

persist.cust.tel.eons

persist.sys.dalvik.hyperthreading

boot.fps

shutdown.fps

debug.egl.profiler

hw2d.force

hw3d.force

video.accelerate.hw

debug.mdpcomp.maxlayer

debug.egl.buffercount

debug.enabletr

ro.hwui.renderer.disable_opaque

persist.sys.media.use-awesome (this is default anyway, and is controlled via the nuplayer checkbox in developer settings, so it's unneccesary)

CHANGE:

persist.sys.storage_preload=0 to persist.sys.storage_preload=1

tunnel.decode=false to tunnel.decode=true

af.resampler.quality=4 (or anything else) to af.resampler.quality=255

ro.config.dha_ils_enable=false to ro.config.dha_ils_enable=true

#ro.config.dha_cached_max=4 (remove the #)

#ro.config.dha_empty_max=36 (remove the #)

#ro.config.dha_lmk_scale=0.594 (remove the #)

sys.config.samp_spcm_enable=false to sys.config.samp_spcm_enable=true

sys.config.spcm_preload_enable=false to sys.config.spcm_preload_enable=true

ro.security.mdpp.ux=Disabled to ro.security.mdpp.ux=Enabled

For those having gaming issues, try removing them if you have them or adding them if you don't:

debug.performance.tuning=1

persist.sys.ui.hw=1

I have to change all this in buildprop, I'm on 1.5 thor someone who has installed the kernel could tell me to delete and change confuses me a bit, thanks for the kernel, and its time keeping alive our s4