public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/, gui-libs/egl-wayland/files/
@ 2021-03-21 15:53 David Seifert
  0 siblings, 0 replies; 4+ messages in thread
From: David Seifert @ 2021-03-21 15:53 UTC (permalink / raw
  To: gentoo-commits

commit:     2406c1dbc6ddb806db03bfee769d6a8617b6a760
Author:     Ionen Wolkens <sudinave <AT> gmail <DOT> com>
AuthorDate: Sun Mar 21 15:52:24 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Mar 21 15:52:24 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2406c1db

gui-libs/egl-wayland: new package 1.1.6

Split off from nvidia-drivers[wayland] which formerly only provided
runtime files (no pkgconfig).

Uses its own versioning and doesn't seem to need to match drivers, so
it makes more sense as its own package.

Package is needed to provide EGLStream (nvidia's workaround to get
acceleration on wayland) support notably in x11-wm/mutter (wants
the pkg-config file) and some other wayland compositors.

Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/19812
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 gui-libs/egl-wayland/Manifest                     |  1 +
 gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild     | 41 +++++++++++++++++++++++
 gui-libs/egl-wayland/files/10_nvidia_wayland.json |  6 ++++
 gui-libs/egl-wayland/metadata.xml                 | 15 +++++++++
 4 files changed, 63 insertions(+)

diff --git a/gui-libs/egl-wayland/Manifest b/gui-libs/egl-wayland/Manifest
new file mode 100644
index 00000000000..8789cb0974d
--- /dev/null
+++ b/gui-libs/egl-wayland/Manifest
@@ -0,0 +1 @@
+DIST egl-wayland-1.1.6.tar.gz 48674 BLAKE2B 66f58d4b841ebaaec6c0711e0dae0b3c774a7b0206f9cfd4d9e94a2c05688d563fddbbf9a60247980df00c3c493147e292bc536e2eb56de962f3b34c6215e026 SHA512 81fd3be3f49ad012efd31189d85666e869653f1f4004de4103f4ad13b7fda036cef432d1e30e33664ae423092dc1b86cfd2773d6542bb09d7a74720ba14e0fa4

diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild
new file mode 100644
index 00000000000..6d38529baad
--- /dev/null
+++ b/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit meson
+
+DESCRIPTION="EGLStream-based Wayland external platform (for NVIDIA)"
+HOMEPAGE="https://github.com/NVIDIA/egl-wayland"
+SRC_URI="https://github.com/NVIDIA/egl-wayland/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+	dev-libs/wayland
+	!x11-drivers/nvidia-drivers[wayland(-)]"
+DEPEND="
+	${RDEPEND}
+	gui-libs/eglexternalplatform
+	media-libs/libglvnd"
+BDEPEND="dev-util/wayland-scanner"
+
+src_install() {
+	meson_src_install
+
+	insinto /usr/share/egl/egl_external_platform.d
+	doins "${FILESDIR}"/10_nvidia_wayland.json
+}
+
+pkg_postinst() {
+	if [[ ! ${REPLACING_VERSIONS} ]]; then
+		elog "To use EGLStream with x11-drivers/nvidia-drivers, it is necessary to"
+		elog "load the nvidia-drm module with experimental nvidia-drm.modeset=1."
+		elog
+		elog "Can be accomplished by:"
+		elog "  echo 'options nvidia-drm modeset=1' > ${EROOT}/etc/modprobe.d/nvidia-drm.conf"
+		elog "...then reloading the module."
+	fi
+}

diff --git a/gui-libs/egl-wayland/files/10_nvidia_wayland.json b/gui-libs/egl-wayland/files/10_nvidia_wayland.json
new file mode 100644
index 00000000000..c08a64112af
--- /dev/null
+++ b/gui-libs/egl-wayland/files/10_nvidia_wayland.json
@@ -0,0 +1,6 @@
+{
+    "file_format_version" : "1.0.0",
+    "ICD" : {
+        "library_path" : "libnvidia-egl-wayland.so.1"
+    }
+}

diff --git a/gui-libs/egl-wayland/metadata.xml b/gui-libs/egl-wayland/metadata.xml
new file mode 100644
index 00000000000..cb6ef54fb36
--- /dev/null
+++ b/gui-libs/egl-wayland/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person" proxied="yes">
+		<email>sudinave@gmail.com</email>
+		<name>Ionen Wolkens</name>
+	</maintainer>
+	<maintainer type="project" proxied="proxy">
+		<email>proxy-maint@gentoo.org</email>
+		<name>Proxy Maintainers</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="github">NVIDIA/egl-wayland</remote-id>
+	</upstream>
+</pkgmetadata>


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/, gui-libs/egl-wayland/files/
@ 2021-03-21 17:20 David Seifert
  0 siblings, 0 replies; 4+ messages in thread
From: David Seifert @ 2021-03-21 17:20 UTC (permalink / raw
  To: gentoo-commits

commit:     264f42fd95eb16cd50654446fc78309fc24bd0ab
Author:     Ionen Wolkens <sudinave <AT> gmail <DOT> com>
AuthorDate: Sun Mar 21 17:20:16 2021 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Mar 21 17:20:16 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=264f42fd

gui-libs/egl-wayland: don't use -Werror for build

Closes: https://github.com/gentoo/gentoo/pull/20037
Closes: https://bugs.gentoo.org/777546
Signed-off-by: Ionen Wolkens <sudinave <AT> gmail.com>
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild                    | 4 ++++
 gui-libs/egl-wayland/files/egl-wayland-1.1.6-remove-werror.patch | 7 +++++++
 2 files changed, 11 insertions(+)

diff --git a/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild b/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild
index 6d38529baad..c853264cb3d 100644
--- a/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild
+++ b/gui-libs/egl-wayland/egl-wayland-1.1.6.ebuild
@@ -22,6 +22,10 @@ DEPEND="
 	media-libs/libglvnd"
 BDEPEND="dev-util/wayland-scanner"
 
+PATCHES=(
+	"${FILESDIR}"/${P}-remove-werror.patch
+)
+
 src_install() {
 	meson_src_install
 

diff --git a/gui-libs/egl-wayland/files/egl-wayland-1.1.6-remove-werror.patch b/gui-libs/egl-wayland/files/egl-wayland-1.1.6-remove-werror.patch
new file mode 100644
index 00000000000..ef392d9b556
--- /dev/null
+++ b/gui-libs/egl-wayland/files/egl-wayland-1.1.6-remove-werror.patch
@@ -0,0 +1,7 @@
+https://bugs.gentoo.org/777546
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -7,3 +7,2 @@
+ add_project_arguments('-Wall', language : 'c')
+-add_project_arguments('-Werror', language : 'c')
+ add_project_arguments('-fvisibility=hidden', language : 'c')


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/, gui-libs/egl-wayland/files/
@ 2022-09-01  6:47 Ionen Wolkens
  0 siblings, 0 replies; 4+ messages in thread
From: Ionen Wolkens @ 2022-09-01  6:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ac6473a8db862b387072ebc9bb12447e12daffcb
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Thu Sep  1 06:07:29 2022 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Thu Sep  1 06:46:57 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ac6473a8

gui-libs/egl-wayland: drop 1.1.10-r1

Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 gui-libs/egl-wayland/Manifest                      |  1 -
 gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild  | 44 ----------
 .../egl-wayland-1.1.10-revert-defer-resizes.patch  | 96 ----------------------
 3 files changed, 141 deletions(-)

diff --git a/gui-libs/egl-wayland/Manifest b/gui-libs/egl-wayland/Manifest
index ce969c6ed6b9..93cb058a71af 100644
--- a/gui-libs/egl-wayland/Manifest
+++ b/gui-libs/egl-wayland/Manifest
@@ -1,4 +1,3 @@
-DIST egl-wayland-1.1.10.tar.gz 60058 BLAKE2B c24cc0d6e45e43868140d4e16ad5092a951bebb71fa0d65e11ef8d4273d85589a435e6d29b73b665630b5a7e28fdbd8e1e02e5eb43eed7d06862caabae7146e9 SHA512 163ee1ae1e629c5d32ffdf335b35ba309d35c009f93a8391e78dcb710a86f64e017a37c1e77325c6f4782c8a5fe048ae44ad1456bd3a20ea651b4192c9102e3c
 DIST egl-wayland-1.1.10_p20220805.tar.gz 60283 BLAKE2B 14c272e4cc084892cc9eb822b85168e420c7cfd5472c9f24fd9aa6cc6a5aef2c75411c8c06e148c48e45c6ee4aa3179784b9e432905f41753840bf1ef576e634 SHA512 ce7aa6cc738dc392dfa9a6cf2c24253968404e011b4e921c6e3bf723fd4bc0eae63ef2050bef025a0726601e5ce2a08987293fd1674fb6c6b6c207969fd15bcb
 DIST egl-wayland-1.1.7.tar.gz 48681 BLAKE2B eebbd0e36045c50b39ef70292156f5cd137a51af2169b56a35d318d90ade3d4a5b94206d86246d52fda0c6c093ff25e389b1a3ccbe60595dc9661d199e30f33b SHA512 edc81d9f2c617587044d5f9d35b3e355db8544e8fa1d861c1b92a5a11bc1af7d994ca8abd49ce6f462a1971f20296b4c757bdf1df0d2bfc981cdafaa839f12af
 DIST egl-wayland-1.1.9_p20211123.tar.gz 58900 BLAKE2B a5a08df06e302b573f1036264495e7b29ec4d3def9be0e9b8037206a42aab5c18d78b79cc3f3ffeede9708916e644f8090fadf34318429cf0040c3623da28ce1 SHA512 8de18c8c0c38ca672688a5197be20534cc90b0fecae9ea2f3d3bc851d5b50d3f148a4ce97b835a9576251c8273ea21f82f2c9694cf2b7bba28fa3b53850c43b2

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
deleted file mode 100644
index d3d107c293bf..000000000000
--- a/gui-libs/egl-wayland/egl-wayland-1.1.10-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# 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
deleted file mode 100644
index bb54ad8d1a0c..000000000000
--- a/gui-libs/egl-wayland/files/egl-wayland-1.1.10-revert-defer-resizes.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-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] 4+ messages in thread

* [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/, gui-libs/egl-wayland/files/
@ 2023-04-11 11:43 Ionen Wolkens
  0 siblings, 0 replies; 4+ messages in thread
From: Ionen Wolkens @ 2023-04-11 11:43 UTC (permalink / raw
  To: gentoo-commits

commit:     92459213cc61a389bea58f400db82395dd91db90
Author:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 11:22:18 2023 +0000
Commit:     Ionen Wolkens <ionen <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 11:43:17 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=92459213

gui-libs/egl-wayland: fix warning w/ wayland-1.22

Hardly tested, but patch is very simple and will likely get merged.

Unsure if it'd be also necessary for non-GBM egl-wayland-1.1.7, but
realistically nvidia:0/470 will lose its USE=wayland in time as
it's barely usable anymore (afaik still can't use 1.1.11 due to GBM
changes, and just keeps getting worse, e.g. gnome flickers).

Bug: https://bugs.gentoo.org/904072
Signed-off-by: Ionen Wolkens <ionen <AT> gentoo.org>

 .../egl-wayland-1.1.11_p20230202-r1.ebuild         | 47 ++++++++++++++++++++++
 ...ayland-1.1.11_p20230202-destruction-order.patch | 25 ++++++++++++
 2 files changed, 72 insertions(+)

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
new file mode 100644
index 000000000000..a45f4637f69d
--- /dev/null
+++ b/gui-libs/egl-wayland/egl-wayland-1.1.11_p20230202-r1.ebuild
@@ -0,0 +1,47 @@
+# 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
new file mode 100644
index 000000000000..9611ac7dc0da
--- /dev/null
+++ b/gui-libs/egl-wayland/files/egl-wayland-1.1.11_p20230202-destruction-order.patch
@@ -0,0 +1,25 @@
+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] 4+ messages in thread

end of thread, other threads:[~2023-04-11 11:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-09-01  6:47 [gentoo-commits] repo/gentoo:master commit in: gui-libs/egl-wayland/, gui-libs/egl-wayland/files/ Ionen Wolkens
  -- strict thread matches above, loose matches on Subject: below --
2023-04-11 11:43 Ionen Wolkens
2021-03-21 17:20 David Seifert
2021-03-21 15:53 David Seifert

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox