[App][Rooted]KPPD Control[4.4+][Oreo Compatible now!]

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
KPPD Control

Hey everyone! I know many of you are a big fan of @savoca 's KCal daemon KPPD. It is KCal for select chip sets on rooted phones that do not have KCal built into the kernel, or for phones that the KCal only partly supports.

KCal is a tool for adjusting the color, saturation, contrast, etc., of your screen, post processed. That means it happens after the image is drawn, and only affects what you visually see, so a screenshot is not affected by this. this helps you make your display show true black, and all sorts of cool color effects!

You can read more about KCal here:
https://forum.xda-developers.com/showthread.php?t=3165247

And a couple of quotes from savoca:
Hello all! If you're familiar with*KCAL*and suffer from symptoms such as a locked bootloader or non-loadable kernel modules then you may be interested in KCAL Post-Processing Daemon, or KPPD - the all-in-one display tuning tool that you can use to customize your color calibration on the fly!

This does NOT require an unlocked bootloader, custom kernel, or even a kernel that supports module loading, just run the daemon and you're good to go!

A once *very* device dependent feature now made available for the following chipsets:

Quote:

8x10
8974 v1.0
8x26 v1.0
8x26 v2.0, 8926 v1.0
8926 v2.0
8974 v2.0
8974 v3.0 (Pro)
8084 v1.0
8084 v1.1
8994 v1.0
8916 v1.0
8939 v1.0
8092 v1.0
However, the LG G4 has an 8992 chip, and it works too. So you could always try it if you have a Qualcomm chip. Be sure to let us know the results!

All the credit for KPPD goes to savoca. Using his tools used to require installation at the terminal or with ADB. Then, to make changes required hand editing a text file. But praise God, not anymore! now you can just use this app to handle everything from installation to making adjustments!

Feel free to give it a try! I made this app under the Apache 2.0 license, so fell free to borrow anything you need!

After install, you must give the app permission to read/write to the phone.
Go to:
Settings --> apps --> kppd --> permissions
And turn on storage.

Note: If you turned on storage permissions, but it still says "error, check permissions" then go to your sdcard, and create a folder called "documents" (if it doesn't exist) and in that folder, create an empty file called "kppd.conf". Then try the app again. This happens on some ROMs, and I'm not sure why.

Google Play Store:
https://play.google.com/store/apps/details?id=com.alaskalinuxuser.kppdcontrol

GitHub: (The app folder has a copy of the apk as well, if you don't use the play store.)
https://github.com/alaskalinuxuser/app_kppdcontrol


I have only tested this on a T-Mobile LG G4, but it should work on any KPPD/KCal compatible (mdp5) device.
Enjoy! And feel free to comment!

1500594551169.jpg

Sent from my LG-H811 using XDA-Developers Legacy app
 
Last edited:

addy692

Senior Member
Oct 19, 2016
695
332
0
KPPD Control

Hey everyone! I know many of you are a big fan of @savoca 's KCal daemon KPPD. It is KCal for select chip sets on rooted phones that do not have KCal built into the kernel, or for phones that the KCal only partly supports.

KCal is a tool for adjusting the color, saturation, contrast, etc., of your screen, post processed. That means it happens after the image is drawn, and only affects what you visually see, so a screenshot is not affected by this. this helps you make your display show true black, and all sorts of cool color effects!

You can read more about KCal here:
https://forum.xda-developers.com/showthread.php?t=3165247

All the credit for KPPD goes to savoca. Using his tools used to require installation at the terminal or with ADB. Then, to make changes required hand editing a text file. But praise God, not anymore! now you can just use this app to handle everything from installation to making adjustments!

Feel free to give it a try! I made this app under the Apache 2.0 license, so fell free to borrow anything you need!

Google Play Store:
https://play.google.com/store/apps/details?id=com.alaskalinuxuser.kppdcontrol

GitHub: (The app folder has a copy of the apk as well, if you don't use the play store.)
https://github.com/alaskalinuxuser/app_kppdcontrol


I have only tested this on a T-Mobile LG G4, but it should work on any KPPD/KCal compatible (mdp5) device.
Enjoy! And feel free to comment!
Thanks sir
This is what i wanted

To change values everytime editing the file was very messy


Thanks sir

And also to savoca
 
  • Like
Reactions: AlaskaLinuxUser

rocker00

Senior Member
Jun 23, 2012
480
484
93
@AlaskaLinuxUser thank you so much for this.
i used to use kcal on my sony xperia z2 on stock marshmallow rom with compiled kcal module but now i am on resurrection remix android 7.1.2 (aosp base), i installed the app but i can only adjust RGB same like the built in feature live display but i can't adjust anything else like contrast saturation,values...etc, from what i readed i should be able to adjust everything same like kcal even without custom kernel ! or should the kernel supports kcal to be able to adjust everything ?
thanks again for the app :) .
 
Last edited:
  • Like
Reactions: AlaskaLinuxUser

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
@AlaskaLinuxUser thank you so much for this.
i used to use kcal on my sony xperia z2 on stock marshmallow rom with compiled kcal module but now i am on resurrection remix android 7.1.2 (aosp base), i installed the app but i can only adjust RGB same like the built in feature live display but i can't adjust anything else like contrast saturation,values...etc, from what i readed i should be able to adjust everything same like kcal even without custom kernel ! or should the kernel supports kcal to be able to adjust everything ?
thanks again for the app :) .
rocker00,

Thanks for the kind words.

Two thoughts:

#1. Could you open the /sdcard/documents/kppd.conf file, and manually edit it to pa version 1 instead of 2? Then try editing (manually) the file values and press save. Does that work? Be sure before hand to open the app and enable once to get the kppd running. This will see if you have pa version 1 or 2. My app is only set up for version 2, but I may need to make a settings page for version 1 or 2.

#2. If you manually install per savoca's kppd thread (link in op) does it work? If not, then it is a problem with the kppd, not my app.

I am not trying to duck the problem. Just trying to isolate if it is my app or kppd itself. I didn't make kppd, and kppd may need to be specifically edited and compiled for your phone, I'm not sure. Was there ever a working kppd (not KCal, which is in the kernel) for your phone?

Also, for grins, can you send me a log cat when it fails to work?

Thanks!

Sent from my LG-H811 using XDA-Developers Legacy app
 

rocker00

Senior Member
Jun 23, 2012
480
484
93
rocker00,

Thanks for the kind words.

Two thoughts:

#1. Could you open the /sdcard/documents/kppd.conf file, and manually edit it to pa version 1 instead of 2? Then try editing (manually) the file values and press save. Does that work? Be sure before hand to open the app and enable once to get the kppd running. This will see if you have pa version 1 or 2. My app is only set up for version 2, but I may need to make a settings page for version 1 or 2.

#2. If you manually install per savoca's kppd thread (link in op) does it work? If not, then it is a problem with the kppd, not my app.
Edit: @AlaskaLinuxUser tried to install manually without you app, same result ! can't adjust anything except RGB ! also tried your idea to change pa from 2 to 1 but also the same result ! so the problem is not the app, the problem is kppd itself or something in the rom ! thank you so much for the app and for trying to help and also lets wait for feedback for other users.
best regards :)
I am not trying to duck the problem. Just trying to isolate if it is my app or kppd itself. I didn't make kppd, and kppd may need to be specifically edited and compiled for your phone, I'm not sure. Was there ever a working kppd (not KCal, which is in the kernel) for your phone?

Also, for grins, can you send me a log cat when it fails to work?

Thanks!

Sent from my LG-H811 using XDA-Developers Legacy app
Thanks for trying to help and yeah sure i understand you are just trying to figure out where is the problem !
i will do what you said and i will let you know the result.
Thanks.
Edit: @AlaskaLinuxUser tried both ideas, changing pa form 2 to 1 & installing manually without your app but still the same result ! only able to adjust RGB ! so, obviously the problem is not the app itself but in kppd or something in the rom !
anyway thank you so much for the app and for trying to help and also lets wait for feedback from the other users !
best regards :).
 
Last edited:
  • Like
Reactions: AlaskaLinuxUser

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
Thanks for trying to help and yeah sure i understand you are just trying to figure out where is the problem !
i will do what you said and i will let you know the result.
Thanks.
Edit: @AlaskaLinuxUser tried both ideas, changing pa form 2 to 1 & installing manually without your app but still the same result ! only able to adjust RGB ! so, obviously the problem is not the app itself but in kppd or something in the rom !
anyway thank you so much for the app and for trying to help and also lets wait for feedback from the other users !
best regards :).
Do you have a link to the threads with the compiled kcal module? savoca made kppd open source, so if the thread has any clue to the girth commits to make it work on your phone, perhaps there is something we can do. Perhaps, no promises, and it's a long shot.... :)

Sent from my LG-H811 using XDA-Developers Legacy app
 

rocker00

Senior Member
Jun 23, 2012
480
484
93
Do you have a link to the threads with the compiled kcal module? savoca made kppd open source, so if the thread has any clue to the girth commits to make it work on your phone, perhaps there is something we can do. Perhaps, no promises, and it's a long shot.... :)

Sent from my LG-H811 using XDA-Developers Legacy app
here is the thread for the module https://forum.xda-developers.com/crossdevice-dev/sony/5-x-kcal-module-flashable-t3159869 , the rom which i am using right now supposed to use 3.10 kernel but it uses 3.4 kernel to have a fully working camera due to the lack of camera blobs source from sony, since i am not linux user unfortunately i don't know anything about compiling :D but i also feel that it's a little bit complicated in this case !
Thank you so much :)
 
  • Like
Reactions: AlaskaLinuxUser

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
I'm assuming that because this deals with modifying the kernel that you have to have an unlocked boot loader. Which means this won't work for a Verizon LG G4?
This actually does not require an unlocked boot loader. The KPPD daemon runs in user space, but root is required. I have only tested on the T-Mobile G4, but it should work on any rooted G4.

I would appreciate hearing your results if you have time to test it. :D

Sent from my LG-H811 using XDA-Developers Legacy app
 

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
Does not work on LG G5 :(
Thanks for testing it!

Question: did it not work at all? Did the r g b multipliers work, or just not at all?

Sorry, just read up on the LG G5, it has an 8996 chip, which savoca did not list as applicable. Then again, neither is the G4's chip, the 8992, but it works on the G4 anyways. Sorry that it does not work on the G5.



Also, if you have time did savoca's original kppd work? Sorry for all all the questions. Thanks for taking the time to test it!

Forgive my ignorance, too, but is the G5 chose on the list of chips in the OP (just updated, was not there before now)?

If so, which version? Notice in the text file there is a "pa" version. You may need to change to 1, 2, or 3 depending on your version. If that is the case (and them editing the text file works) I could add a settings for version number also.


Sent from my LG-H811 using XDA-Developers Legacy app
 
Last edited:
  • Like
Reactions: darazor

Ghisy

Senior Member
Mar 27, 2010
1,377
197
83
Hi there!

Would this tool work on a Nexus 6P running Pure Nexus with ElementalX kernel? I had been using savoca's Color Control app but it doesn't work anymore on Nougat.

Thanks!

Sent from my Nexus 6P
 
Last edited:
  • Like
Reactions: AlaskaLinuxUser

AlaskaLinuxUser

Senior Member
Oct 23, 2015
1,942
4,073
0
Fairbanks
thealaskalinuxuser.wordpress.com
Hi there!

Would this tool work on a Nexus 6P running Pure Nexus with ElementalX kernel? I had been using savoca's Color Control app but it doesn't work anymore on Nougat.

Thanks!

Sent from my Nexus 6P
Great question!

Yes, it should work.

On the original kppd thread (link in OP) a 6P was using it. They did mention a specific 6P glitch, though, that if you had the screen off when kppd applied, the colors would look funny. So give it a try, but keep that glitch in mind, you may not want the set on boot.

Sent from my LG-H811 using XDA-Developers Legacy app
 
  • Like
Reactions: darazor

marn3us

Senior Member
Sep 15, 2013
372
181
0
Thanks for the awesome job! This app makes KPPD so much easier to use :)

Btw, does anybody have a display-calibrating tool to find the right values to have the G4 calibrated to sRGB colorspace?

I'm asking because most of the internet content is sRGB so it would be amazing to achieve a better calibration on our G4 (which has horrible factory calibration).

Thanks in advance :)
 
  • Like
Reactions: AlaskaLinuxUser

ReDuXX528

Senior Member
Feb 26, 2015
160
31
48
Hello!

Im using a RN4x with snapdragon 625. I can't get that app to be working :/ i gave it already root permissions and to memory, but it still says "Error: Please check permissions". What's wrong?
 
  • Like
Reactions: AlaskaLinuxUser

mvaenskae

Member
Mar 8, 2014
20
6
0
Hello!

Im using a RN4x with snapdragon 625. I can't get that app to be working :/ i gave it already root permissions and to memory, but it still says "Error: Please check permissions". What's wrong?
Cheers,

reporting the same issue on latest Xiaomi.eu Beta-7.7.20 and working Magisk 13.3 on a Xiaomi Redmi Note 4 Global Edition.
Logcat reports the following for the application using
Code:
adb logcat *:W
Code:
07-27 16:48:37.904  9538  9538 W System.err: java.io.FileNotFoundException: /storage/emulated/0/kppd (Permission denied)
07-27 16:48:37.905  9538  9538 W System.err:    at java.io.FileOutputStream.open(Native Method)
07-27 16:48:37.905  9538  9538 W System.err:    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
07-27 16:48:37.905  9538  9538 W System.err:    at java.io.FileOutputStream.<init>(FileOutputStream.java:108)
07-27 16:48:37.905  9538  9538 W System.err:    at com.alaskalinuxuser.kppdcontrol.InstallActivity.installKPPD(InstallActivity.java:84)
07-27 16:48:37.905  9538  9538 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
07-27 16:48:37.905  9538  9538 W System.err:    at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
07-27 16:48:37.905  9538  9538 W System.err:    at android.view.View.performClick(View.java)
07-27 16:48:37.905  9538  9538 W System.err:    at android.view.View$PerformClick.run(View.java)
07-27 16:48:37.905  9538  9538 W System.err:    at android.os.Handler.handleCallback(Handler.java)
07-27 16:48:37.905  9538  9538 W System.err:    at android.os.Handler.dispatchMessage(Handler.java)
07-27 16:48:37.905  9538  9538 W System.err:    at android.os.Looper.loop(Looper.java)
07-27 16:48:37.905  9538  9538 W System.err:    at android.app.ActivityThread.main(ActivityThread.java)
07-27 16:48:37.905  9538  9538 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
07-27 16:48:37.905  9538  9538 W System.err:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
07-27 16:48:37.905  9538  9538 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
This is the output when not searching for warnings and above:
Code:
07-27 16:50:57.920  9538  9538 W System.err: java.io.FileNotFoundException: /storage/emulated/0/kppd (Permission denied)
07-27 16:50:57.920  9538  9538 W System.err:    at java.io.FileOutputStream.open(Native Method)
07-27 16:50:57.920  9538  9538 W System.err:    at java.io.FileOutputStream.<init>(FileOutputStream.java:221)
07-27 16:50:57.920  9538  9538 W System.err:    at java.io.FileOutputStream.<init>(FileOutputStream.java:108)
07-27 16:50:57.920  9538  9538 W System.err:    at com.alaskalinuxuser.kppdcontrol.InstallActivity.installKPPD(InstallActivity.java:84)
07-27 16:50:57.920  9538  9538 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
07-27 16:50:57.920  9538  9538 W System.err:    at android.support.v7.app.AppCompatViewInflater$DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)
07-27 16:50:57.921  9538  9538 W System.err:    at android.view.View.performClick(View.java)
07-27 16:50:57.921  9538  9538 W System.err:    at android.view.View$PerformClick.run(View.java)
07-27 16:50:57.921  9538  9538 W System.err:    at android.os.Handler.handleCallback(Handler.java)
07-27 16:50:57.921  9538  9538 W System.err:    at android.os.Handler.dispatchMessage(Handler.java)
07-27 16:50:57.921  9538  9538 W System.err:    at android.os.Looper.loop(Looper.java)
07-27 16:50:57.921  9538  9538 W System.err:    at android.app.ActivityThread.main(ActivityThread.java)
07-27 16:50:57.921  9538  9538 W System.err:    at java.lang.reflect.Method.invoke(Native Method)
07-27 16:50:57.921  9538  9538 W System.err:    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java)
07-27 16:50:57.921  9538  9538 W System.err:    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java)
 
  • Like
Reactions: AlaskaLinuxUser

Spookymyo

Senior Member
Dec 12, 2007
912
215
73
45
Morristown, TN
This actually does not require an unlocked boot loader. The KPPD daemon runs in user space, but root is required. I have only tested on the T-Mobile G4, but it should work on any rooted G4.

I would appreciate hearing your results if you have time to test it. :D
I gave it a try. No luck. Doesn't work for rooted Verizon LG G4. When I open the app it prompts me for root which I grant. Then I click the install button and the phone restarts. I open the app again and there is no control panel it only shows the install button again. Tried it a few times with the same results.
 
  • Like
Reactions: AlaskaLinuxUser