edk2-porting / edk2-msm

Broken edk2 port for Qualcomm platforms xD
https://renegade-project.tech/
BSD 2-Clause "Simplified" License
2.3k stars 431 forks source link

poco f1 (beryllium) nvt-ts touch screen stop working after lock screen #315

Open sdyby2006 opened 1 year ago

sdyby2006 commented 1 year ago

Prerequisites

Description

[Description of the bug or feature]

Expected behavior: [What you expected to happen]

Actual behavior: [What actually happened]

HergiCz commented 7 months ago

Hello I have just small hints to this topic as I am trying hard to somehow fix it.

1) I have tried for all drivers to disable following "Allow the computer to turn of this device to save power"

But no luck

2) I have tried to disable GPU driver (Adreno 680) which on its own leads to issue. Than touch screen stops working. Re enable of driver doesnt help (ctrl shift windows key + B) doesnt helps. Only what helps is restart

3) lock screen leads to same problems as point 2.

Small and only help for me was to disable GPU and restart. Then touch actually works even if

a) lock and unlock screen b) turns on GPU driver

4) Tried to set action after turn off button from sleep to just "turn of display" (no luck)

5) Tried Hibernation (thats completely not working)

I have founded interesting comit here... Not sure if it has been related to this issue or not and also if it helped or not. I would like to try it and debug it, but I am not experienced in driver dev. Link for commit https://github.com/edk2-porting/nt36xxx_win/commit/cd21a1e3f6dec9f92ee28a561d0dfcc9f29db47f

Is somebody able to compile it with those changes or understand if it could be related to this issue (at least)?

Thank you anybody.

HergiCz commented 7 months ago

I have just found very interesting fact.

If driver Focaltech 5x digitizer (ft8607) is disabled. Touch will stop work if enabled touch will start work as everybody would thougt. But if has been disabled befure user disable gpu driver or lock screen or turn of the screen, it can be than reenabled. AND WHOA touch will be working!

So we have already two small not very perfect workarounds :)

Maybe this can be somehow used already to write some script or what so ever... However fix in touchscreen driver would be better way ofc...

Thank you for any ideas!

HergiCz commented 7 months ago

OK i could manage work around this problems by scrips. In short and simply put

1) Its possible to create a script which will turn of digi and after that put phone into sleep (quick) 2) than system power kernel event 507 can start digi again after screen is unlocked (this took around 15s, but hey it works)

Note its monkey kungfu workaround to be honest... As I could not find way how to start some action before sleep Its necessary tu turn off any action of power button + disable turning off the screen and doing point 1 just by script. If not done without turbing of digi only way is restart (so its good prevention)

At least this I could findout after few painful hours... If anybody would like to help with this i can maybe provide more details.

But I would be really happy to have proper fix, or at least somehow improved this monkey kungfu eq with binding power key action to scrip. This is something what i am not really sure how its even possible that in year 2024 we cant do this in windows in some normal way as a feature :D