Hi,
My touchscreen isn't working quite right. The touch is being reported incorrectly on the Y axis. I noticed the following lines in Logcat.
W/imx6.gralloc( 2101): 32bpp setting of Framebuffer catched!
W/imx6.gralloc( 2101): using (fd=15)
W/imx6.gralloc( 2101): id = DISP3 BG
W/imx6.gralloc( 2101): xres = 480 px
W/imx6.gralloc( 2101): yres = 800 px
W/imx6.gralloc( 2101): xres_virtual = 480 px
W/imx6.gralloc( 2101): yres_virtual = 2688 px
W/imx6.gralloc( 2101): bpp = 32
W/imx6.gralloc( 2101): r = 0:8
W/imx6.gralloc( 2101): g = 8:8
W/imx6.gralloc( 2101): b = 16:8
W/imx6.gralloc( 2101): width = 76 mm (160.421051 dpi)
W/imx6.gralloc( 2101): height = 127 mm (160.000000 dpi)
W/imx6.gralloc( 2101): refresh rate = 65.20 Hz
This may be the source of my problem. Does anyone know where this value is originally being computed? Is it in the graphics driver or in the touchscreen driver (Goodix GT968)?
Alright I think I may be on the wrong trail. According to this page http://www.phonesdevelopers.com/1721566/ the yres_virtual is deliberately larger than the yres.
"Based on the initialization process EGLDisplaySurface if the framebuffer yres_virtual is greater than yres then framebuffer directly used for double buffering;"
My finger location/pointer location mismatch may be a problem in my touch IC calibration array.
Hello Luke,
Were you able to check your IC calibration?, I believe the problem is there...
I have sent a sample of my board and screen to the touch screen supplier for calibration. Hopefully that will solve it.