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
Forum Updated to NodeBB v4.3 + New Features

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 484 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