Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-53225

eglfs' KMS/DRM/GBM backend does not run on the console with Mesa anymore

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • P1: Critical
    • 5.7.0 RC
    • 5.7.0 Beta
    • Core: Plugins
    • None
    • Linux
    • 834087c3242cbb3d85a5b8b155788a368f09b836

    Description

      It wants to use the x11 EGL platform and dies due to not having an X connection.

      This has happened before. This time, git bisect shows this change is to blame:

      https://codereview.qt-project.org/#/c/153903/

      Obviously we need CI coverage of this scenario, if possible: just run some graphical autotests (or all of them, even) on the console instead of in an X session, with the eglfs platform.

      Problem one is that is tries to use the x11 EGL platform instead of drm. Problem two is that forcing EGL_PLATFORM=drm does not work either.

      WITHOUT the patch:

      qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms", "eglfs_x11")
      qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_x11")
      qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
      qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
      qt.qpa.input: udev device discovery for type QFlags(0x10)
      qt.qpa.input: Found matching devices ("/dev/dri/card0")
      qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
      qt.qpa.eglfs.kms: Using "/dev/dri/card0"
      qt.qpa.eglfs.kms: Opening device "/dev/dri/card0"
      qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0"
      libEGL debug: Native platform type: drm (autodetected)
      libEGL debug: added egl_dri2 to module array
      libEGL debug: the best driver is DRI2
      qt.qpa.eglfs.kms: Skipping disconnected output "VGA1"
      qt.qpa.eglfs.kms: Skipping disconnected output "HDMI1"
      qt.qpa.eglfs.kms: Skipping disconnected output "DP1"
      qt.qpa.eglfs.kms: Skipping disconnected output "HDMI2"
      qt.qpa.eglfs.kms: "DP2" mode count: 10
      qt.qpa.eglfs.kms: mode 0 1920 x 1200 @ 60 hz
      qt.qpa.eglfs.kms: mode 1 1920 x 1080 @ 60 hz
      qt.qpa.eglfs.kms: mode 2 1600 x 1200 @ 60 hz
      qt.qpa.eglfs.kms: mode 3 1680 x 1050 @ 60 hz
      qt.qpa.eglfs.kms: mode 4 1280 x 1024 @ 60 hz
      qt.qpa.eglfs.kms: mode 5 1280 x 960 @ 60 hz
      qt.qpa.eglfs.kms: mode 6 1024 x 768 @ 60 hz
      qt.qpa.eglfs.kms: mode 7 800 x 600 @ 60 hz
      qt.qpa.eglfs.kms: mode 8 640 x 480 @ 60 hz
      qt.qpa.eglfs.kms: mode 9 720 x 400 @ 70 hz
      qt.qpa.eglfs.kms: Selected mode 0 : 1920 x 1200 @ 60 hz for output "DP2"
      qt.qpa.eglfs.kms: Initializing cursor atlas from ":/cursor.json"
      qt.qpa.input: libinput: input device 'Power Button', /dev/input/event1 is tagged by udev as: Keyboard
      qt.qpa.input: libinput: input device 'Power Button', /dev/input/event1 is a keyboard
      qt.qpa.input: libinput: input device 'Video Bus', /dev/input/event2 is tagged by udev as: Keyboard
      qt.qpa.input: libinput: input device 'Video Bus', /dev/input/event2 is a keyboard
      qt.qpa.input: libinput: input device 'Power Button', /dev/input/event0 is tagged by udev as: Keyboard
      qt.qpa.input: libinput: input device 'Power Button', /dev/input/event0 is a keyboard
      qt.qpa.input: libinput: input device 'DELL Dell USB Entry Keyboard', /dev/input/event9 is tagged by udev as: Keyboard
      qt.qpa.input: libinput: input device 'DELL Dell USB Entry Keyboard', /dev/input/event9 is a keyboard
      qt.qpa.input: libinput: input device 'Logitech Logitech USB Optical Mouse', /dev/input/event10 is tagged by udev as: Mouse
      qt.qpa.input: libinput: input device 'Logitech Logitech USB Optical Mouse', /dev/input/event10 is a pointer caps
      qt.qpa.input: libinput: input device 'HDA Intel PCH HDMI/DP,pcm=3', /dev/input/event7 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event7'.
      qt.qpa.input: libinput: input device 'HDA Intel PCH HDMI/DP,pcm=7', /dev/input/event8 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event8'.
      qt.qpa.input: libinput: input device 'HDA Intel PCH Rear Mic', /dev/input/event3 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event3'.
      qt.qpa.input: libinput: input device 'HDA Intel PCH Front Mic', /dev/input/event4 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event4'.
      qt.qpa.input: libinput: input device 'HDA Intel PCH Line Out', /dev/input/event5 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event5'.
      qt.qpa.input: libinput: input device 'HDA Intel PCH Front Headphone', /dev/input/event6 not tagged as input device
      qt.qpa.input: libinput: failed to create input device '/dev/input/event6'.
      qt.qpa.input: Using xkbcommon for key mapping
      qt.qpa.eglfs.kms: Creating window for screen "DP2"
      qt.qpa.eglfs.kms: Creating native off screen window
      function is no-op
      qt.qpa.eglfs.kms: Creating native off screen window
      function is no-op
      

      WITH the patch:

      qt.qpa.egldeviceintegration: EGL device integration plugin keys: ("eglfs_kms", "eglfs_x11")
      qt.qpa.egldeviceintegration: EGL device integration plugin keys (sorted): ("eglfs_kms", "eglfs_x11")
      qt.qpa.egldeviceintegration: Trying to load device EGL integration "eglfs_kms"
      qt.qpa.egldeviceintegration: Using EGL device integration "eglfs_kms"
      qt.qpa.input: udev device discovery for type QFlags(0x10)
      qt.qpa.input: Found matching devices ("/dev/dri/card0")
      qt.qpa.eglfs.kms: Found the following video devices: ("/dev/dri/card0")
      qt.qpa.eglfs.kms: Using "/dev/dri/card0"
      qt.qpa.eglfs.kms: Opening device "/dev/dri/card0"
      qt.qpa.eglfs.kms: Creating GBM device for file descriptor 5 obtained from "/dev/dri/card0"
      libEGL debug: Native platform type: x11 (build-time configuration)
      libEGL debug: added egl_dri2 to module array
      libEGL warning: DRI2: xcb_connect failed
      libEGL warning: DRI2: xcb_connect failed
      libEGL debug: EGL user error 0x3001 (EGL_NOT_INITIALIZED) in eglInitialize
      
      Could not initialize egl display
      

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            lagocs Laszlo Agocs
            srutledg Shawn Rutledge
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes