eglfs is not work



  • Cross compile Qt 5.9.0 for raspberry pi 3 problem: eglfs is not work, it is not display my 3.5 inch touchscreen, linuxfb is ok

    the log:
    pi@raspberrypi:~$ ./openglwindow
    qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_brcm", "eglfs_emu")
    qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_brcm", "eglfs_emu")
    qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_brcm"
    qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_brcm"
    Unable to query physical screen size, defaulting to 100 dpi.
    To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
    qt.qpa.input: evdevkeyboard: Using device discovery
    qt.qpa.input: static device discovery for type QFlagsQDeviceDiscovery::QDeviceType(Device_Keyboard)
    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: Found matching devices ()
    qt.qpa.input: evdevmouse: Using device discovery
    qt.qpa.input: static device discovery for type QFlagsQDeviceDiscovery::QDeviceType(Device_Mouse|Device_Touchpad)
    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: Found matching devices ()
    qt.qpa.input: evdevtouch: Using device discovery
    qt.qpa.input: static device discovery for type QFlagsQDeviceDiscovery::QDeviceType(Device_Touchpad|Device_Touchscreen)
    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: Found matching devices ("/dev/input/event0")
    qt.qpa.input: evdevtouch: Adding device at "/dev/input/event0"
    qt.qpa.input: evdevtouch: Using device /dev/input/event0
    qt.qpa.input: evdevtouch: /dev/input/event0: Protocol type A (single), filtered=no
    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: 65535
    qt.qpa.input: evdevtouch: /dev/input/event0: device name: ADS7846 Touchscreen
    Created context for format QSurfaceFormat(version 2.0, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize -1, redBufferSize -1, greenBufferSize -1, blueBufferSize -1, alphaBufferSize -1, stencilBufferSize -1, samples 16, 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: 24
    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: 4
    EGL_SAMPLE_BUFFERS: 1
    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: 0
    EGL_BIND_TO_TEXTURE_RGBA: 0
    EGL_MIN_SWAP_INTERVAL: 0
    EGL_MAX_SWAP_INTERVAL: 2147483647
    qt.qpa.input: evdevtouch: Updating QInputDeviceManager device count: 1 touch devices, 0 pending handler(s)

    no error in log,but the touchscrren is not any display,who can help me?
    Forgive my poor English



  • You can use the eglfs plugin on rpi due to the bcrm chip hardware restrictions only on hdmi or dsi connected displays. If you have a i2c or spi display you can only use linuxfb.
    One workaround we used was to run the application on eglfs without a hdmi display and use framebuffer copy (https://github.com/tasanakorn/rpi-fbcp) to mirrow the eglfs application to a spi display. This was working quit well.



  • @sneubert Thank you for your reply. I'll try it



  • @sneubert Thank you again,it work well



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