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

The Qt application does not redraw own surface if it is an ivi-wayland client.

    XMLWordPrintable

Details

    • Bug
    • Resolution: Incomplete
    • P1: Critical
    • None
    • 5.9.3
    • QPA: Wayland
    • None

    Description

      I built RootFS by Buildroot buildroot-2018.02 Qt5.9,3 with the Wayland support.

      The hardware is Raspberry Pi 3.  

      I run example qt5wayland-5.9.3/examples/wayland/ivi-compositor

      $ QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=brcm ./ivi-compositor &

       

      and client application qt5wayland-5.9.3/tests/manual/qmlclient/

      I made a bit changed of main.qml

      import QtQuick 2.2
      import QtQuick.Window 2.2
      
      Window {
          id: window
          width: 400
          height: 400
          color: "blue"
          visible: true
      
          Column {
              spacing: 8
      
              Row {
                  spacing: 8
      
                  Repeater {
                      model: ListModel {
                          ListElement { label: "Windowed"; value: Window.Windowed }
                          ListElement { label: "Maximized"; value: Window.Maximized }
                          ListElement { label: "FullScreen"; value: Window.FullScreen }
                      }
      
                      Rectangle {
                          width: 96
                          height: 40
                          color: "gainsboro"
      
                          MouseArea {
                              anchors.fill: parent
                              onClicked: {
                                  window.visibility = model.value
      
                                  sometext_ID.text = index
                                  console.log("index", index)
                                  switch (index) {
                                  case    0:
                                      window.color = "#ff0000"
                                      break
                                  case    1:
                                      window.color = "#00ff00"
                                      break
                                  case    2:
                                      window.color = "#ffff00"
                                      break
                                  }
      
                                  console.log("window.color", window.color)
                              }
      
                              Text {
                                  anchors.centerIn: parent
                                  text: model.label
                              }
                          }
                      }
                  }
              }
      
              Text {
                  id: sometext_ID
      
                  color: "white"
                  text: {
                      switch (window.visibility) {
                      case Window.Windowed:
                          return "windowed";
                      case Window.Maximized:
                          return "maximized";
                      case Window.FullScreen:
                          return "fullscreen";
                      case Window.Minimized:
                          return "minimized";
                      case Window.AutomaticVisibility:
                          return "automatic";
                      case Window.Hidden:
                          return "hidden";
                      default:
                          break;
                      }
                      return "unknown";
                  }
              }
          }
      }
      

      $ QT_WAYLAND_SHELL_INTEGRATION=ivi-shell ./qmlclient 

      Clicking on buttons not redraw nothing. 

      The console log:

      $ QT_WAYLAND_SHELL_INTEGRATION=ivi-shell ./qmlclient
      QML debugging is enabled. Only use this in a safe environment.
      Using Brcm-EGL
      Using the 'ivi-shell' shell integration
      qml: index 1
      qml: window.color #00ff00
      qml: index 2
      qml: window.color #ffff00
      qml: index 0
      qml: window.color #ff0000
      
      

       

      If I run qt5wayland-5.9.3/examples/wayland/pure-qml as compositor

      $ QT_IM_MODULE=qtvirtualkeyboard ./pure-qml
      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).
      
      

      and

      qt5wayland-5.9.3/tests/manual/qmlclient/ as client

      $ ./qmlclient -platform wayland
      

      all work perfectly

       

       

       

       

      Attachments

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

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            dm.pozhidaev Dmitry
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes