Closed stefanhh0 closed 5 years ago
The first stacktrace is irrelevant and erroneously printed on devices without DRS: ExtendedSettings: initializeDRSListPreference: Active mode is blank or cannot be detected. DRS will be disabled
.
The second one is something "wrong" with the UI of the app. It "works", so I guess no-one is going to spend time looking at it.
The actual problem is shown in dmesg. It can't read the calibration table:
[ 1.388653] somc_panel_color_manager: somc_panel_parse_dt_colormgr_config:403, Unable to read pcc table
[ 1.389116] somc_panel_color_manager: somc_panel_parse_dt_colormgr_config:417, Unable to read srgb_pcc table
[ 1.389575] somc_panel_color_manager: somc_panel_parse_dt_colormgr_config:431, Unable to read vivid_pcc table
[ 1.390039] somc_panel_color_manager: somc_panel_parse_dt_colormgr_config:444, Unable to read hdr_pcc table
And there's also the odd issue of u,v:
[ 68.004583] somc_panel_color_manager: somc_panel_inject_crtc_overrides (751): Override: Already have original funcs! Is setup called twice??
[ 68.004981] somc_panel_color_manager: somc_panel_pcc_setup (855): u,v is flashed 0.
[ 68.005215] somc_panel_color_manager: somc_panel_colormgr_apply_calibrations: Couldn't apply PCC calibration
[ 68.005497] somc_panel_color_manager: somc_panel_colormgr_apply_calibrations: Cannot send HSIC calibration
This should be an easy fix, since the existing calibration and uv commands are located elsewhere. From the looks of it, reading somc,mdss-dsi-uv-command
silently fails with a debug print (and the return value is not checked) causing an erroneous u,v is flashed 0.
.
The following should take care of it for your panel (8
):
diff --git a/arch/arm64/boot/dts/qcom/dsi-panel-somc-lilac-id8_pcc.dtsi b/arch/arm64/boot/dts/qcom/dsi-panel-somc-lilac-id8_pcc.dtsi
index 8c48a9bb18fe..9f16dbcc4c44 100644
--- a/arch/arm64/boot/dts/qcom/dsi-panel-somc-lilac-id8_pcc.dtsi
+++ b/arch/arm64/boot/dts/qcom/dsi-panel-somc-lilac-id8_pcc.dtsi
@@ -18,8 +18,8 @@
*/
/* pcc-table for Lilac JDI */
-&mdss_mdp {
- dsi_8: somc,8_panel {
+&sde_kms {
+ sde_dsi_8: somc,8_panel {
somc,mdss-dsi-pcc-enable;
somc,mdss-dsi-uv-command = [
06 01 00 00 00 00 01 DA
We'll do the same on panel 5 after you confirm this works (and probably check the other devices).
As for the option being gone for a while, that seems odd: both drivers always expose the sysfs file (pcc_profile
) regardless of DT state, and the PR to support SDE devices in ExtendededSettings has been merged well before your comment :thinking:
@MarijnS95 Awesome, the suggested proposal fixed the problem. Thanks a lot for your help!
Shall I keep the ticket open until the fix is officially merged back into the msm-4.9 kernel?
@stefanhh0 Leave it open for now, GH will automatically close it when the PR is merged. We might want to add some other changes to it anyway.
Platform: Yoshino Device: Lilac Kernel version: 4.9.177-g79f3a95ecb4b Android version: android-9.0.0_r37 OEM Image: SW_binaries_for_Xperia_Android_9.0_2.3.2_v9_yoshino.zip Build: aosp_g8441-userdebug 9 PQ3A.190505.002 eng.stefan.20190615.220747 Version baseband: 1308-8921_47.1.A.16.20
Description Settings -> System -> Extended Settings -> Display white point calibration Changing the calibration from 6000k to any other value (e.g. D50: 5000k) does not have any effect on the calibration of the display.
When opening the Extended settings following exception is logged in the logcat
```text 06-16 07:13:06.729 5594 5594 I Zygote : seccomp disabled by setenforce 0 06-16 07:13:06.735 5594 5594 E xtendedsetting: Not starting debugger since process cannot load the jdwp agent. 06-16 07:13:06.761 5594 5594 D libnativeloader: classloader namespace configured for unbundled vendor apk. library_path=/vendor/priv-app/ExtendedSettings/lib/arm64:/vendor/lib64 06-16 07:13:06.780 5594 5594 D OpenGLRenderer: Skia GL Pipeline 06-16 07:13:06.799 5594 5594 W System.err: java.io.FileNotFoundException: /sys/devices/virtual/graphics/fb0/modes (No such file or directory) 06-16 07:13:06.800 5594 5594 W System.err: at java.io.FileInputStream.open0(Native Method) 06-16 07:13:06.800 5594 5594 W System.err: at java.io.FileInputStream.open(FileInputStream.java:231) 06-16 07:13:06.800 5594 5594 W System.err: at java.io.FileInputStream.When changing the white point calibration following appears in the logcat output:
History
Symptoms Changing the Display white point calibration to e.g. D50: 5000k has no visual effect on the display.
How to reproduce It is easy and always reproducible for me.
Logfiles dmesg.log logcat.log