rapsberry pi + 2.8'' capacitive tft + qt5.8



  • Hi All,

    i recently bought capacitvie 2.8 TFT from adafruit (https://www.adafruit.com/product/242)

    TFT is connected to RPI using SPI.

    Im able to see application running on display only when platform is linuxfb. Once i change it to elgfs i see blank screen. Im suspecting that this is due to hardware limitations (SPI instead of HDMI).

    Here is the output of my app with all possible debug informations:
    QT_QPA_EGLFS_DEBUG=1 ./testrpi -platform eglfs
    start
    qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm")
    qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm")
    qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
    qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
    qt.qpa.input: evdevkeyboard: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x8)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ()
    qt.qpa.input: evdevmouse: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x1|0x2)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ()
    qt.qpa.input: evdevtouch: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x2|0x4)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: Found touchscreen at "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found touchscreen at "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ("/dev/input/event0", "/dev/input/touchscreen")
    qt.qpa.input: evdevtouch: Adding device at "/dev/input/event0"
    qt.qpa.input: evdevtouch: Adding device at "/dev/input/touchscreen"
    qt.qpa.input: evdevtouch: Using device /dev/input/event0
    qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type A (multi)
    qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 4095
    qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 4095
    qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 255
    qt.qpa.input: evdevtouch: /dev/input/event0: device name: ft6x06_ts
    qt.qpa.input: evdevtouch: Using device /dev/input/touchscreen
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: Protocol type A (multi)
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min X: 0 max X: 4095
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min Y: 0 max Y: 4095
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min pressure: 0 max pressure: 255
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: device name: ft6x06_ts
    Created context for format QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 0, redBufferSize 5, greenBufferSize 6, blueBufferSize 5, alphaBufferSize 0, stencilBufferSize 0, samples 0, swapBehavior QSurfaceFormat::SwapBehavior(DefaultSwapBehavior), swapInterval 1, profile QSurfaceFormat::OpenGLContextProfile(NoProfile)) with config:
    EGL_BUFFER_SIZE: 16
    EGL_ALPHA_SIZE: 0
    EGL_BLUE_SIZE: 5
    EGL_GREEN_SIZE: 6
    EGL_RED_SIZE: 5
    EGL_DEPTH_SIZE: 0
    EGL_STENCIL_SIZE: 0
    EGL_CONFIG_CAVEAT: 12344
    EGL_CONFIG_ID: 20
    EGL_LEVEL: 0
    EGL_MAX_PBUFFER_HEIGHT: 2048
    EGL_MAX_PBUFFER_PIXELS: 4194304
    EGL_MAX_PBUFFER_WIDTH: 2048
    EGL_NATIVE_RENDERABLE: 1
    EGL_NATIVE_VISUAL_ID: 107544
    EGL_NATIVE_VISUAL_TYPE: 12344
    EGL_SAMPLES: 0
    EGL_SAMPLE_BUFFERS: 0
    EGL_SURFACE_TYPE: 1639
    EGL_TRANSPARENT_TYPE: 12344
    EGL_TRANSPARENT_BLUE_VALUE: 0
    EGL_TRANSPARENT_GREEN_VALUE: 0
    EGL_TRANSPARENT_RED_VALUE: 0
    EGL_BIND_TO_TEXTURE_RGB: 1
    EGL_BIND_TO_TEXTURE_RGBA: 1
    EGL_MIN_SWAP_INTERVAL: 0
    EGL_MAX_SWAP_INTERVAL: 2147483647
    qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 1 touch devices, 1 pending handler(s)
    qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 2 touch devices, 0 pending handler(s)

    <blank scrren>

    and output once ran with linuxfb as platform:
    QT_QPA_EGLFS_DEBUG=1 ./testrpi -platform linuxfb:fb=/dev/fb1
    start
    qt.qpa.input: evdevkeyboard: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x8)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ()
    qt.qpa.input: evdevmouse: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x1|0x2)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ()
    qt.qpa.input: evdevtouch: Using device discovery
    qt.qpa.input: static device discovery for type QFlags(0x2|0x4)
    qt.qpa.input: doing static device discovery for "/dev/input/event0"
    qt.qpa.input: Found touchscreen at "/dev/input/event0"
    qt.qpa.input: doing static device discovery for "/dev/input/mice"
    qt.qpa.input: doing static device discovery for "/dev/input/mouse0"
    qt.qpa.input: doing static device discovery for "/dev/input/touchscreen"
    qt.qpa.input: Found touchscreen at "/dev/input/touchscreen"
    qt.qpa.input: Found matching devices ("/dev/input/event0", "/dev/input/touchscreen")
    qt.qpa.input: evdevtouch: Adding device at "/dev/input/event0"
    qt.qpa.input: evdevtouch: Adding device at "/dev/input/touchscreen"
    qt.qpa.input: evdevtouch: Using device /dev/input/event0
    qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type A (multi)
    qt.qpa.input: evdevtouch: /dev/input/event0: min X: 0 max X: 4095
    qt.qpa.input: evdevtouch: /dev/input/event0: min Y: 0 max Y: 4095
    qt.qpa.input: evdevtouch: /dev/input/event0: min pressure: 0 max pressure: 255
    qt.qpa.input: evdevtouch: /dev/input/event0: device name: ft6x06_ts
    qt.qpa.input: evdevtouch: Using device /dev/input/touchscreen
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: Protocol type A (multi)
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min X: 0 max X: 4095
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min Y: 0 max Y: 4095
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: min pressure: 0 max pressure: 255
    qt.qpa.input: evdevtouch: /dev/input/touchscreen: device name: ft6x06_ts
    qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 1 touch devices, 1 pending handler(s)
    qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 2 touch devices, 0 pending handler(s)
    <APP on screen>

    Any ideas why is this happening?

    regards
    s.


  • Qt Champions 2016

    Hi
    Never used a PI,
    but im wondering if you checked that
    ALL dependencies of the eglfs platform plugin are installed.
    But it does seems to load so might not be that.
    Is the openGL ok ?



  • acutally i dont have a clue how to test openGL itsefl. I wanted to start with it using QT. All libs are ok, no missing, all symlinks are OK, etc etc


  • Qt Champions 2016

    @sieciech
    The linux running on the board
    can it do
    http://www.upubuntu.com/2013/11/how-to-check-3d-acceleration-fps-in.html

    if its a debian child, maybe it has
    glxgears ?



  • I'd suggest go carefully thru
    https://wiki.qt.io/RaspberryPi2EGLFS
    pay attention to step 11. may be this is a reason



  • Re: rapsberry pi + 2.8'' capacitive tft + qt5.8

    The tutorial @mrjj mentioned is excellent and works. I had similar problems and removed the installed version of libts that comes with Raspian Jessie. I used the version of libts from GitHub and compiled it on a fresh install of Jessie Lite. Then I followed the tutorial. Except for the installation of libts-dev. Another important fact is, that the touch-panel should be installed and calibrated correctly.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.