Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. Mobile and Embedded
  4. rapsberry pi + 2.8'' capacitive tft + qt5.8

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

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
6 Posts 4 Posters 2.5k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • S Offline
    S Offline
    sieciech
    wrote on last edited by
    #1

    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.

    1 Reply Last reply
    0
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #2

      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 ?

      1 Reply Last reply
      0
      • S Offline
        S Offline
        sieciech
        wrote on last edited by
        #3

        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

        mrjjM 1 Reply Last reply
        0
        • S sieciech

          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

          mrjjM Offline
          mrjjM Offline
          mrjj
          Lifetime Qt Champion
          wrote on last edited by
          #4

          @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 ?

          1 Reply Last reply
          0
          • V Offline
            V Offline
            vladstelmahovsky
            wrote on last edited by
            #5

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

            1 Reply Last reply
            0
            • A Offline
              A Offline
              awsomedevsigner
              wrote on last edited by awsomedevsigner
              #6

              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.

              1 Reply Last reply
              1

              • Login

              • Login or register to search.
              • First post
                Last post
              0
              • Categories
              • Recent
              • Tags
              • Popular
              • Users
              • Groups
              • Search
              • Get Qt Extensions
              • Unsolved