RK3399 eDP display issues when compiling kernel - Android Q&A, Help & Troubleshooting

have a Firefly AIO-3399j board that I am attempting to run a BOE NV140XTM-N52 display directly from it's eDP interface. I'm a novice when it comes to compiling kernels so I'm having some issues getting this to work properly. I have verified that the physical pinout between the board and the display is correct, and I do get an image on the screen some.
First information about the display from the data sheet. The timing that I see from the display says a 269.5 MHz Clock and the EDID table gives the following information. The clock max is 275.6MHz and minimum is 220.5MHz. Hor Active = 3840, Hor Blanking =160, Ver Active = 1100, Ver Blanking = 48, Hor Sync offset = 48, H sync pulse width = 32, v sync offset = 3, and v sync pulse width = 5. That's where I would assume the following timing would be correct.
hactive = 3840
vactive = 1080
hsync-len = 32
hback-porch = 80
hfront-porch = 48
vsync-len = 5
vback-porch = 40
vfront-porch = 3
Now if I do a cvt modeline calculation I get Modeline "3840x1100_60.00" 353.18 3840 4088 4504 5168 1100 1101 1104 1139 -HSync +Vsync which is completely different on the porches and sync lengths.
Now, onto the board. According to the SDK, the display timing isn't set in the device tree files, it's set in the drivers at /kernel/drivers/gpu/drm/panel/panel-simple.c which I've tried the timing above that I assumed is correct from the datasheet and I've tried the timing from the modeline calculation. I've also put the display timing in the device tree file to see if that would work.
So far, I have gotten to where I get an image on the display and it will flicker from time to time sitting at the home screen of android, but then if I open the app menu, it will flicker even more until I exit it. I've tried adjusting the clock up and down with no resolution, and eventually I will either get a brief image on the screen and then it fades out, or the display will start looking like the porches are completely wrong. The display appears to have EDID information, but doesn't appear to get passed onto the kernel properly.
I've spent several hours recompiling and flashing firmwares to where I'm at a point I have no clue what to do anymore. Can someone help?

Related

registry value location

Hey, I am trying to find the reg key that controls the the external display timeout, I know you can set it in the settings to 5, 10, 15, 30 seconds, but I am trying to figure out which reg key controls it. thanks
[HKEY_LOCAL_MACHINE\Software\HTC\SecondaryDsp]
"DisplayTimeout"=dword
Erofich said:
[HKEY_LOCAL_MACHINE\Software\HTC\SecondaryDsp]
"DisplayTimeout"=dword
Click to expand...
Click to collapse
Is there any number (or other) to put there to have a display timeout longer than 30 sec?
...10 minutes for example...I know that involves battery consuming but I (and my friends) like startreck external clock when I put my phone on the table...moreover there my phone is usually charging...
Some weeks ago I tried with no success...
thanks
same boat here, I can't get it to stay on any longer than 30 sec.
timeouts
it seems that the reg values of 2=5 sec, 3=10 sec, 4=15 sec and 5=30 sec, however no other numbers have a timed value, it must be referencing a dll file, but I am not sure which one, I will res hack some and see if I can find it.
"DisplayTimeout"=dword:00000002 - 5 sec
"DisplayTimeout"=dword:00000003 - 10 sec
"DisplayTimeout"=dword:00000004 - 15 sec
"DisplayTimeout"=dword:00000005 - 30 sec
try to set dword:6
Erofich said:
"DisplayTimeout"=dword:00000002 - 5 sec
"DisplayTimeout"=dword:00000003 - 10 sec
"DisplayTimeout"=dword:00000004 - 15 sec
"DisplayTimeout"=dword:00000005 - 30 sec
try to set dword:6
Click to expand...
Click to collapse
Unless we did something wrong, we tried it. It does not work
displaytimeout
Erofich,
it my be my device but the reg key for the display timeout only allows for a 0 through whatever number option, it does not show the 00000001 (etc.) values.
I tried to create a new dword key, but it does the same, only gives the option to enter the 0 through whatever number, is there a way to assign the 00000006 value to a dword 6?

[Q] Is EzOverclock really working???

Hi Guys, I did a small test to see if overclocking is actaully helping with the Prime performance. The fact is results were no different no matter what MODE I select on my Prime. My Prime's ONLY ROOTED and it's on .15
Here's how I tested.
SEQUENCE 1
Application used = Glow ball.
Power saving mode = 1.0 GHz
Balance mode = 1.3 GHz
Performance mode = 1.6 GHz
Glow ball runs flickering/Jittering in Power saving mode. Rest two modes were OK. Now this could be quite obvious.
SEQUENCE 2
Application used = Glow ball.
Power saving mode = 1.3 GHz
Balance mode = 1.3 GHz
Performance mode = 1.6 GHz
Glow ball runs flickering/Jittering in Power saving mode. Rest two modes were OK. Now this is not Obvious. Power saving mode should have behave like Balanced mode.
SEQUENCE 3
Application used = Glow ball.
Power saving mode = 1.6 GHz
Balance mode = 1.0 GHz
Performance mode = 1.0 GHz
Glow ball runs flickering/Jittering in Power saving mode. Rest two modes were OK. Now this is HIGHLY Unobvious.
Can anybody re-confirm if this is the way it should behave? OR changing processor speed alone is just not sufficient.
This all gives rise to another question;
Is there anything else (within these modes) changing when we change modes - like more memory allocation, L2/3 cache memory, number of cores used OR more process threads (apart from changing process speed)
[EDIT] - sorry, this is not a disrespect to any of the dev or makers of EZOverclock. I highly appreciate their efforts and sleepless nights to make us all happy. I'm just getting my query resolved.
This one is easy
The results you are seeing are cause EzOverclock overclocks only the CPU, glowball is a heavy GPU app, hence the results you are seeing. The CPU doesnt need to work much to render the images.
It runs way slower on Eco mode cause it lowers the GPU clock a lot to save power, where in balance or performance is high enough to move it without issues.

[Q] Android automation

Is anyone aware of a program that would allow me to automate a series of "touch" events on Android to test an app I have written. Something controlled by ADB I would assume.
For example;
Touch @ X axis = 500 Y axis = 200;
Wait 0.5 seconds;
Release touch;
Wait 1.9 seconds;
Touch @ X axis = 300 Y axis = 400;
Wait 0.5 seconds;
Release touch;
etc.

[Q] Assistance with LMT ISAS setup on HTC EVO 4G LTE

I don't have sufficient posts to add a reply to the LMT Launcher thread since it's in the development section, so I'm posting here.
I'd really like to get ISAS working on the EVO 4g LTE, as it's a great feature. Here are my details:
Details
- State: rooted, s-off, TWRP 2.5 installed
- ROM: CM 10.2 nightly (2013-09-01)
- LMT v. 1.912 installed
LMT Settings
- Activate TouchService = on
- Autostart TouchService checked
- Set TouchService mode = Gestures, ISAS, and pie
- Set gesture input = 2 (see below)
- Relevant output of
Code:
getevent -p
Code:
add device 8: /dev/input/event2 # hence setting 2 in gesture input above
name "synaptics-rmi-touchscreen"
[...]
0035 : value 0, min 0, max 1100, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 1750, fuzz 0, flat 0, resolution 0
- Min bbox = 1
- Activation area thickness = 80
- According to the LMT thread, I should divide the max outputs above by my screen resolution (1280 x 720) to get the right x/y % settings for ISAS, which I've done:
--- Touchscreen to screen factor X = 1100 / 720 = 153%
--- Touchscreen to screen factor Y = 1750 / 1280 = 137%.
Lastly, I've set ISA 1 and ISA 2 (bottom left and bottom center) to open Apollo music player just to test things out. I can get it to work, but I have to hold the phone face up with one hand and violently flick the screen up from the bottom left with my index finger to get it to open. It is not a usable gesture in the least. Trying in vain with the speed I can produce with just my thumb while holding the phone produces no result.
Can someone chime in on any settings that might affect this?
Pie works properly, as do gestures (though if I have a gesture like two finger swipe to the left/right, it cycles my homescreen page at the same time as catching that I passed a gesture to LMT), so it would seem that the general configuration is sound. I just can't figure out why I need to swipe the ISA so darn fast. There's no way I could swipe that fast with my thumb; only holding in one hand and doing it at about 70% of my top possible speed gets the ISA to work.
Thanks for any input/suggestions! Feel free to ask for any other output.
jwhendy said:
I don't have sufficient posts to add a reply to the LMT Launcher thread since it's in the development section, so I'm posting here.
I'd really like to get ISAS working on the EVO 4g LTE, as it's a great feature. Here are my details:
Details
- State: rooted, s-off, TWRP 2.5 installed
- ROM: CM 10.2 nightly (2013-09-01)
- LMT v. 1.912 installed
LMT Settings
- Activate TouchService = on
- Autostart TouchService checked
- Set TouchService mode = Gestures, ISAS, and pie
- Set gesture input = 2 (see below)
- Relevant output of
Code:
getevent -p
Code:
add device 8: /dev/input/event2 # hence setting 2 in gesture input above
name "synaptics-rmi-touchscreen"
[...]
0035 : value 0, min 0, max 1100, fuzz 0, flat 0, resolution 0
0036 : value 0, min 0, max 1750, fuzz 0, flat 0, resolution 0
- Min bbox = 1
- Activation area thickness = 80
- According to the LMT thread, I should divide the max outputs above by my screen resolution (1280 x 720) to get the right x/y % settings for ISAS, which I've done:
--- Touchscreen to screen factor X = 1100 / 720 = 153%
--- Touchscreen to screen factor Y = 1750 / 1280 = 137%.
Lastly, I've set ISA 1 and ISA 2 (bottom left and bottom center) to open Apollo music player just to test things out. I can get it to work, but I have to hold the phone face up with one hand and violently flick the screen up from the bottom left with my index finger to get it to open. It is not a usable gesture in the least. Trying in vain with the speed I can produce with just my thumb while holding the phone produces no result.
Can someone chime in on any settings that might affect this?
Pie works properly, as do gestures (though if I have a gesture like two finger swipe to the left/right, it cycles my homescreen page at the same time as catching that I passed a gesture to LMT), so it would seem that the general configuration is sound. I just can't figure out why I need to swipe the ISA so darn fast. There's no way I could swipe that fast with my thumb; only holding in one hand and doing it at about 70% of my top possible speed gets the ISA to work.
Thanks for any input/suggestions! Feel free to ask for any other output.
Click to expand...
Click to collapse
Can you go into debug mode with 777 as described in the op? Then create a logcat containing starting the touchservice, doing some isas and stopping it again? Then just send me the log via pm and I can check what's wrong.
Btw: Min gesture score and min path length are also affecting isas. What did you configure for these?
Sent from my Nexus 4
@noname81: sorry, should have done the logcat from the beginning. I actually did look through it myself and couldn't figure out how to discern what LMT picked up from the unsuccessful ISA attempts. It seemed like it either worked (a line about a trigger event) or didn't.
In any case, yes, I should have just made one, and I'll send it along shortly.
With respect to any other settings, if they aren't mentioned, I left them alone. So min score was at 70% and min path was at 7. I changed the response to a debug overlay and anytime it activates, I've never seen a score of less than 95%. I did fiddle with making it something like 20% and setting the path at 2 to try and make it really easy to trigger; no luck.
I've now restored defaults, so my post is accurate for the logcat coming your way.
@noname81: links to logs sent (appears I can't attach files yet). Thanks for the assistance.

[Archos 97 Neon] fix for hardware-mirrored touch digitizer?

Hi everyone,
when trying to replace a damaged digitizer for this tablet, I only received a similar one that is wired inverse to the original, so that recognition of touch gestures is now flipped vertically (in landscape mode).
Got a refund from the Chinese seller, meanwhile ordered from another seller - got the same screen, a compatible replacement seems to no longer exist for this tablet, now it can only be used with an external mouse.
The device is Archos 97 Neon, running Android 4.2.2 on some Rockchip 31.., I also have root access by now.
After reading through source.android.com/devices/input/touch-devices.html#touch-device-configuration
there was only two .idc files I could find, but they do not (yet?) seem to contain much configuration for the touch screen:
qwerty.idc
Code:
#
# Emulator keyboard configuration file #1.
#
touch.deviceType = touchScreen
touch.orientationAware = 1
keyboard.layout = qwerty
keyboard.characterMap = qwerty
keyboard.orientationAware = 1
keyboard.builtIn = 1
cursor.mode = navigation
cursor.orientationAware = 1
and qwerty2.idc
Code:
#
# Emulator keyboard configuration file #2.
#
touch.deviceType = touchScreen
touch.orientationAware = 1
keyboard.layout = qwerty
keyboard.characterMap = qwerty2
keyboard.orientationAware = 1
keyboard.builtIn = 1
cursor.mode = navigation
cursor.orientationAware = 1
The calculations shown for reference in the Android docs seemed quite straightforward, so I guessed I could just add a few magic lines to those .idc files to have the digitizer input fixed?
But it seems to be more complicated, will I really need the touch driver and / or kernel source code to build a new driver / kernel when all I want to do is mapping the touchpoints to a different location on the screen?
Is there maybe some universal app for rooted devices that kind of sits in between the manufacturers driver and the Android input system? Only found commercial fake "calibration" tools on the Play Store that do not really do anything.
I will be pleased about any suggestions
(the bad thing is, I actually offered to repair the crackled but otherwise still working screen for someone... now that the original screen fell into even more pieces when ripping it out, and there is no more chance to get an exact replacement, I basically destroyed their tablet... feels quite bad )

Categories

Resources