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

EGLFS_brcm hangs on RPi4

    XMLWordPrintable

Details

    • Bug
    • Resolution: Out of scope
    • P2: Important
    • None
    • 5.12.4
    • QPA: EGLFS
    • None
    • Linux/Other display system

    Description

      I recently accquired a Raspberry Pi 4, and followed the usual steps to build Qt for it. (As documented at: https://wiki.qt.io/RaspberryPi2EGLFS )

      The build works fine (well except I had to switch to the Linaro toolchain to work around a compiler crash building QDateTime in debug mode with the official / old toolchain), but at runtime, all Qt apps hang soon after starting eglfs_brcm.

      I now did a debug build of Qt, and was able to get a back-trace:

      #0  0xb5a3a088 in futex_abstimed_wait_cancelable (private=0, abstime=0x0, expected=1, futex_word=0xb35c2a58 <khrn_queue+76>) at ../sysdeps/unix/sysv/linux/futex-internal.h:205

      #1  0xb5a3a088 in do_futex_wait (sem=sem@entry=0xb35c2a58 <khrn_queue+76>, abstime=0x0) at sem_waitcommon.c:115

      #2  0xb5a3a1f4 in __new_sem_wait_slow (sem=0xb35c2a58 <khrn_queue+76>, abstime=0x0) at sem_waitcommon.c:282

      #3  0xb354fb60 in vchiu_queue_pop () at /opt/vc/lib/libvchiq_arm.so

      #4  0xb359c014 in rpc_recv () at /opt/vc/lib/libbrcmEGL.so

      #5  0xb3596b54 in egl_surface_create () at /opt/vc/lib/libbrcmEGL.so

      #6  0xb359310c in eglCreateWindowSurface () at /opt/vc/lib/libbrcmEGL.so

      #7  0xb2f04a06 in QEglFSWindow::resetSurface() (this=0x5afbb8) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/plugins/platforms/eglfs/api/qeglfswindow.cpp:217

      #8  0xb2f04dc4 in QEglFSWindow::create() (this=this@entry=0x5afbb8) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/plugins/platforms/eglfs/api/qeglfswindow.cpp:136

      #9  0xb2f09af0 in QEglFSIntegration::createPlatformWindow(QWindow*) const (this=<optimized out>, window=0xbe827490) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/plugins/platforms/eglfs/api/qeglfsintegration.cpp:200

      #10 0xb6464e88 in QWindowPrivate::create(bool, unsigned int) (this=0x4e3818, recursive=recursive@entry=false, nativeHandle=nativeHandle@entry=0) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/gui/kernel/qwindow.cpp:516

      #11 0xb6464f70 in QWindow::create() (this=this@entry=0xbe827490) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/gui/kernel/qwindow.cpp:639

      #12 0xb64658fc in QWindowPrivate::setVisible(bool) (this=0x4e3818, visible=<optimized out>) at /home/jmt/Qt-pi/qt-everywhere-src-5.12.4/qtbase/src/gui/kernel/qwindow.cpp:352

       

      Of course I am using the legacy / non-KMS driver in my raspi-config / config.txt

      Same procedure works fine on Raspberry Pi3s. Suggestions on how to debug further would be welcome. (I'm about to test the non-Broadcom VC4 driver with EGLFS_kms, as well)

       

      Attachments

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

        Activity

          People

            lagocs Laszlo Agocs
            zakalawe James Turner
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes