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. Qt 5.15.12 Creating GBM device for file descriptor is very slow
Qt 6.11 is out! See what's new in the release blog

Qt 5.15.12 Creating GBM device for file descriptor is very slow

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
2 Posts 2 Posters 658 Views
  • 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.
  • A Offline
    A Offline
    Astraya
    wrote on last edited by
    #1

    Hello,

    I have a raspberry pi 3B+ with latest bookworm on it.
    The first time the application start after a fresh boot, the line Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0"is very slow the first time ( approximately 2 or 3 seconds if not more ). But if i restart the application, it start directly with no latency. I imagine that there is some cache that is created...
    I whould like to know if there is a possiblity to avoid the discovering of the device or pre-create the GBM device for file descriptor. The hardware will never change after a deployment.

    Here is the debugs:

    Got keys from plugin meta data ("eglfs_kms")
    QFactoryLoader::QFactoryLoader() checking directory path "/root/ihm/egldeviceintegrations" ...
    loaded library "/usr/local/qt5.15.10/plugins/egldeviceintegrations/libqeglfs-kms-integration.so"
    qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
    qt.qpa.eglfs.kms: platformInit: Opening DRM device
    qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
    qt.qpa.eglfs.kms: Using "/dev/dri/card0"
    qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0
    qt.qpa.eglfs.kms: Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0"
    qt.qpa.eglfs.kms: Using dedicated drm event reading thread
    qt.qpa.eglfs.kms: Initalizing event reader for device 0x6e09a0 fd 7
    qt.qpa.eglfs.kms: Querying EGLDisplay
    qt.qpa.eglfs.kms: Event reader thread: entering event loop
    

    Here is how i start it

    TSLIB_TSDEVICE=/dev/input/ts_raw \
    TSLIB_CONFFILE=/etc/ts.conf \
    QT_QPA_EGLFS_NO_LIBINPUT=1 \
    QT_QPA_EGLFS_TSLIB=1 \
    QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/ts_raw \
    QT_LOGGING_RULES=qt.qpa.eglfs.kms=true \
    QT_QPA_EGLFS_KMS_CONFIG=gbm.json \
    QT_QPA_EGLFS_KMS_ATOMIC=1 \
    QT_QPA_EGLFS_KMS_PLANE_INDEX=0 ./my_app -platform eglfs -plugin tslib
    

    Content of the gbm.json:

    {
      "device": "/dev/dri/card0",
      "outputs": [
        {
          "name": "HDMI1",
          "mode": "1024x600"
        }
      ]
    }
    

    Thank you

    D 1 Reply Last reply
    0
    • A Astraya

      Hello,

      I have a raspberry pi 3B+ with latest bookworm on it.
      The first time the application start after a fresh boot, the line Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0"is very slow the first time ( approximately 2 or 3 seconds if not more ). But if i restart the application, it start directly with no latency. I imagine that there is some cache that is created...
      I whould like to know if there is a possiblity to avoid the discovering of the device or pre-create the GBM device for file descriptor. The hardware will never change after a deployment.

      Here is the debugs:

      Got keys from plugin meta data ("eglfs_kms")
      QFactoryLoader::QFactoryLoader() checking directory path "/root/ihm/egldeviceintegrations" ...
      loaded library "/usr/local/qt5.15.10/plugins/egldeviceintegrations/libqeglfs-kms-integration.so"
      qt.qpa.eglfs.kms: New DRM/KMS via GBM integration created
      qt.qpa.eglfs.kms: platformInit: Opening DRM device
      qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
      qt.qpa.eglfs.kms: Using "/dev/dri/card0"
      qt.qpa.eglfs.kms: Using backend-provided DRM device /dev/dri/card0
      qt.qpa.eglfs.kms: Creating GBM device for file descriptor 7 obtained from "/dev/dri/card0"
      qt.qpa.eglfs.kms: Using dedicated drm event reading thread
      qt.qpa.eglfs.kms: Initalizing event reader for device 0x6e09a0 fd 7
      qt.qpa.eglfs.kms: Querying EGLDisplay
      qt.qpa.eglfs.kms: Event reader thread: entering event loop
      

      Here is how i start it

      TSLIB_TSDEVICE=/dev/input/ts_raw \
      TSLIB_CONFFILE=/etc/ts.conf \
      QT_QPA_EGLFS_NO_LIBINPUT=1 \
      QT_QPA_EGLFS_TSLIB=1 \
      QT_QPA_GENERIC_PLUGINS=evdevtouch:/dev/input/ts_raw \
      QT_LOGGING_RULES=qt.qpa.eglfs.kms=true \
      QT_QPA_EGLFS_KMS_CONFIG=gbm.json \
      QT_QPA_EGLFS_KMS_ATOMIC=1 \
      QT_QPA_EGLFS_KMS_PLANE_INDEX=0 ./my_app -platform eglfs -plugin tslib
      

      Content of the gbm.json:

      {
        "device": "/dev/dri/card0",
        "outputs": [
          {
            "name": "HDMI1",
            "mode": "1024x600"
          }
        ]
      }
      

      Thank you

      D Offline
      D Offline
      diana658h
      wrote on last edited by
      #2
      This post is deleted!
      1 Reply Last reply
      0

      • Login

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