* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/files/, gui-libs/egl-wayland/
@ 2022-06-28 17:26 Ionen Wolkens
0 siblings, 0 replies; 3+ messages in thread
From: Ionen Wolkens @ 2022-06-28 17:26 UTC (permalink / raw
To: gentoo-commits
commit: 37e44543dc58bb084aa4519214c39775151cc848
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 15:57:08 2022 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Jun 28 17:25:46 2022 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=37e44543
gui-libs/egl-wayland: revbump with a reverted commit
Unsure if 100% proper given doesn't revert cleanly, but choices are
either stick with 1.1.9 with broken vulkan, use 1.1.10 with broken
resizing, or try this.
Keeping -r0 for now in case testing is needed.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild | 44 ++++++++++
.../egl-wayland-1.1.10-revert-defer-resizes.patch | 96 ++++++++++++++++++++++
2 files changed, 140 insertions(+)
diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild
new file mode 100644
index 000000000000..d3d107c293bf
--- /dev/null
+++ b/gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit meson
+
+DESCRIPTION="EGLStream-based Wayland external platform"
+HOMEPAGE="https://github.com/NVIDIA/egl-wayland"
+SRC_URI="https://github.com/NVIDIA/egl-wayland/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-libs/wayland
+ !<x11-drivers/nvidia-drivers-470.57.02[wayland(-)]"
+DEPEND="
+ ${RDEPEND}
+ dev-libs/wayland-protocols
+ gui-libs/eglexternalplatform
+ >=media-libs/libglvnd-1.3.4
+ x11-libs/libdrm"
+BDEPEND="dev-util/wayland-scanner"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.1.6-remove-werror.patch
+ "${FILESDIR}"/${P}-revert-defer-resizes.patch
+)
+
+src_install() {
+ meson_src_install
+
+ insinto /usr/share/egl/egl_external_platform.d
+ doins "${FILESDIR}"/10_nvidia_wayland.json
+}
+
+pkg_postinst() {
+ if has_version "<x11-drivers/nvidia-drivers-391"; then
+ ewarn "<=nvidia-drivers-390.xx may not work properly with this version of"
+ ewarn "egl-wayland, it is recommended to use nouveau drivers for wayland."
+ fi
+}
diff --git a/gui-libs/egl-wayland/files/egl-wayland-1.1.10-revert-defer-resizes.patch b/gui-libs/egl-wayland/files/egl-wayland-1.1.10-revert-defer-resizes.patch
new file mode 100644
index 000000000000..bb54ad8d1a0c
--- /dev/null
+++ b/gui-libs/egl-wayland/files/egl-wayland-1.1.10-revert-defer-resizes.patch
@@ -0,0 +1,96 @@
+1.1.10 is needed for >=515.57 for working vulkan on wayland but
+carries a major regression that can make applications half-displayed
+and unusable after a resize.
+
+Official drivers seem to do something similar, they ship a modified
+1.1.9 with vulkan fixes rather than 1.1.10.
+
+https://github.com/NVIDIA/egl-wayland/issues/57
+Revert of https://github.com/NVIDIA/egl-wayland/commit/ddaa272
+--- a/src/wayland-eglsurface.c
++++ b/src/wayland-eglsurface.c
+@@ -1612,17 +1612,30 @@
+ }
+
+-void
+-wlEglResizeSurfaceIfRequired(WlEglDisplay *display, WlEglPlatformData *pData, WlEglSurface *surface)
++static void
++resize_callback(struct wl_egl_window *window, void *data)
+ {
++ WlEglDisplay *display = NULL;
++ WlEglPlatformData *pData = NULL;
++ WlEglSurface *surface = (WlEglSurface *)data;
+ EGLint err = EGL_SUCCESS;
+
+- if (!surface) {
++ if (!window || !surface) {
++ return;
++ }
++
++ display = surface->wlEglDpy;
++ if (!wlEglIsWaylandDisplay(display->nativeDpy) ||
++ !wlEglIsWaylandWindowValid(surface->wlEglWin)) {
+ return;
+ }
++ pData = display->data;
+
+ pthread_mutex_lock(&surface->mutexLock);
+
+ /* Resize stream only if window geometry has changed */
+- if (surface->isResized) {
++ if ((surface->width != window->width) ||
++ (surface->height != window->height) ||
++ (surface->dx != window->dx) ||
++ (surface->dy != window->dy)) {
+ // If a damage thread is in use, wait for it to finish processing all
+ // pending frames
+@@ -1630,5 +1643,4 @@
+
+ discard_surface_context(surface);
+- surface->isResized = EGL_FALSE;
+ surface->ctx.wlStreamResource = NULL;
+ surface->ctx.isAttached = EGL_FALSE;
+@@ -1655,34 +1667,4 @@
+ pthread_mutex_unlock(&surface->mutexLock);
+ }
+-
+-static void
+-resize_callback(struct wl_egl_window *window, void *data)
+-{
+- WlEglDisplay *display = NULL;
+- WlEglSurface *surface = (WlEglSurface *)data;
+-
+- if (!window || !surface) {
+- return;
+- }
+-
+- display = surface->wlEglDpy;
+- if (!wlEglIsWaylandDisplay(display->nativeDpy) ||
+- !wlEglIsWaylandWindowValid(surface->wlEglWin)) {
+- return;
+- }
+-
+- pthread_mutex_lock(&surface->mutexLock);
+-
+- /* Resize stream only if window geometry has changed */
+- if ((surface->width != window->width) ||
+- (surface->height != window->height) ||
+- (surface->dx != window->dx) ||
+- (surface->dy != window->dy)) {
+- surface->isResized = EGL_TRUE;
+- wl_surface_commit(surface->wlSurface);
+- }
+-
+- pthread_mutex_unlock(&surface->mutexLock);
+-}
+
+ static EGLBoolean validateSurfaceAttrib(EGLAttrib attrib, EGLAttrib value)
+--- a/src/wayland-eglswap.c
++++ b/src/wayland-eglswap.c
+@@ -65,6 +65,4 @@
+ surface = eglSurface;
+
+- wlEglResizeSurfaceIfRequired(display, data, surface);
+-
+ if (surface->pendingSwapIntervalUpdate == EGL_TRUE) {
+ /* Send request from client to override swapinterval value based on
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/files/, gui-libs/egl-wayland/
@ 2023-09-12 16:15 Ionen Wolkens
0 siblings, 0 replies; 3+ messages in thread
From: Ionen Wolkens @ 2023-09-12 16:15 UTC (permalink / raw
To: gentoo-commits
commit: fc8c9136145c6d1401047e43f71535ebd646ae4d
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 12 15:56:51 2023 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Sep 12 15:56:51 2023 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=fc8c9136
gui-libs/egl-wayland: drop 1.1.11_p20230202-r1
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
gui-libs/egl-wayland/Manifest | 1 -
.../egl-wayland-1.1.11_p20230202-r1.ebuild | 47 ----------------------
...ayland-1.1.11_p20230202-destruction-order.patch | 25 ------------
3 files changed, 73 deletions(-)
diff --git a/gui-libs/egl-wayland/Manifest b/gui-libs/egl-wayland/Manifest
index 1a368cc5ae51..8d6a2056dd32 100644
--- a/gui-libs/egl-wayland/Manifest
+++ b/gui-libs/egl-wayland/Manifest
@@ -1,4 +1,3 @@
-DIST egl-wayland-1.1.11_p20230202.tar.gz 67029 BLAKE2B 8261f33c885a5b9673a463d624e253c75ae5afac3364a4de7d7d51a3d0b57495fd62324e3924bd4e649475a0afd0eaab3b02b3b3fe86b689411ed123ec85e018 SHA512 ec505a76ab2b847b1e7f27969be82d86acd40fe573eaa90271971f84b0c4b6195f0fccc5ec184dc58f2b6fb5591e4a05eca1265494e0a3ce39841ae84e86fed2
DIST egl-wayland-1.1.12.tar.gz 67159 BLAKE2B e0183a5a443aeede5654e248d5fe61127fd999d9e78da7578bd46aa61d44b5b0de4109e73d611b35cba2b2e73949e3727b43d941f1f413a6786c15e366c2b634 SHA512 aa8e0d0639a8d9d85b85fa258f98f4280734cec5aefac776c5a92f04b8999cee9365e0f55cb885ce0cd6e574ae395895b9cea5efa951343eda5afb46216a5c43
DIST egl-wayland-1.1.12_p20230718.tar.gz 67390 BLAKE2B 438f4d6ff3840162517303200bf266ae2037ad16483477f0f86c6695cfbef2ef2b5ad63d100afc0d3bd13a34ebc222fba0f098e83ce8adb7c18c4d60c66eb148 SHA512 42f1ec235eb0ce8af774d9f08b45f48f8b658d51c7e1e33a49fb734941b8db9558aac46eaa07ce7edb2c7e07f5e791d2245f1f68fb3a692a686a0296fe559433
DIST egl-wayland-1.1.7.tar.gz 48681 BLAKE2B eebbd0e36045c50b39ef70292156f5cd137a51af2169b56a35d318d90ade3d4a5b94206d86246d52fda0c6c093ff25e389b1a3ccbe60595dc9661d199e30f33b SHA512 edc81d9f2c617587044d5f9d35b3e355db8544e8fa1d861c1b92a5a11bc1af7d994ca8abd49ce6f462a1971f20296b4c757bdf1df0d2bfc981cdafaa839f12af
diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.11_p20230202-r1.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.11_p20230202-r1.ebuild
deleted file mode 100644
index 13b0bd1eda61..000000000000
--- a/gui-libs/egl-wayland/egl-wayland-1.1.11_p20230202-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson
-
-HASH_EGLWAYLAND=30c5a951a849f835acc9f11ea4ca4e1d3380b7eb
-
-DESCRIPTION="EGLStream-based Wayland external platform"
-HOMEPAGE="https://github.com/NVIDIA/egl-wayland"
-SRC_URI="https://github.com/NVIDIA/egl-wayland/archive/${HASH_EGLWAYLAND}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/${PN}-${HASH_EGLWAYLAND}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64"
-
-RDEPEND="
- dev-libs/wayland
- !<x11-drivers/nvidia-drivers-470.57.02[wayland(-)]"
-DEPEND="
- ${RDEPEND}
- dev-libs/wayland-protocols
- gui-libs/eglexternalplatform
- media-libs/libglvnd
- x11-libs/libdrm"
-BDEPEND="dev-util/wayland-scanner"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.6-remove-werror.patch
- "${FILESDIR}"/${P}-destruction-order.patch
-)
-
-src_install() {
- meson_src_install
-
- insinto /usr/share/egl/egl_external_platform.d
- doins "${FILESDIR}"/10_nvidia_wayland.json
-}
-
-pkg_postinst() {
- if has_version "<x11-drivers/nvidia-drivers-391"; then
- ewarn "<=nvidia-drivers-390.xx may not work properly with this version of"
- ewarn "egl-wayland, it is recommended to use nouveau drivers for wayland."
- fi
-}
diff --git a/gui-libs/egl-wayland/files/egl-wayland-1.1.11_p20230202-destruction-order.patch b/gui-libs/egl-wayland/files/egl-wayland-1.1.11_p20230202-destruction-order.patch
deleted file mode 100644
index 9611ac7dc0da..000000000000
--- a/gui-libs/egl-wayland/files/egl-wayland-1.1.11_p20230202-destruction-order.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://bugs.gentoo.org/904072
-https://github.com/NVIDIA/egl-wayland/pull/79
-
-From 979200d803c5ed9cb08ac752ac828f28753fc445 Mon Sep 17 00:00:00 2001
-From: q234rty <q23456yuiop@gmail.com>
-Date: Fri, 7 Apr 2023 18:08:03 +0800
-Subject: [PATCH] Fix wrong destruction order for event queue
---- a/src/wayland-egldisplay.c
-+++ b/src/wayland-egldisplay.c
-@@ -704,12 +704,12 @@ static void getServerProtocolsInfo(struct wl_display *nativeDpy,
- }
- }
-
-+ if (wlRegistry) {
-+ wl_registry_destroy(wlRegistry);
-+ }
- if (queue) {
- wl_event_queue_destroy(queue);
- }
-- if (wlRegistry) {
-- wl_registry_destroy(wlRegistry);
-- }
- }
-
- EGLDisplay wlEglGetPlatformDisplayExport(void *data,
^ permalink raw reply related [flat|nested] 3+ messages in thread
* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/files/, gui-libs/egl-wayland/
@ 2025-06-05 5:33 Ionen Wolkens
0 siblings, 0 replies; 3+ messages in thread
From: Ionen Wolkens @ 2025-06-05 5:33 UTC (permalink / raw
To: gentoo-commits
commit: 343b911a8b3909e339f2e6195e924009aad107cf
Author: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 5 05:00:35 2025 +0000
Commit: Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Jun 5 05:00:38 2025 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=343b911a
gui-libs/egl-wayland: drop 1.1.13.1
Kept this old version for an extended period due to being the last
version without explicit sync support. But it's possible to disable
the support with an environment variable nowadays and should be no
reason to stick to this one anymore if have issues.
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>
gui-libs/egl-wayland/Manifest | 1 -
gui-libs/egl-wayland/egl-wayland-1.1.13.1.ebuild | 42 -----------------------
gui-libs/egl-wayland/files/10_nvidia_wayland.json | 6 ----
3 files changed, 49 deletions(-)
diff --git a/gui-libs/egl-wayland/Manifest b/gui-libs/egl-wayland/Manifest
index fd80eb514054..c406f546de7a 100644
--- a/gui-libs/egl-wayland/Manifest
+++ b/gui-libs/egl-wayland/Manifest
@@ -1,2 +1 @@
-DIST egl-wayland-1.1.13.1.tar.gz 68181 BLAKE2B 12587c24828570b5ad399042bb339b27c4d17e14896398d331970b32020956f12d56155e6b97f82c0e7c5f7aa5ad962b923c37ff1609f5384a99bb83e02c2dd7 SHA512 264373b22bab2a26dcd8391308ae24c0afe31168c318fd8fdf74a9958bc41658f9295645c4d91e395b5ab472cdf9dcf5160c448ba54e0aa8eccf04c294ffdb5b
DIST egl-wayland-1.1.19.tar.gz 76156 BLAKE2B a017023ea965ab0a7329c4224f8c24557ddc31b00339e49e942c85edec1b45504434ef417edf2f787a3b1de7980d8c59d552dcfd0c4690b2b95140a48a70224d SHA512 5e50289656620d984a69d4dc5fbd1bdd214119db4386dd93ecee0d082ab75763db4039f1d3b40d160b32f144f3ff9638450ee63191a95dc7d3fadee1dd7120ce
diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.13.1.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.13.1.ebuild
deleted file mode 100644
index 0cd7c4bbab43..000000000000
--- a/gui-libs/egl-wayland/egl-wayland-1.1.13.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit meson-multilib
-
-DESCRIPTION="NVIDIA wayland EGL external platform library"
-HOMEPAGE="https://github.com/NVIDIA/egl-wayland/"
-SRC_URI="
- https://github.com/NVIDIA/egl-wayland/archive/refs/tags/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64"
-
-RDEPEND="
- dev-libs/wayland[${MULTILIB_USEDEP}]
- x11-libs/libdrm[${MULTILIB_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- dev-libs/wayland-protocols
- >=gui-libs/eglexternalplatform-1.1-r1
- media-libs/libglvnd
-"
-BDEPEND="
- dev-util/wayland-scanner
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.1.6-remove-werror.patch
-)
-
-src_install() {
- meson-multilib_src_install
-
- insinto /usr/share/egl/egl_external_platform.d
- doins "${FILESDIR}"/10_nvidia_wayland.json
-}
diff --git a/gui-libs/egl-wayland/files/10_nvidia_wayland.json b/gui-libs/egl-wayland/files/10_nvidia_wayland.json
deleted file mode 100644
index c08a64112af8..000000000000
--- a/gui-libs/egl-wayland/files/10_nvidia_wayland.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "file_format_version" : "1.0.0",
- "ICD" : {
- "library_path" : "libnvidia-egl-wayland.so.1"
- }
-}
^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2025-06-05 5:33 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-05 5:33 [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/files/, gui-libs/egl-wayland/ Ionen Wolkens
-- strict thread matches above, loose matches on Subject: below --
2023-09-12 16:15 Ionen Wolkens
2022-06-28 17:26 Ionen Wolkens
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox