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. QML QWebEngineView rendering randomly freezes on Wayland
Qt 6.11 is out! See what's new in the release blog

QML QWebEngineView rendering randomly freezes on Wayland

Scheduled Pinned Locked Moved Unsolved Mobile and Embedded
3 Posts 2 Posters 919 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.
  • V Offline
    V Offline
    veodko
    wrote on last edited by
    #1

    I'm running a very basic and simple QWebEngineView in QML on an ARM64/ARMV7 devices running on Wayland (weston). Tested WebEngine versions 5.12.7 and 5.13.2.

    It just displays a website, I used QML to handle stuff such as authenticationRequired events easily etc.
    If the website contains some infinite transition/animation (scrolling text etc) then randomly (sometimes after few minutes sometimes few hours) rendering of the webengine stalls to something like 1 frame every minute. One frame is also updated every time I spawn/close some window in Weston. There is no high CPU usage or anything.

    I caught some detailed log when this happens:

    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=19, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderer time in renderer: total=10ms, preprocess=0, updates=0, binding=0, rendering=10
    2023-06-21T10:37:14 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - polish and sync update request
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop polishAndSync (normal) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:37:14 22663 warning-default QBasicTimer::start: Timers cannot be started from another thread
    2023-06-21T10:37:14 22663 debug-qt.qpa.wayland Applied pending zxdg_toplevel_v6 configure event: QSize(0, 0) QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 33ms, sync=1, render=10, swap=21 - (on render thread)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:37:14 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:37:14 22663 debug-qt.quick.dirty    QSGNode: QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick(0x1a96dc8, parent=0x1985940, geometry=0,0 514x1080) Content
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) sceneGraphChanged
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - sync complete, waking Gui
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=22, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderer time in renderer: total=12ms, preprocess=0, updates=0, binding=0, rendering=12
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 58ms, sync=1, render=14, swap=43 - (on render thread)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:37:14 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderer time in renderer: total=14ms, preprocess=0, updates=0, binding=0, rendering=14
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 40ms, sync=0, render=14, swap=25 - (on render thread)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=93, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEventsAndWaitForMore()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:37:14 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderer time in renderer: total=9ms, preprocess=0, updates=0, binding=0, rendering=9
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 35ms, sync=0, render=9, swap=25 - (on render thread)
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:37:14 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=36, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:37:14 22609 debug-qt.quick.focus QQuickWindowPrivate::clearFocusInScope():
    2023-06-21T10:37:14 22609 debug-qt.quick.focus     scope: QObject(0x0)
    2023-06-21T10:37:14 22609 debug-qt.quick.focus     item: QQuickRootItem(0x196be40)
    2023-06-21T10:37:14 22609 debug-qt.quick.focus     activeFocusItem: QQuickRootItem(0x196be40)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:14 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowActive)
    2023-06-21T10:37:51 22609 debug-qt.qpa.wayland Applied pending zxdg_toplevel_v6 configure event: QSize(0, 0) QFlags<Qt::WindowState>(WindowActive)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEventsAndWaitForMore()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:37:51 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:37:51 22663 debug-qt.quick.dirty    QSGNode: QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick(0x1a96dc8, parent=0x1985940, geometry=0,0 514x1080) Content
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) sceneGraphChanged
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.time.renderer time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 4ms, sync=1, render=1, swap=1 - (on render thread)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=4, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:37:51 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:37:51 22609 debug-qt.qpa.wayland Applied pending zxdg_toplevel_v6 configure event: QSize(0, 0) QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:37:51 22609 debug-qt.quick.focus QQuickWindowPrivate::setFocusInScope():
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     scope: QObject(0x0)
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     item: QQuickRootItem(0x196be40)
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     activeFocusItem: QObject(0x0)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEventsAndWaitForMore()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:37:51 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.time.renderer time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 9ms, sync=3, render=1, swap=4 - (on render thread)
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:37:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=22, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:37:51 22609 debug-qt.quick.focus QQuickWindowPrivate::clearFocusInScope():
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     scope: QObject(0x0)
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     item: QQuickRootItem(0x196be40)
    2023-06-21T10:37:51 22609 debug-qt.quick.focus     activeFocusItem: QQuickRootItem(0x196be40)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:37:51 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowActive)
    2023-06-21T10:38:50 22609 debug-qt.qpa.wayland Applied pending zxdg_toplevel_v6 configure event: QSize(0, 0) QFlags<Qt::WindowState>(WindowActive)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEventsAndWaitForMore()
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:38:50 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:38:50 22663 debug-qt.quick.dirty    QSGNode: QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick(0x1a96dc8, parent=0x1985940, geometry=0,0 514x1080) Content
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) sceneGraphChanged
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.time.renderer time in renderer: total=1ms, preprocess=0, updates=0, binding=0, rendering=1
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 4ms, sync=1, render=2, swap=1 - (on render thread)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=5, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:38:50 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:50 22609 debug-qt.quick.focus QQuickWindowPrivate::setFocusInScope():
    2023-06-21T10:38:50 22609 debug-qt.quick.focus     scope: QObject(0x0)
    2023-06-21T10:38:50 22609 debug-qt.quick.focus     item: QQuickRootItem(0x196be40)
    2023-06-21T10:38:50 22609 debug-qt.quick.focus     activeFocusItem: QObject(0x0)
    2023-06-21T10:38:51 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:38:51 22609 debug-qt.qpa.wayland Applied pending zxdg_toplevel_v6 configure event: QSize(0, 0) QFlags<Qt::WindowState>(WindowNoState)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop exposureChanged() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop handleExposure() QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop - render thread already running
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop polishAndSync (in expose) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop - lock for sync
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop - wait for sync
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) WM_RequestSync
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) - triggered from expose
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEventsAndWaitForMore()
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) syncAndRender()
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) - updatePending, doing sync
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) sync()
    2023-06-21T10:38:51 22663 debug-qt.quick.dirty QQuickWindowPrivate::updateDirtyNodes():
    2023-06-21T10:38:51 22663 debug-qt.quick.dirty    QSGNode: QtWebEngineCore::RenderWidgetHostViewQtDelegateQuick(0x1a96dc8, parent=0x1985940, geometry=0,0 514x1080) Content
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) sceneGraphChanged
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering started
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.time.renderer time in renderer: total=0ms, preprocess=0, updates=0, binding=0, rendering=0
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) - rendering done
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) - wake Gui after initial expose
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.time.renderloop Frame rendered with 'threaded' renderloop in 2ms, sync=1, render=1, swap=0 - (on render thread)
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEvents()
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- done processEvents()
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) done drawing, sleep...
    2023-06-21T10:38:51 22663 debug-qt.scenegraph.renderloop                     (RT) --- begin processEventsAndWaitForMore()
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop - unlock after sync
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.time.renderloop Frame prepared with 'threaded' renderloop, polish=0, lock=0, blockedForSync=7, animations=0 - (on Gui thread) QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop - done with handleExposure()
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.scenegraph.renderloop update from item QQuickWindowQmlImpl_QML_0(0x196cdc0 active exposed, visibility=QWindow::Windowed, flags=QFlags<Qt::WindowType>(FramelessWindowHint), title="WebEngine", geometry=1406,0 514x1080)
    2023-06-21T10:38:51 22609 debug-qt.quick.focus QQuickWindowPrivate::clearFocusInScope():
    2023-06-21T10:38:51 22609 debug-qt.quick.focus     scope: QObject(0x0)
    2023-06-21T10:38:51 22609 debug-qt.quick.focus     item: QQuickRootItem(0x196be40)
    2023-06-21T10:38:51 22609 debug-qt.quick.focus     activeFocusItem: QQuickRootItem(0x196be40)
    2023-06-21T10:39:35 22609 debug-qt.qpa.wayland Received zxdg_toplevel_v6.configure with QSize(0, 0) and QFlags<Qt::WindowState>(WindowActive)
    

    What I noticed, is that this line always appears exactly once, when it starts to freeze (and never more):

    2023-06-21T10:37:14 22663 warning-default QBasicTimer::start: Timers cannot be started from another thread
    

    What's interesting is that I'm not using ANY timer at all in the whole app, I stripped everything down just to a simple view and it still happened.

    However, when I wrote the same app in plain C++ without QML, this doesn't happen at all. It only freezes when using QML to render the window.

    I think this is related to these bugs:
    https://bugreports.qt.io/browse/QTBUG-66075
    https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/843

    And it seems to affect >=5.10 and got fixed in Qt 6, which is not even yet supported fully by Buildroot. Is there any way to fix it or merge the fix back into Qt5?

    1 Reply Last reply
    0
    • V Offline
      V Offline
      veodko
      wrote on last edited by
      #2

      Could someone shine some light onto this issue? Anyone else encountered this?
      I'm still facing it, buildroot still doesn't have any real qt6 support just some base stuff. As a temporary workaround I made a downgrade and dropped QML for plain C++ but it's too hard to achieve the same stuff as I had in QML, I'd rather drop QT altogether and use electron or something else

      T 1 Reply Last reply
      0
      • V veodko

        Could someone shine some light onto this issue? Anyone else encountered this?
        I'm still facing it, buildroot still doesn't have any real qt6 support just some base stuff. As a temporary workaround I made a downgrade and dropped QML for plain C++ but it's too hard to achieve the same stuff as I had in QML, I'd rather drop QT altogether and use electron or something else

        T Offline
        T Offline
        The Qt Mayssa
        wrote on last edited by
        #3

        @veodko said in QML QWebEngineView rendering randomly freezes on Wayland:

        altogether and use electron or s

        Hello ! i'm doing some tests on a Raspberry pi5 that uses Wayland (instead of X11) with Wayfire (instead of Mutter) by default.
        I installed qt5 and tried to run a simple example of qt ( the minimal webengineview example) . I'm having a black screen not even the freez probleme as you do.
        I was wondering if you can share with me the procedure made ( installations and environment variables set ) to make it work.
        Also, any luck with your problem ? Did you commit suicide (yet? 🤦‍♀️🤣 )

        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