Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package qt6-webengine for openSUSE:Factory checked in at 2026-05-28 17:25:34 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/qt6-webengine (Old) and /work/SRC/openSUSE:Factory/.qt6-webengine.new.1937 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "qt6-webengine" Thu May 28 17:25:34 2026 rev:56 rq:1355555 version:6.11.1 Changes: -------- --- /work/SRC/openSUSE:Factory/qt6-webengine/qt6-webengine.changes 2026-03-28 20:13:32.045876131 +0100 +++ /work/SRC/openSUSE:Factory/.qt6-webengine.new.1937/qt6-webengine.changes 2026-05-28 17:26:45.243259226 +0200 @@ -1,0 +2,19 @@ +Sun May 24 07:33:03 UTC 2026 - Christophe Marin <[email protected]> + +- Add upstream fix (QTBUG-145344) + * 0001-Fix-AMD-VA-API-flickering-on-Wayland-by-allowing-mul.patch + +------------------------------------------------------------------- +Thu May 14 14:56:40 UTC 2026 - Christophe Marin <[email protected]> + +- Update to 6.11.1 + https://www.qt.io/blog/qt-6.11.1-released + Based on Chromium version: 140.0.7339.264 + Patched with security patches up to Chromium version: 148.0.7778.96 + +------------------------------------------------------------------- +Thu Mar 26 21:46:11 UTC 2026 - Christophe Marin <[email protected]> + +- Update build dependencies + +------------------------------------------------------------------- Old: ---- qtwebengine-everywhere-src-6.11.0.tar.xz New: ---- 0001-Fix-AMD-VA-API-flickering-on-Wayland-by-allowing-mul.patch qtwebengine-everywhere-src-6.11.1.tar.xz ----------(New B)---------- New:- Add upstream fix (QTBUG-145344) * 0001-Fix-AMD-VA-API-flickering-on-Wayland-by-allowing-mul.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ qt6-webengine.spec ++++++ --- /var/tmp/diff_new_pack.lXsPjq/_old 2026-05-28 17:26:57.607771035 +0200 +++ /var/tmp/diff_new_pack.lXsPjq/_new 2026-05-28 17:26:57.607771035 +0200 @@ -16,7 +16,7 @@ # -%define real_version 6.11.0 +%define real_version 6.11.1 %define short_version 6.11 %define tar_name qtwebengine-everywhere-src %define tar_suffix %{nil} @@ -29,7 +29,7 @@ %endif # # Private QML imports -%global __requires_exclude qt6qmlimport\\((BrowserUtils|frequencymonitor|FrequencyMonitor|performancemonitor).* +%global __requires_exclude qt6qmlimport\\((BrowserUtils|frequencymonitor|FrequencyMonitor|LifecycleUtils|performancemonitor).* # %if 0%{?suse_version} > 1500 # The antique version in Leap 15 is too old for building chromium @@ -48,6 +48,9 @@ %{?sle15_python_module_pythons} %define pyver python311 %endif +%if 0%{?suse_version} >= 1699 +%bcond_without system_openh264 +%endif # # Note about required versions: # qtwebengine supports building against the latest LTS release. This (potentially) allows submitting @@ -55,7 +58,7 @@ %global lts_version 6.8.0 # Name: qt6-webengine%{?pkg_suffix} -Version: 6.11.0 +Version: 6.11.1 Release: 0 Summary: Web browser engine for Qt applications License: GPL-2.0-only OR LGPL-3.0-only OR GPL-3.0-only @@ -63,6 +66,7 @@ Source0: https://download.qt.io/official_releases/qt/%{short_version}/%{real_version}%{tar_suffix}/submodules/%{tar_name}-%{real_version}%{tar_suffix}.tar.xz Source99: qt6-webengine-rpmlintrc # Patches 0-100 are upstream patches # +Patch0: 0001-Fix-AMD-VA-API-flickering-on-Wayland-by-allowing-mul.patch # Patches 100-200 are openSUSE and/or non-upstream(able) patches # Patch100: rtc-dont-use-h264.patch Patch101: QtWebEngine_6.8_skip_xnnpack.patch @@ -87,25 +91,19 @@ BuildRequires: pkgconfig BuildRequires: qt6-core-private-devel >= %{lts_version} BuildRequires: qt6-gui-private-devel >= %{lts_version} -BuildRequires: qt6-qml-private-devel >= %{lts_version} BuildRequires: qt6-quick-private-devel >= %{lts_version} -BuildRequires: qt6-quickwidgets-private-devel >= %{lts_version} BuildRequires: qt6-widgets-private-devel >= %{lts_version} BuildRequires: snappy-devel BuildRequires: cmake(Qt6Core) >= %{lts_version} BuildRequires: cmake(Qt6Designer) >= %{lts_version} BuildRequires: cmake(Qt6Gui) >= %{lts_version} -BuildRequires: cmake(Qt6GuiTools) >= %{lts_version} # Only needed for tests, no need to have it # BuildRequires: cmake(Qt6HttpServer) BuildRequires: cmake(Qt6Network) >= %{lts_version} BuildRequires: cmake(Qt6OpenGL) >= %{lts_version} -BuildRequires: cmake(Qt6OpenGLWidgets) >= %{lts_version} BuildRequires: cmake(Qt6Positioning) >= %{lts_version} BuildRequires: cmake(Qt6PrintSupport) >= %{lts_version} BuildRequires: cmake(Qt6Qml) >= %{lts_version} -BuildRequires: cmake(Qt6QmlModels) >= %{lts_version} -BuildRequires: cmake(Qt6QmlTools) >= %{lts_version} BuildRequires: cmake(Qt6Quick) >= %{lts_version} BuildRequires: cmake(Qt6QuickControls2) >= %{lts_version} BuildRequires: cmake(Qt6QuickTest) >= %{lts_version} @@ -115,10 +113,8 @@ BuildRequires: cmake(Qt6WebChannelQuick) >= %{lts_version} BuildRequires: cmake(Qt6WebSockets) >= %{lts_version} BuildRequires: cmake(Qt6Widgets) >= %{lts_version} -BuildRequires: cmake(Qt6WidgetsTools) >= %{lts_version} BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(dbus-1) -BuildRequires: pkgconfig(epoxy) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gbm) @@ -127,6 +123,7 @@ BuildRequires: pkgconfig(glproto) %if %{with system_harfbuzz} BuildRequires: pkgconfig(harfbuzz) >= 4.3.0 +BuildRequires: pkgconfig(harfbuzz-subset) >= 4.3.0 %endif %if %{with system_icu} BuildRequires: pkgconfig(icu-i18n) >= 71 @@ -138,44 +135,39 @@ BuildRequires: pkgconfig(libavformat) >= 60.16.100 BuildRequires: pkgconfig(libavutil) >= 58.29.100 %endif -BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(libdrm) -BuildRequires: pkgconfig(libevent) %if %{with system_openjpeg2} BuildRequires: pkgconfig(libopenjp2) %endif BuildRequires: pkgconfig(libpci) BuildRequires: pkgconfig(libpulse) >= 0.9.10 %if %{with system_tiff} -BuildRequires: pkgconfig(libtiff-4) >= 4.2.0 +BuildRequires: pkgconfig(libtiff-4) >= 4.5.0 %endif -BuildRequires: pkgconfig(libva) +BuildRequires: pkgconfig(libva) >= 1.14 BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libwebpdemux) +BuildRequires: pkgconfig(libwebpmux) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(minizip) BuildRequires: pkgconfig(nss) >= 3.26 +%if %{with system_openh264} +BuildRequires: pkgconfig(openh264) >= 2.4.1 +%endif BuildRequires: pkgconfig(opus) >= 1.3.1 -BuildRequires: pkgconfig(poppler-cpp) -%if 0%{?suse_version} <= 1500 -BuildRequires: pkgconfig(re2) < 11 -%else -BuildRequires: pkgconfig(re2) +%if 0%{?suse_version} >= 1600 +BuildRequires: pkgconfig(re2) >= 11 %endif BuildRequires: pkgconfig(vpx) >= 1.10.0 BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xdamage) -BuildRequires: pkgconfig(xext) -BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xkbfile) BuildRequires: pkgconfig(xrandr) -BuildRequires: pkgconfig(xrender) -BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xshmfence) -BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) BuildRequires: pkgconfig(zlib) # Chromium/blink don't support PowerPC and zSystems and build fails on @@ -416,7 +408,9 @@ %if %{without system_openjpeg2} -DFEATURE_webengine_system_libopenjpeg2:BOOL=FALSE \ %endif - -DFEATURE_webengine_system_libevent:BOOL=TRUE \ +%if %{with system_openh264} + -DFEATURE_webengine_system_openh264:BOOL=TRUE \ +%endif -DFEATURE_webengine_webrtc:BOOL=TRUE \ -DFEATURE_webengine_webrtc_pipewire:BOOL=TRUE \ -DQT_BUILD_EXAMPLES:BOOL=TRUE \ @@ -438,7 +432,7 @@ rm -r %{buildroot}%{_qt6_cmakedir}/Qt6BuildInternals # Only needed internally -rm %{buildroot}%{_qt6_cmakedir}/Qt6/Find{Bindgen,QWELibClang,Rust}.cmake +rm %{buildroot}%{_qt6_cmakedir}/Qt6/Find{QWEBindgen,QWELibClang,QWERust}.cmake # E: files-duplicated-waste %fdupes %{buildroot}%{_qt6_examplesdir} ++++++ 0001-Fix-AMD-VA-API-flickering-on-Wayland-by-allowing-mul.patch ++++++ >From ae6991d950bb343accad96b96047fe605c17bcc3 Mon Sep 17 00:00:00 2001 From: Peter Varga <[email protected]> Date: Wed, 29 Apr 2026 14:52:12 +0200 Subject: [PATCH] Fix AMD VA-API flickering on Wayland by allowing multi-planar NativePixmap import Hardware-accelerated video decoding on Wayland uses the YUV420 format, which is multi-planar. We previously disabled multi-planar support globally because we cannot allocate or import these formats via dma-buf. However, the video decoder only needs to create a NativePixmap from an existing handle. It does not rely on our implementation for direct allocation nor does it require direct dma-buf import for presenting. Report multi-planar buffer support to Chromium so it can correctly handle VA-API YUV frames. Add guards against using multi-planar formats in unimplemented code paths instead of disabling support globally. X11/GLX is unaffected, as it only supports the BGRA8888 format. Fixes: QTBUG-145344 Change-Id: Ibc08d438dcf7598438ae016cdb5fa646d9ab12f3 Reviewed-by: Moss Heim <[email protected]> (cherry picked from commit 5210a30b0a1042e60f2ee2a7b74fa9c48d9be098) Reviewed-by: Allan Sandfeld Jensen <[email protected]> --- .../native_skia_output_device_opengl.cpp | 10 ++++++++++ .../native_skia_output_device_vulkan.cpp | 8 +++++--- src/core/ozone/surface_factory_qt.cpp | 15 ++++++++++----- 3 files changed, 25 insertions(+), 8 deletions(-) diff --git a/src/core/compositor/native_skia_output_device_opengl.cpp b/src/core/compositor/native_skia_output_device_opengl.cpp index 226aaab0f..ea8878d8a 100644 --- a/src/core/compositor/native_skia_output_device_opengl.cpp +++ b/src/core/compositor/native_skia_output_device_opengl.cpp @@ -238,6 +238,11 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te GLXHelper *glxHelper = GLXHelper::instance(); auto *glxFun = glxHelper->functions(); + if (nativePixmap->GetNumberOfPlanes() != 1) { + qFatal("GLX: Importing multiple planes is not supported: %zu", + nativePixmap->GetNumberOfPlanes()); + } + const auto dmaBufFd = HANDLE_EINTR(dup(nativePixmap->GetDmaBufFd(0))); if (dmaBufFd < 0) { qFatal("GLX: Could not import the dma-buf as an XPixmap because the FD couldn't be " @@ -299,6 +304,11 @@ QSGTexture *NativeSkiaOutputDeviceOpenGL::texture(QQuickWindow *win, uint32_t te auto *eglFun = eglHelper->functions(); auto *glExtFun = GLHelper::instance()->functions(); + if (nativePixmap->GetNumberOfPlanes() != 1) { + qFatal("EGL: Importing multiple planes is not supported: %zu", + nativePixmap->GetNumberOfPlanes()); + } + const auto dmaBufFd = HANDLE_EINTR(dup(nativePixmap->GetDmaBufFd(0))); if (dmaBufFd < 0) { qFatal("EGL: Could not import the dma-buf as an EGLImage because the FD couldn't " diff --git a/src/core/compositor/native_skia_output_device_vulkan.cpp b/src/core/compositor/native_skia_output_device_vulkan.cpp index 503f607f2..7309943a1 100644 --- a/src/core/compositor/native_skia_output_device_vulkan.cpp +++ b/src/core/compositor/native_skia_output_device_vulkan.cpp @@ -145,11 +145,13 @@ QSGTexture *NativeSkiaOutputDeviceVulkan::texture(QQuickWindow *win, uint32_t te gfx::NativePixmapHandle nativePixmapHandle = nativePixmap->ExportHandle(); qCDebug(lcWebEngineCompositor, " DRM Format Modifier: 0x%lx", nativePixmapHandle.modifier); + if (nativePixmapHandle.planes.size() != 1) { + qFatal("VULKAN: Importing multiple planes is not supported: %zu", + nativePixmapHandle.planes.size()); + } + if (nativePixmapHandle.modifier != gfx::NativePixmapHandle::kNoModifier) { usingDrmModifier = true; - if (nativePixmapHandle.planes.size() != 1) - qFatal("VULKAN: Multiple planes are not supported."); - planeLayout.offset = nativePixmapHandle.planes[0].offset; planeLayout.rowPitch = nativePixmapHandle.planes[0].stride; modifierInfo.drmFormatModifier = nativePixmapHandle.modifier; diff --git a/src/core/ozone/surface_factory_qt.cpp b/src/core/ozone/surface_factory_qt.cpp index cd96e634a..6afb7d3e0 100644 --- a/src/core/ozone/surface_factory_qt.cpp +++ b/src/core/ozone/surface_factory_qt.cpp @@ -87,12 +87,8 @@ bool SurfaceFactoryQt::CanCreateNativePixmapForFormat(gfx::BufferFormat format) #endif #if QT_CONFIG(egl) - if (OzoneUtilQt::usingEGL()) { - // Multiplanar format support is not yet implemented. See EGLHelper::queryDmaBuf(). - if (gfx::BufferFormatIsMultiplanar(format)) - return false; + if (OzoneUtilQt::usingEGL()) return ui::SurfaceFactoryOzone::CanCreateNativePixmapForFormat(format); - } #endif #endif // QT_CONFIG(opengl) @@ -133,6 +129,15 @@ scoped_refptr<gfx::NativePixmap> SurfaceFactoryQt::CreateNativePixmap( #if QT_CONFIG(egl) if (OzoneUtilQt::usingEGL()) { + // Multi-planar formats are only supported when creating NativePixmap from an existing + // handle (eg. for hardware video decoding), which is handled by + // CreateNativePixmapFromHandle(). + if (gfx::BufferFormatIsMultiplanar(format)) { + qFatal("Direct allocation of multi-planar GBM buffer (format: %s) via EGL is " + "currently unsupported.", + gfx::BufferFormatToString(format)); + } + auto gbmBuffer = EGLHelper::instance()->createBuffer(format, size, usage); if (gbmBuffer) bufferHandle = gbmBuffer->ExportHandle(); -- 2.54.0 ++++++ qtwebengine-everywhere-src-6.11.0.tar.xz -> qtwebengine-everywhere-src-6.11.1.tar.xz ++++++ /work/SRC/openSUSE:Factory/qt6-webengine/qtwebengine-everywhere-src-6.11.0.tar.xz /work/SRC/openSUSE:Factory/.qt6-webengine.new.1937/qtwebengine-everywhere-src-6.11.1.tar.xz differ: char 26, line 1
