Lenovo-YTX703-Devel / android_device_lenovo_YTX703-common

1 stars 1 forks source link

Enable mm-pp-daemon. #28

Closed Quallenauge closed 5 years ago

Quallenauge commented 6 years ago

The mm-pp-daemon is responsible for setting color settings and cabl as well. There is an pp_calib_data file needed to get the color temperature feature working. The one within this commit is taken from pp_calib_data_sharp_r63315_1080p_video_mode_dsi_panel.xml and has to be adapted for the current display with appropriate values. As start it seems to give good results.

The shims are extended to load libdisplayconfig.so when loading the libqdutils.so. This is needed due a recent change, where the refreshScreen() function was moved to a dedicated library. To solve the issue, load the libdisplayconfig to let these functions be visible to dlsym().

Enable CABL by setting appropriate arguments to the mm-pp-daemon. This has to be reverted in future and replaced by a proper implementation of a derrived device specific LiveDisplayMM controller. Also the system property is set to ro.qualcomm.cabl=2 which maches the stock values.

Change-Id: I81c3884fa15a1f65f74427feb4ccbadc6e394faa

Gabriel85 commented 6 years ago

What do you mean with "colour temperature feature"? About CABL: please split the patch. I don't see that CABL support is anything, which will be ever supported. I've looked into it, and I decided not to waste my time with it. Implementing it is a mess and it seems there is 0 demand for it. Unless of course you are implementing it by yourself...

On 18 July 2018 10:46:03 CEST, Quallenauge notifications@github.com wrote:

The mm-pp-daemon is responsible for setting color settings and cabl as well. There is an pp_calib_data file needed to get the color temperature feature working. The one within this commit is taken from pp_calib_data_sharp_r63315_1080p_video_mode_dsi_panel.xml and has to be adapted for the current display with appropriate values. As start it seems to give good results.

The shims are extended to load libdisplayconfig.so when loading the libqdutils.so. This is needed due a recent change, where the refreshScreen() function was moved to a dedicated library. To solve the issue, load the libdisplayconfig to let these functions be visible to dlsym().

Enable CABL by setting appropriate arguments to the mm-pp-daemon. This has to be reverted in future and replaced by a proper implementation of a derrived device specific LiveDisplayMM controller. Also the system property is set to ro.qualcomm.cabl=2 which maches the stock values.

Change-Id: I81c3884fa15a1f65f74427feb4ccbadc6e394faa You can view, comment on, or merge this pull request online at:

https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28

-- Commit Summary --

  • mm-pp-daemon: Enable mm-pp-daemon.

-- File Changes --

M BoardConfigCommon.mk (4) A configs/display/pp_calib_data_nt35597_video_mode_dual_dsi_panel_without_DSC.xml (31) M configs/init/ppd.rc (2) M device-common.mk (4) M system.prop (4)

-- Patch Links --

https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28.patch https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28.diff

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28

Quallenauge commented 6 years ago

Added two PR's to make use of the CABL function of mm-pp-daemon:

220840 livedisplay: Enable cabl via mm-pp-daemon. 220841 livedisplay: Query active state via native call.

Gabriel85 commented 6 years ago

Whats the point if that, if CABL isn't working, and nobody intents to make it work anyways? Cherry-picking some commits is one thing, implementing the low-level hardware hack is a completely different story. I would recommend not merging anything CABL related before it is actually working.. ;)

On 19 July 2018 20:01:39 CEST, Quallenauge notifications@github.com wrote:

Added two PR's to make use of the CABL function of mm-pp-daemon:

livedisplay: Enable cabl via mm-pp-daemon. livedisplay: Query active state via native call.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406363991

Quallenauge commented 6 years ago

Gabriel, please inform before you write. It seems to me you didn't looked into this thing. And also IF it isn't working, why not providing a PR for everyone. Maybe someone has a good idea.

Gabriel85 commented 6 years ago

It can't work, because the kernel doesn't support it! Doesn't look that this will change anytime soon, and probably doesn't need to. Or do you want to implement it properly in the kernel?

On 19 July 2018 20:15:35 CEST, Quallenauge notifications@github.com wrote:

Gabriel, please inform before you write. It seems to me you didn't looked into this thing. And also IF it isn't working, why not providing a PR for everyone. Maybe someone has a good idea.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406368058

Quallenauge commented 6 years ago

Please point me to the correct location within the kernel where the CABL has to be implemented, so I can understand.

Gabriel85 commented 6 years ago

Wherever you want. It just needs to compatible to what LOS Liveview expects.

On 19 July 2018 20:25:33 CEST, Quallenauge notifications@github.com wrote:

Please point me to the correct location within the kernel where the CABL has to be implemented, so I can understand.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406370792

vladimiroltean commented 6 years ago

What is LOS Liveview? I don't understand either. An example might help.

Gabriel85 commented 6 years ago

I meant LiveDisplay, or however LOS calls their display settings. I doubt they keep that stuff anyways in the long run, since AOSP also supports changing the Display colour and this has nothing to do with changing hardware display function.

On 19 July 2018 21:19:23 CEST, Vladimir Oltean notifications@github.com wrote:

What is LOS Liveview? I don't understand either. An example might help.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406385819

Gabriel85 commented 6 years ago

I don't really get what this stuff has to do with CABL at all. Isn't this about changing the colour calibration?

And concerning "ro.qualcomm.cabl": is this value also in the stock ROM? "Qualcomm CABL" is an older software implementation, which has nothing to do with the hardware implementation of our panel. I'm not sure if our SOC even supports it, and it would need some additional QC blobs.

And another thing: not all tablets use a Sharp panel! Some have a compatible one from another vendor. So maybe they are differently calibrated..

On 18 July 2018 10:46:03 CEST, Quallenauge notifications@github.com wrote:

The mm-pp-daemon is responsible for setting color settings and cabl as well. There is an pp_calib_data file needed to get the color temperature feature working. The one within this commit is taken from pp_calib_data_sharp_r63315_1080p_video_mode_dsi_panel.xml and has to be adapted for the current display with appropriate values. As start it seems to give good results.

The shims are extended to load libdisplayconfig.so when loading the libqdutils.so. This is needed due a recent change, where the refreshScreen() function was moved to a dedicated library. To solve the issue, load the libdisplayconfig to let these functions be visible to dlsym().

Enable CABL by setting appropriate arguments to the mm-pp-daemon. This has to be reverted in future and replaced by a proper implementation of a derrived device specific LiveDisplayMM controller. Also the system property is set to ro.qualcomm.cabl=2 which maches the stock values.

Change-Id: I81c3884fa15a1f65f74427feb4ccbadc6e394faa You can view, comment on, or merge this pull request online at:

https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28

-- Commit Summary --

  • mm-pp-daemon: Enable mm-pp-daemon.

-- File Changes --

M BoardConfigCommon.mk (4) A configs/display/pp_calib_data_nt35597_video_mode_dual_dsi_panel_without_DSC.xml (31) M configs/init/ppd.rc (2) M device-common.mk (4) M system.prop (4)

-- Patch Links --

https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28.patch https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28.diff

-- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28

Quallenauge commented 6 years ago

And concerning "ro.qualcomm.cabl": is this value also in the stock ROM?

You can find that out easily by looking at the build.prop.

Qualcomm CABL" is an older software implementation, which has nothing to do with the hardware implementation of our panel. I'm not sure if our SOC even supports it, and it would need some additional QC blobs.

Can you please go more into the detail of this daemon? I want technical infos to understand that component in the right manner. I admit I have to learn much about this thing.

"Qualcomm CABL" is an older software implementation, which has nothing to do with the hardware implementation of our panel.

I think it has nothing to do with the CABC (automatic panel and backlight adjustments).

I'm not sure if our SOC even supports it, and it would need some additional QC blobs.

What is the SOC dependency to use it? Which blobs are needed?

The questions/statements here are so vague, I must admit it causes more questions than answers.

Gabriel85 commented 6 years ago

I don't know how the stock build.prop looks like. But I doubt stock uses "CABL" and "CABC", since both do basically the same. I guess software CABL was used before panels supported it in hardware. I just know that QC CABL needs several blobs, configuration files and comes with an APK for changing it's settings. But that thing seems to be out of use for many years now, and I can't remember seeing anything of that in the stock ROM or kernel. I guess those setting comes from another device and should be removed. Therefore, the LiveDisplay implementation of CABC is enough.

On 22 July 2018 11:22:14 CEST, Quallenauge notifications@github.com wrote:

And concerning "ro.qualcomm.cabl": is this value also in the stock ROM?

You can find that out easily by looking at the build.prop.

Qualcomm CABL" is an older software implementation, which has nothing to do with the hardware implementation of our panel. I'm not sure if our SOC even supports it, and it would need some additional QC blobs.

Can you please go more into the detail of this daemon? I want technical infos to understand that component in the right manner. I admit I have to learn much about this thing.

"Qualcomm CABL" is an older software implementation, which has nothing to do with the hardware implementation of our panel.

I think it has nothing to do with the CABC (automatic panel and backlight adjustments).

I'm not sure if our SOC even supports it, and it would need some additional QC blobs. What is the SOC dependency to use it. Which blobs are needed?

The questions/statements here are so vague, I must admit it causes more questions than answers.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406852539

Quallenauge commented 6 years ago

Thanks for the ketchup. But where is the real info?

Gabriel85 commented 6 years ago

Right before your nose: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/commit/764d31657f9a3cf3113d152397f10b572c2bfd08

Christian added it, probably because he thought he could disable CABC with it, and never removed it again. Also it is logical, since the setting is called ro.QUALCOMM.cabl, and you should already have found out by yourself, that our CABC is independent of the SOC.

On 22 July 2018 11:51:42 CEST, Quallenauge notifications@github.com wrote:

Thanks for the ketchup. But where is the real info?

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406853980

Quallenauge commented 6 years ago

So then check the build.prop of stock rom image and you also can smell what is set in the stock build.

Gabriel85 commented 6 years ago

I don't have it, that's your turf.. But even if it's in there, still probably is a leftover from another device. Or does changing the setting has any effect? ;) Also I can't find anything which suggest that this is used by any current QC SOC.

On 22 July 2018 12:00:57 CEST, Quallenauge notifications@github.com wrote:

So then check the build.prop of stock rom image and you also can smell what is set in the stock build.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406854427

Quallenauge commented 6 years ago

I don't have it, that's your turf..

I miss some own responsibility here. And that costs time for everyone. Please keep in mind, I don't have to do anything what I don't want for this "project". And I get the feeling of that attitude of the previous posts.

Last answer from me until no valuable info comes in.

Gabriel85 commented 6 years ago

https://github.com/LineageOS/android_hardware_qcom_display/search?q=CablProp&unscoped_q=CablProp

It only was supported on MSM8960, which was released in 2012... No other SOC even reads this property. Evidence enough?

On 22 July 2018 12:23:17 CEST, Quallenauge notifications@github.com wrote:

I don't have it, that's your turf..

I miss some own responsibility here. And that costs time for everyone. Please keep in mind, I don't have to do anything what I don't want for this "project". And I get the feeling of that attitude of the previous posts.

Last answer from me until no valuable info come in.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406855753

Quallenauge commented 6 years ago

Just a hint for the future: Not all things are visible in open source files.

Gabriel85 commented 6 years ago

Is the setting doing anything? Yes or no.. But given the useless back and forth, without you being able to answer this simple question, it's probably not.. ;)

On 22 July 2018 13:17:21 CEST, Quallenauge notifications@github.com wrote:

Just a hint for the future: Not all things are visible in open source files.

-- You are receiving this because you commented. Reply to this email directly or view it on GitHub: https://github.com/Lenovo-YTX703-Devel/android_device_lenovo_YTX703-common/pull/28#issuecomment-406858367

Quallenauge commented 6 years ago

Welcome in the club (of vague speaking only).