26/02, the last one.
The problem was intermittent - some people (including myself) never experienced it, others had it occasionally, one guy had it happen all the time.
It also affected the ability to touch the screen during phone calls for him.
Strange. It doesn't happen EVERY time, but it does happen very frequently. Oh well, since you have the problem pinned down I guess it's not really a problem any more.
La4 ROM....lost smooth, bad touch.
Sent from my GT-I9100 using Tapatalk
I dont have any probleme with the circle lockscreen too . i test with clear ram and i have the circle all times
Just to be clear, the issue isn't related to the circle lockscreen, or to any particular lockscreen. The problem is that the phone is slow to become responsive after waking from deep sleep, so it takes a five seconds or so before you can actually unlock the phone.
Entropy, let me know if there are any values or logs I can get you that would help.
I'm going to try and put out a test kernel tonight - given my history with this issue, I think I know the solution and unfortunately this one is next to impossible to get good logs for. And yes - this affected I777 users long before circle lockscreen existed. It happened when I tried to pull in the I9100 update3 touchscreen drivers - I eventually reverted those back to I777. However, I left the I777 ifdefs in there - so when building for I9100, the I9100 code remains.
What I can't figure out is why I9100 users aren't complaining about it left and right with any kernel that uses the I9100 update3 base. (Except Siyah, which uses i777 touchscreen drivers.)
Cool, I look forward to the test kernel, though I have it in relatively low volume (only four or five times since I flashed the kernel yesterday), so I'm probably not the best test case.
I'm trying to remember when I first started experiencing it. I don't think I've had it happen on pongster's kernel recently, but for a while I was bouncing between his kernel and siyah pretty frequently, just screwing around mostly, so what happened on which kernel is pretty muddled in my head going back more than a week or two. I'm pretty sure it was widely-complained-about for a while, so I'm guessing people besides GM must have also backported the I777 drivers (or found another fix?). I'll have to poke around git tonight to see.
#!/sbin/sh
log "Increasing touchscreen sensitivity"
echo "50" > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
Right now the main difference I can find is a difference in the default touch threshold.
Try putting this into an init.d script to see if it changes anything:
Code:#!/sbin/sh log "Increasing touchscreen sensitivity" echo "50" > /sys/devices/virtual/sec/sec_touchscreen/tsp_threshold
40? odd... It should default to 70 unless you had another init.d script change it.
And it can be changed on the fly.
That is something interesting - Over here in I9100-land there's all sorts of touchscreen fixes and tweaks. In I777 land, the only time people have ever complained about their touchscreen is when running kernels based on I9100 source.
I'm less sure that it's the threshold then, since something is overriding it anyway, it doesn't matter.
I'm wondering if one of the tweak apps you're using is somehow interfering...
Well, that's why I mentioned TouchScreenTune, as it's the only tweak that I use that (afaik) is doing anything when you turn the screen on. I've turned it off for now, and I will let you know if that removes the issue. My init.d stuff is pretty minimal, no superscripts or anything like that--just the stuff that came with CheckROM (loading cifs, sd readahead, changing nice of kswapd0), plus a tweak for my conservative thresholds.
I poked around a bit more, and it seems tsp_thresholds are set automatically, 40 or 70 when charging, which is consistent with the behavior I'm seeing.
Hmm, good catch there.
I guess the question is whether khartras is also using touchscreentune - if he is too, then it may cause problems when combined with the I777 touch driver - but then why doesn't Siyah also have the same issues (as it seems to have the same code as far as I can tell, with the exception of possibly changing some defaults. I need to take a second look.)
Edit: I think I found a possible culprit, need to look at SiyahKernel - See https://github.com/Entropy512/linux...r/drivers/input/touchscreen/mxt224_u1.c#L3250
On I777, the suspend handler gets called later and the resume handler gets called earlier.
Yeah. During suspend, the handlers are called in ascending order. During resume - descending order. So on I777, the earlysuspend handler is called later and the lateresume handler is called earlier.
Early suspend and late resume are screen off/on - deep sleep is regular suspend/resume.
As to CWM Manager compatibility - After poking at cfroot's initramfs, my head hurts. Do any other custom kernels support it?
Redpill and siyah support chainfire's CWM manager appYeah. During suspend, the handlers are called in ascending order. During resume - descending order. So on I777, the earlysuspend handler is called later and the lateresume handler is called earlier.
Early suspend and late resume are screen off/on - deep sleep is regular suspend/resume.
As to CWM Manager compatibility - After poking at cfroot's initramfs, my head hurts. Do any other custom kernels support it?
heimdall flash --kernel zImage
I'm not going to mess with sched_mc right now as I don't think it'll do anything - that post was my reasoning why.
There's just not much you can do power-management wise as far as multicore scheduling tricks when you only have clock gating available to you (which is the only thing available when the second core is on). Two cores at 50% will have the same consumption as one at 100 and one at 0, for example. If the cores could hit AFTR or LPA this would be different - the 100/0 combo would be better. (Kind of like hotplugging but without the power penalty involved with the actual hotplug event.)
So screen-on power consumption is likely best handled by advanced GPU clocking (You're way ahead of me there...) and changing the hotplugging logic (Probably some neat tricks to be done here, even after ICS drops).
Could be different in ICS though. Sammy might add some undocumented idle features. (Idle states of Exynos are COMPLETELY undocumented in the TRM... Other than "we have them"...) See the Tab 7 Plus cpuidle backport - it can hit AFTR far more often now. If there's a way to hit AFTR or LPA when the second core is on - everything changes.
What I'm thinking of experimenting with is tying the hotplug logic into a governor - bias the hotplug decisions based on frequency and ensure decisions are synced with load. Favor singlecore heavily up to 800 MHz or so, then bias more towards dualcore past this, since the voltage starts climbing more per frequency step past 800.
Something like this, a version of conservative where, instead of the following logic at 800 MHz:
If (load > up_threshold) go to 1000
it would be:
If (load > up_threshold AND only one core on AND we have multiple threads) hotplug the second core instead of going to 1000.
Not sure whether there are any good ways to determine if our load is highly multithreaded or single threaded. (This is another thing that may work better on ICS, since it supposedly is more multithreaded.)
echo "1" > /sys/module/sync/parameters/fsync_disabled
echo "0" > /sys/module/sync/parameters/fsync_disabled
adb remount
adb push <file> /system/lib/hw/lights.SGH-I777.so
adb chmod 644 /system/lib/hw/lights.SGH-I777.so