Hikey960 Screen Problem

Hello there!
I think I have met a very similar problem. I built optee+aosp, android P . and the screen is always trun balck and display disorder.
My touch screen is powered by a DC charger sepatately not by using the usb, and uses usb for touch control, I can ensure there is no matter with my touch screen, because I have check it by plug in the computer and it works well.
It looks like this when it works not so well.

The image you have above seems like you’re missing the patch here:
https://android-review.googlesource.com/c/kernel/hikey-linaro/+/889696/

Can you double check the source you built and confirm it has that change?

I double check source I built. There is no change in kirin_drm_overlay_utils.c. I changed the file according to link you sent. Finally, my screen is working. :slight_smile: . Before your last post, I think, kirin_drm_overlay_utils.c wasn’t changed in optee_android_manifest. Thanks

May be I can also solve it by doing this, but I am quite confused with the patch link, and have no idea on what to do. could someone give any advices? Please see this, thanks a lot.
The console always output these messages :

[23316.313503] hisi_ddr_devfreq ddr_devfreq: set down threshold:400000000
[23413.315175] type=1400 audit(1557913531.519:6674): avc: denied { dac_read_search } for pid=4842 comm=“main” capability=2 scontext=u:r:zygote:s0 tcontext=u:r:zygote:s0 tclass=capability permissive=1
[23413.332750] type=1400 audit(1557913652.935:6675): avc: denied { associate } for pid=2685 comm=“Binder:2685_2” name=“globalAlert” scontext=u:object_r:proc_net:s0 tcontext=u:object_r:proc:s0 tclass=file1
[24003.853503] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24003.860583] hisi_ddr_devfreq ddr_devfreq: set down threshold:685000000
[24006.520075] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24006.527134] hisi_ddr_devfreq ddr_devfreq: set down threshold:400000000
[24006.686566] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24006.693497] hisi_ddr_devfreq ddr_devfreq: set down threshold:685000000
[24008.888370] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24008.895336] hisi_ddr_devfreq ddr_devfreq: set down threshold:400000000
[24009.350387] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24009.358427] hisi_ddr_devfreq ddr_devfreq: set down threshold:685000000
[24012.284305] hisi_ddr_devfreq ddr_devfreq: ddr bandwdith request: 0 / 28472
[24012.291279] hisi_ddr_devfreq ddr_devfreq: set down threshold:400000000

Is it normal and what these messages mean. Is it related to the screen problems?

The controller on your display isn’t handling the input well. The hikey960 doesn’t make proper 60 Hz. Its closer to 58 Hz. Some monitors can get confused by this. Try a different resolution and/or refresh rate. Your monitor may be able to handle different input better.

Thanks for your advice!
Is there any commands to change the refresh rate? I just know the command can change the resolution

wm size

These changes need to be done on the kernel commandline.

Same question asked on https://github.com/linaro-swg/optee_android_manifest/issues/59.