From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id F316115808B for ; Wed, 14 Feb 2024 12:25:04 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 0DF5CE2A5A; Wed, 14 Feb 2024 12:25:02 +0000 (UTC) Received: from smtp.gentoo.org (mail.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id DF84CE2A59 for ; Wed, 14 Feb 2024 12:25:01 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 1241D3430D0 for ; Wed, 14 Feb 2024 12:25:01 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 498E314E1 for ; Wed, 14 Feb 2024 12:24:57 +0000 (UTC) From: "Ionen Wolkens" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ionen Wolkens" Message-ID: <1707913332.011120d8fa117d6abf20558f180577c360e08b55.ionen@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwayland/files/, dev-qt/qtwayland/ X-VCS-Repository: repo/gentoo X-VCS-Files: dev-qt/qtwayland/Manifest dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch dev-qt/qtwayland/qtwayland-6.6.2.ebuild X-VCS-Directories: dev-qt/qtwayland/files/ dev-qt/qtwayland/ X-VCS-Committer: ionen X-VCS-Committer-Name: Ionen Wolkens X-VCS-Revision: 011120d8fa117d6abf20558f180577c360e08b55 X-VCS-Branch: master Date: Wed, 14 Feb 2024 12:24:57 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: eac7ea04-36f5-4b41-b1da-e6f3b91dc473 X-Archives-Hash: d5fd7af397a80678953dd4829c256f33 commit: 011120d8fa117d6abf20558f180577c360e08b55 Author: Ionen Wolkens gentoo org> AuthorDate: Wed Feb 14 11:07:27 2024 +0000 Commit: Ionen Wolkens gentoo org> CommitDate: Wed Feb 14 12:22:12 2024 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=011120d8 dev-qt/qtwayland: add 6.6.2 Signed-off-by: Ionen Wolkens gentoo.org> dev-qt/qtwayland/Manifest | 1 + .../files/qtwayland-6.6.2-nvidia-threaded-gl.patch | 30 +++++++++++++ dev-qt/qtwayland/qtwayland-6.6.2.ebuild | 51 ++++++++++++++++++++++ 3 files changed, 82 insertions(+) diff --git a/dev-qt/qtwayland/Manifest b/dev-qt/qtwayland/Manifest index 9514883c7b6a..92038f9ee118 100644 --- a/dev-qt/qtwayland/Manifest +++ b/dev-qt/qtwayland/Manifest @@ -1,3 +1,4 @@ DIST qtwayland-5.15.12-gentoo-kde-1.tar.xz 48548 BLAKE2B 706547b35251116550b7d838df489f770a58140b2ece34e22cf5cd13929fa801d9a057a38f66a34c47321e1c0958049774928a68f859082ad3664acee0f1bb73 SHA512 756edb0657580c3d65d6e4bb74e3ab31c326f2f25bf501c2761e8b3e538287792955c91c0e57e32d8a04c31577546481673bdd14f1abdc2aa28513edba3a670e DIST qtwayland-everywhere-opensource-src-5.15.12.tar.xz 569180 BLAKE2B 456b02d061ef6c57237463dd7b8387e4c6353648af0475a6ff6036ab2438417ecd3c60a8f3429aa52a98e9d213c0097fa3189602657611ae3657a2a520eb8c71 SHA512 acd78018665db3d0d77a84bb80ce7dbb65a33e0e813c3308e09a27195df204029b5e580f353eae2536e6fdde249aa34411e37f4f1663f7645448d96c9df67a66 DIST qtwayland-everywhere-src-6.6.1.tar.xz 1127148 BLAKE2B 8eb11f5f7f200a6d548577089732a533318d6120a7498dcb258183b5e0fd444541e03b59e730018cab15a612f8a31dd7b51275899271d62173eb1962a70198d3 SHA512 7f6533754daad7a2804ddddcd5139608c2b8f1ef92ae8a238c1ed4fc41c8a3ee532da0b2e57266d07d4d39d1ec6c83eca487c73788a108af30035b0dae262c76 +DIST qtwayland-everywhere-src-6.6.2.tar.xz 1118996 BLAKE2B db54b7708f01a7e4e59561eb209d9c0cd79400ec477603d826061f3c2cf6683dccbbb48e73dc7b5ebe674ef7c5b438fd75eccbd4bab9191219598f526e6b395f SHA512 ed5539ac9515ba93822ee1dfdedd3ece46a51c50b23efd0fb90ead2728b651c41bec42a6e2e2caf72bda0f274940e9f00049bae42c1315e0226e4a42c708f664 diff --git a/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch new file mode 100644 index 000000000000..f7f7607024c5 --- /dev/null +++ b/dev-qt/qtwayland/files/qtwayland-6.6.2-nvidia-threaded-gl.patch @@ -0,0 +1,30 @@ +Backport from 6.6 branch which failed to make it in 6.6.2. + +https://bugreports.qt.io/browse/QTBUG-95817 +https://codereview.qt-project.org/c/qt/qtwayland/+/536732 +https://github.com/qt/qtwayland/commit/e4156bad6398dcbe8740041148d95ee9ed437d8b +From: David Redondo +Date: Wed, 31 Jan 2024 09:01:48 +0100 +Subject: [PATCH] client: Disable threaded GL on desktop NVIDIA + +Otherwise QtQuick windows freeze when resized. +In order to still use threaded rendering on +embedded platforms where resizing is not required +we check if XDG_CURRENT_DESKTOP which should be +set by desktop environments. +--- a/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp ++++ b/src/hardwareintegration/client/wayland-egl/qwaylandeglclientbufferintegration.cpp +@@ -92,6 +92,13 @@ void QWaylandEglClientBufferIntegration::initialize(QWaylandDisplay *display) + break; + } + } ++ ++ // On desktop NVIDIA resizing QtQuick freezes them when using threaded rendering QTBUG-95817 ++ // In order to support threaded rendering on embedded platforms where resizing is not needed ++ // we check if XDG_CURRENT_DESKTOP is set which desktop environments should set ++ if (qstrcmp(vendor, "NVIDIA") == 0 && qEnvironmentVariableIsSet("XDG_CURRENT_DESKTOP")) { ++ m_supportsThreading = false; ++ } + } + + bool QWaylandEglClientBufferIntegration::isValid() const diff --git a/dev-qt/qtwayland/qtwayland-6.6.2.ebuild b/dev-qt/qtwayland/qtwayland-6.6.2.ebuild new file mode 100644 index 000000000000..26be2cc76c6e --- /dev/null +++ b/dev-qt/qtwayland/qtwayland-6.6.2.ebuild @@ -0,0 +1,51 @@ +# Copyright 2021-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit qt6-build + +DESCRIPTION="Wayland platform plugin for Qt" + +if [[ ${QT6_BUILD_TYPE} == release ]]; then + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86" +fi + +IUSE="compositor qml vulkan" + +RDEPEND=" + dev-libs/wayland + ~dev-qt/qtbase-${PV}:6[gui,opengl,vulkan=] + media-libs/libglvnd + x11-libs/libxkbcommon + compositor? ( + qml? ( ~dev-qt/qtdeclarative-${PV}:6 ) + ) +" +DEPEND=" + ${RDEPEND} + vulkan? ( dev-util/vulkan-headers ) +" +BDEPEND="dev-util/wayland-scanner" + +CMAKE_SKIP_TESTS=( + # segfaults for not-looked-into reasons, but not considered + # an issue given >=seatv5 exists since wayland-1.10 (2016) + tst_seatv4 + # needs a compositor/opengl, skip the extra trouble + tst_surface + tst_xdgdecorationv1 +) + +PATCHES=( + "${FILESDIR}"/${P}-nvidia-threaded-gl.patch +) + +src_configure() { + local mycmakeargs=( + $(cmake_use_find_package qml Qt6Quick) + $(qt_feature compositor wayland_server) + ) + + qt6-build_src_configure +}