[libcamera-devel] [PATCH v2 0/3] apps: qcam: Port to Qt 6

Kieran Bingham kieran.bingham at ideasonboard.com
Mon Sep 9 18:13:20 CEST 2024


Quoting Laurent Pinchart (2024-09-09 14:07:50)
> Hi Neal,
> 
> I realized today that the gles rendered in qcam is broken :-( Reverting
> back to qt5 works for me, so it's related to this patch series. Could
> you please test ('qcam -r gles') and investigate ?

I just tested this and have the following backtrace on Fedora Rawhide...

(gdb) bt
#0  0x0000ffffce368b3c in void st_update_array_templ<(util_popcnt)2, (st_fill_tc_set_vb)0, (st_use_vao_fast_path)1, (st_allow_zero_stride_attribs)0, (st_identity_attrib_mapping)0, (st_allow_user_buffers)0, (st_update_velems)1>(st_context*, unsigned int, unsigned int, unsigned int) () at /lib64/libgallium-24.2.1.so
#1  0x0000ffffce0f9484 in st_prepare_draw () at /lib64/libgallium-24.2.1.so
#2  0x0000ffffce294384 in _mesa_draw_arrays.part.0 () at /lib64/libgallium-24.2.1.so
#3  0x0000000000454934 in QOpenGLFunctions::glDrawArrays (this=0x722d60, mode=6, first=0, count=4) at /usr/include/qt6/QtGui/qopenglfunctions.h:709
#4  0x000000000045438c in ViewFinderGL::paintGL (this=0x722d30) at ../../src/apps/qcam/viewfinder_gl.cpp:823
#5  0x0000fffff74e2f00 in QOpenGLWidgetPrivate::render() () at /lib64/libQt6OpenGLWidgets.so.6
#6  0x0000fffff5dceecc in QWidget::event(QEvent*) () at /lib64/libQt6Widgets.so.6
#7  0x0000fffff5d6ea18 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#8  0x0000fffff6f71d58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#9  0x0000fffff5dc598c in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib64/libQt6Widgets.so.6
#10 0x0000fffff5ddba1c in QWidgetRepaintManager::paintAndFlush() () at /lib64/libQt6Widgets.so.6
#11 0x0000fffff5dcf64c in QWidget::event(QEvent*) () at /lib64/libQt6Widgets.so.6
#12 0x000000000043af30 in MainWindow::event (this=0x7c0440, e=0xffffd40042c0) at ../../src/apps/qcam/main_window.cpp:177
#13 0x0000fffff5d6ea18 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQt6Widgets.so.6
#14 0x0000fffff6f71d58 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib64/libQt6Core.so.6
#15 0x0000fffff6f76068 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () at /lib64/libQt6Core.so.6
#16 0x0000fffff7272fd4 in postEventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQt6Core.so.6
#17 0x0000fffff48d0b94 in g_main_context_dispatch_unlocked.lto_priv () at /lib64/libglib-2.0.so.0
#18 0x0000fffff49341d0 in g_main_context_iterate_unlocked.isra () at /lib64/libglib-2.0.so.0
#19 0x0000fffff48d2264 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#20 0x0000fffff7272658 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#21 0x0000fffff6f7f694 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQt6Core.so.6
#22 0x0000fffff6f7ac3c in QCoreApplication::exec() () at /lib64/libQt6Core.so.6
#23 0x0000000000439a24 in main (argc=3, argv=0xffffffffeeb8) at ../../src/apps/qcam/main.cpp:87
(gdb) quit
A debugging session is active.

--
Kieran


> 
> On Sun, Jan 21, 2024 at 05:39:52PM -0500, 📷-dev wrote:
> > Open source Qt 5 has been effectively end of life since the release
> > of Qt 6, and Qt 6 has current LTS releases now.
> > 
> > This change ports qcam to Qt 6.2 and drops some of the baggage related
> > to Qt 5 that is no longer applicable.
> > 
> > Additionally, a couple of patches are included to update documentation
> > references from Qt 5 to Qt 6.
> > 
> > === Changelog ===
> > 
> > v2: Bump Meson to v0.63 for Qt6 module
> > 
> > v1: Initial patch set
> > 
> > Neal Gompa (3):
> >   apps: qcam: Port to Qt 6
> >   libcamera: base: signal: Update Qt documentation link to Qt 6
> >   Documentation: Update Qt documentation links to Qt 6
> > 
> >  .../guides/application-developer.rst          |  2 +-
> >  Documentation/guides/pipeline-handler.rst     |  2 +-
> >  README.rst                                    |  2 +-
> >  meson.build                                   |  2 +-
> >  src/apps/qcam/meson.build                     | 45 ++++++-------------
> >  src/libcamera/base/signal.cpp                 |  2 +-
> >  6 files changed, 18 insertions(+), 37 deletions(-)
> 
> -- 
> Regards,
> 
> Laurent Pinchart


More information about the libcamera-devel mailing list