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

Displays went off after closing Qt eglfs DRM/KMS application

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.12.1, 5.12.2
    • QPA: KMS
    • None
    • Qualcomm Adreno
    • Linux/Wayland

    Description

      To reproduce this issue I used application from this article https://blog.qt.io/blog/2016/09/19/qt-graphics-with-multiple-displays-on-embedded-linux/ - quickmwtest (https://github.com/alpqr/quickmwtest) with some modifications:

      1. I added SIGINT signal handler in order to free all resources properly on the application side after closing from console.
      2. I changed this code:

        for (int i = 0; i < screens.count(); ++i) {
               QQuickView *v = addView(screens[i], i);

        in order to reproduce different scenarios

      The main problem was observed using this scenario:

      1. If I run application as it is, without changing number of loop iterations - after closing of application all displays up and nothing strange observed.
      2. If I change number of loop iteration in order to create QQuickView's not for all sceens - after closing of application all displays went off (no errors in the output of application), more looks like they went to sleep mode. However, re-running of application leading to enabling of displays.

      One point that QC devs mentioned - maybe problem related to freeing DRM resources after closing of application. The only difference I saw in freeing sequence (between 1 and 2) was numbers of drmModeSetCrtc calls (that I thought leading to QKmsOutput::restoreMode(QKmsDevice *device) calls) for corresponding screens of that views.

      I uploaded run logs + sample binaries + original source code. 

      Attachments

        Activity

          People

            lagocs Laszlo Agocs
            nkrasnoyarov NIKITA KRASNOYAROV
            Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: