diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Add-method-to-listen-on-multiple-fds.patch b/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Add-method-to-listen-on-multiple-fds.patch
deleted file mode 100644
index 601ddeed93..0000000000
--- a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Add-method-to-listen-on-multiple-fds.patch
+++ /dev/null
@@ -1,309 +0,0 @@
-From a701040581706a2abf3483ea68d19142cbd68bcf Mon Sep 17 00:00:00 2001
-From: Andri Yngvason <andri@yngvason.is>
-Date: Sat, 23 Nov 2024 11:36:06 +0000
-Subject: [PATCH] Add method to listen on multiple fds
-
-Upstream-Status: Backport [https://github.com/any1/neatvnc/commit/a701040581706a2abf3483ea68d19142cbd68bcf]
----
- examples/draw.c       |   2 +-
- examples/png-server.c |   2 +-
- include/common.h      |  15 ++++--
- include/neatvnc.h     |  14 ++++-
- src/server.c          | 122 ++++++++++++++++++++++++++++++------------
- 5 files changed, 116 insertions(+), 39 deletions(-)
-
-diff --git a/examples/draw.c b/examples/draw.c
-index 7fb8fe6..13d5d09 100644
---- a/examples/draw.c
-+++ b/examples/draw.c
-@@ -340,7 +340,7 @@ int main(int argc, char* argv[])
- 
- 	aml_run(aml);
- 
--	nvnc_close(server);
-+	nvnc_del(server);
- 	nvnc_display_unref(draw.display);
- 	nvnc_fb_pool_unref(draw.fb_pool);
- 	pixman_image_unref(draw.whiteboard);
-diff --git a/examples/png-server.c b/examples/png-server.c
-index b8cc015..e35a6f1 100644
---- a/examples/png-server.c
-+++ b/examples/png-server.c
-@@ -68,7 +68,7 @@ int main(int argc, char* argv[])
- 
- 	aml_run(aml);
- 
--	nvnc_close(server);
-+	nvnc_del(server);
- 	nvnc_display_unref(display);
- 	nvnc_fb_unref(fb);
- 	aml_unref(aml);
-diff --git a/include/common.h b/include/common.h
-index e0b87c2..14c0ed9 100644
---- a/include/common.h
-+++ b/include/common.h
-@@ -157,12 +157,21 @@ enum nvnc__socket_type {
- 	NVNC__SOCKET_FROM_FD,
- };
- 
-+struct nvnc__socket {
-+	struct nvnc* parent;
-+	enum nvnc_stream_type type;
-+	bool is_external;
-+	int fd;
-+	struct aml_handler* poll_handle;
-+	LIST_ENTRY(nvnc__socket) link;
-+};
-+
-+LIST_HEAD(nvnc__socket_list, nvnc__socket);
-+
- struct nvnc {
- 	struct nvnc_common common;
- 	bool is_closing;
--	int fd;
--	enum nvnc__socket_type socket_type;
--	struct aml_handler* poll_handle;
-+	struct nvnc__socket_list sockets;
- 	struct nvnc_client_list clients;
- 	char name[256];
- 	void* userdata;
-diff --git a/include/neatvnc.h b/include/neatvnc.h
-index 78d9f97..c9303a8 100644
---- a/include/neatvnc.h
-+++ b/include/neatvnc.h
-@@ -74,6 +74,11 @@ enum nvnc_fb_type {
- 	NVNC_FB_GBM_BO,
- };
- 
-+enum nvnc_stream_type {
-+	NVNC_STREAM_NORMAL = 0,
-+	NVNC_STREAM_WEBSOCKET,
-+};
-+
- /* This is the same as wl_output_transform */
- enum nvnc_transform {
- 	NVNC_TRANSFORM_NORMAL = 0,
-@@ -135,11 +140,18 @@ typedef bool (*nvnc_desktop_layout_fn)(
- 
- extern const char nvnc_version[];
- 
-+struct nvnc* nvnc_new(void);
-+void nvnc_del(struct nvnc* self);
-+
-+int nvnc_listen(struct nvnc* self, int fd, enum nvnc_stream_type type);
-+
- struct nvnc* nvnc_open(const char* addr, uint16_t port);
- struct nvnc* nvnc_open_unix(const char *addr);
- struct nvnc* nvnc_open_websocket(const char* addr, uint16_t port);
- struct nvnc* nvnc_open_from_fd(int fd);
--void nvnc_close(struct nvnc* self);
-+
-+void nvnc_close(struct nvnc* self)
-+	__attribute__((deprecated("replaced with nvnc_del")));
- 
- void nvnc_add_display(struct nvnc*, struct nvnc_display*);
- void nvnc_remove_display(struct nvnc*, struct nvnc_display*);
-diff --git a/src/server.c b/src/server.c
-index b94ed0d..ded2dab 100644
---- a/src/server.c
-+++ b/src/server.c
-@@ -1981,7 +1981,9 @@ static void on_client_event(struct stream* stream, enum stream_event event)
- 
- static void on_connection(void* obj)
- {
--	struct nvnc* server = aml_get_userdata(obj);
-+	struct aml_handler* poll_handle = obj;
-+	struct nvnc__socket* socket = aml_get_userdata(poll_handle);
-+	struct nvnc* server = socket->parent;
- 
- 	struct nvnc_client* client = calloc(1, sizeof(*client));
- 	if (!client)
-@@ -2002,7 +2004,7 @@ static void on_connection(void* obj)
- 	client->ext_clipboard_max_unsolicited_text_size =
- 		MAX_CLIENT_UNSOLICITED_TEXT_SIZE;
- 
--	int fd = accept(server->fd, NULL, 0);
-+	int fd = accept(socket->fd, NULL, 0);
- 	if (fd < 0) {
- 		nvnc_log(NVNC_LOG_WARNING, "Failed to accept a connection");
- 		goto accept_failure;
-@@ -2012,7 +2014,7 @@ static void on_connection(void* obj)
- 	setsockopt(fd, IPPROTO_TCP, TCP_NODELAY, &one, sizeof(one));
- 
- #ifdef ENABLE_WEBSOCKET
--	if (server->socket_type == NVNC__SOCKET_WEBSOCKET)
-+	if (socket->type == NVNC_STREAM_WEBSOCKET)
- 	{
- 		client->net_stream = stream_ws_new(fd, on_client_event, client);
- 	}
-@@ -2182,44 +2184,60 @@ static int bind_address(const char* name, uint16_t port,
- 	return -1;
- }
- 
--static struct nvnc* open_common(const char* address, uint16_t port,
--		int fd, enum nvnc__socket_type type)
-+static struct nvnc__socket* nvnc__listen(struct nvnc* self, int fd,
-+		enum nvnc_stream_type type)
- {
--	nvnc__log_init();
-+	struct nvnc__socket* socket = calloc(1, sizeof(*self));
-+	if (!socket)
-+		return NULL;
- 
--	aml_require_workers(aml_get_default(), -1);
-+	if (listen(fd, 16) < 0)
-+		goto failure;
- 
--	struct nvnc* self = calloc(1, sizeof(*self));
--	if (!self)
--		return NULL;
-+	socket->parent = self;
-+	socket->type = type;
-+	socket->fd = fd;
-+	socket->is_external = true;
- 
--	self->socket_type = type;
-+	socket->poll_handle = aml_handler_new(fd, on_connection, socket, NULL);
-+	if (!socket->poll_handle) {
-+		goto failure;
-+	}
- 
--	strcpy(self->name, DEFAULT_NAME);
-+	aml_start(aml_get_default(), socket->poll_handle);
- 
--	LIST_INIT(&self->clients);
-+	LIST_INSERT_HEAD(&self->sockets, socket, link);
-+	return socket;
- 
--	self->fd = bind_address(address, port, fd, type);
--	if (self->fd < 0)
-+failure:
-+	free(socket);
-+	return NULL;
-+}
-+
-+static struct nvnc* open_common(const char* address, uint16_t port,
-+		int fd, enum nvnc__socket_type type)
-+{
-+	struct nvnc* self = nvnc_new();
-+	if (!self)
-+		return NULL;
-+
-+	int bound_fd = bind_address(address, port, fd, type);
-+	if (bound_fd < 0)
- 		goto bind_failure;
- 
--	if (listen(self->fd, 16) < 0)
--		goto listen_failure;
-+	enum nvnc_stream_type stream_type = type == NVNC__SOCKET_WEBSOCKET ?
-+		NVNC_STREAM_WEBSOCKET : NVNC_STREAM_NORMAL;
- 
--	self->poll_handle = aml_handler_new(self->fd, on_connection, self, NULL);
--	if (!self->poll_handle)
--		goto handle_failure;
-+	struct nvnc__socket* socket = nvnc__listen(self, bound_fd, stream_type);
-+	if (!socket)
-+		goto listen_failure;
- 
--	if (aml_start(aml_get_default(), self->poll_handle) < 0)
--		goto poll_start_failure;
-+	socket->is_external = type == NVNC__SOCKET_FROM_FD;
- 
- 	return self;
- 
--poll_start_failure:
--	aml_unref(self->poll_handle);
--handle_failure:
- listen_failure:
--	close(self->fd);
-+	close(bound_fd);
- 	if (type == NVNC__SOCKET_UNIX) {
- 		unlink(address);
- 	}
-@@ -2229,6 +2247,31 @@ bind_failure:
- 	return NULL;
- }
- 
-+EXPORT
-+struct nvnc* nvnc_new(void)
-+{
-+	nvnc__log_init();
-+	aml_require_workers(aml_get_default(), -1);
-+
-+	struct nvnc* self = calloc(1, sizeof(*self));
-+	if (!self)
-+		return NULL;
-+
-+	strcpy(self->name, DEFAULT_NAME);
-+
-+	LIST_INIT(&self->sockets);
-+	LIST_INIT(&self->clients);
-+
-+	return self;
-+}
-+
-+EXPORT
-+int nvnc_listen(struct nvnc* self, int fd, enum nvnc_stream_type type)
-+{
-+	struct nvnc__socket* socket = nvnc__listen(self, fd, type);
-+	return socket ? 0 : -1;
-+}
-+
- EXPORT
- struct nvnc* nvnc_open(const char* address, uint16_t port)
- {
-@@ -2270,7 +2313,7 @@ static void unlink_fd_path(int fd)
- }
- 
- EXPORT
--void nvnc_close(struct nvnc* self)
-+void nvnc_del(struct nvnc* self)
- {
- 	self->is_closing = true;
- 
-@@ -2293,12 +2336,20 @@ void nvnc_close(struct nvnc* self)
- 	while (!LIST_EMPTY(&self->clients))
- 		client_close(LIST_FIRST(&self->clients));
- 
--	aml_stop(aml_get_default(), self->poll_handle);
--	// Do not unlink an externally managed fd.
--	if(self->socket_type != NVNC__SOCKET_FROM_FD) {
--		unlink_fd_path(self->fd);
-+	while (!LIST_EMPTY(&self->sockets)) {
-+		struct nvnc__socket* socket = LIST_FIRST(&self->sockets);
-+		LIST_REMOVE(socket, link);
-+
-+		aml_stop(aml_get_default(), socket->poll_handle);
-+		aml_unref(socket->poll_handle);
-+
-+		if (!socket->is_external) {
-+			unlink_fd_path(socket->fd);
-+		}
-+		close(socket->fd);
-+
-+		free(socket);
- 	}
--	close(self->fd);
- 
- #ifdef HAVE_CRYPTO
- 	crypto_rsa_priv_key_del(self->rsa_priv);
-@@ -2314,10 +2365,15 @@ void nvnc_close(struct nvnc* self)
- 
- 	free(self->ext_clipboard_provide_msg.buffer);
- 
--	aml_unref(self->poll_handle);
- 	free(self);
- }
- 
-+EXPORT
-+void nvnc_close(struct nvnc* self)
-+{
-+	nvnc_del(self);
-+}
-+
- static void process_pending_fence(struct nvnc_client* client)
- {
- 	if (client->pending_fence.n_pending_requests == 0) {
--- 
-2.43.0
-
diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Use-aml-v1.patch b/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Use-aml-v1.patch
deleted file mode 100644
index 7413316bcc..0000000000
--- a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-Use-aml-v1.patch
+++ /dev/null
@@ -1,278 +0,0 @@
-From 8b95d3c1d5f475668d53cc21a7abf431d9a9822b Mon Sep 17 00:00:00 2001
-From: Andri Yngvason <andri@yngvason.is>
-Date: Sun, 23 Mar 2025 15:55:11 +0000
-Subject: [PATCH] Use aml v1
-
-Upstream-Status: Backport [https://github.com/any1/neatvnc/commit/a4b238241f3f3016ef3ddcd260c1490a9c9e8168]
----
- meson.build                 |  2 +-
- src/enc/h264/ffmpeg-impl.c  |  8 ++++----
- src/enc/h264/v4l2m2m-impl.c |  4 ++--
- src/enc/raw.c               |  8 ++++----
- src/enc/tight.c             | 18 +++++++++---------
- src/enc/zrle.c              |  8 ++++----
- src/resampler.c             |  7 ++-----
- src/server.c                |  6 ++----
- src/stream/gnutls.c         |  6 +++---
- src/stream/tcp.c            |  6 +++---
- 10 files changed, 34 insertions(+), 39 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index a0d7401..b094d9b 100644
---- a/meson.build
-+++ b/meson.build
-@@ -63,7 +63,7 @@ libavcodec = dependency('libavcodec', required: get_option('h264'))
- libavfilter = dependency('libavfilter', required: get_option('h264'))
- libavutil = dependency('libavutil', required: get_option('h264'))
- 
--aml_version = ['>=0.3.0', '<0.4.0']
-+aml_version = ['>=1.0.0', '<2.0.0']
- aml_project = subproject('aml', required: false, version: aml_version)
- if aml_project.found()
- 	aml = aml_project.get_variable('aml_dep')
-diff --git a/src/enc/h264/ffmpeg-impl.c b/src/enc/h264/ffmpeg-impl.c
-index 3bd584c..148b1c3 100644
---- a/src/enc/h264/ffmpeg-impl.c
-+++ b/src/enc/h264/ffmpeg-impl.c
-@@ -415,9 +415,9 @@ get_frame_failure:
- 	return rc == AVERROR(EAGAIN) ? 0 : rc;
- }
- 
--static void h264_encoder__do_work(void* handle)
-+static void h264_encoder__do_work(struct aml_work* work)
- {
--	struct h264_encoder_ffmpeg* self = aml_get_userdata(handle);
-+	struct h264_encoder_ffmpeg* self = aml_get_userdata(work);
- 
- 	AVFrame* frame = fb_to_avframe(self->current_fb);
- 	assert(frame); // TODO
-@@ -453,9 +453,9 @@ failure:
- 	av_frame_free(&frame);
- }
- 
--static void h264_encoder__on_work_done(void* handle)
-+static void h264_encoder__on_work_done(struct aml_work* work)
- {
--	struct h264_encoder_ffmpeg* self = aml_get_userdata(handle);
-+	struct h264_encoder_ffmpeg* self = aml_get_userdata(work);
- 
- 	uint64_t pts = nvnc_fb_get_pts(self->current_fb);
- 	nvnc_fb_release(self->current_fb);
-diff --git a/src/enc/h264/v4l2m2m-impl.c b/src/enc/h264/v4l2m2m-impl.c
-index b9d1236..d286932 100644
---- a/src/enc/h264/v4l2m2m-impl.c
-+++ b/src/enc/h264/v4l2m2m-impl.c
-@@ -511,9 +511,9 @@ static void encode_buffer(struct h264_encoder_v4l2m2m* self,
- 	}
- }
- 
--static void process_fd_events(void* handle)
-+static void process_fd_events(struct aml_handler* handler)
- {
--	struct h264_encoder_v4l2m2m* self = aml_get_userdata(handle);
-+	struct h264_encoder_v4l2m2m* self = aml_get_userdata(handler);
- 	process_dst_bufs(self);
- }
- 
-diff --git a/src/enc/raw.c b/src/enc/raw.c
-index 806f074..2bc8302 100644
---- a/src/enc/raw.c
-+++ b/src/enc/raw.c
-@@ -126,9 +126,9 @@ static int raw_encode_frame(struct raw_encoder_work* ctx, struct vec* dst,
- 	return 0;
- }
- 
--static void raw_encoder_do_work(void* obj)
-+static void raw_encoder_do_work(struct aml_work* work)
- {
--	struct raw_encoder_work* ctx = aml_get_userdata(obj);
-+	struct raw_encoder_work* ctx = aml_get_userdata(work);
- 	int rc __attribute__((unused));
- 
- 	struct nvnc_fb* fb = ctx->fb;
-@@ -163,9 +163,9 @@ static void raw_encoder_do_work(void* obj)
- 	assert(ctx->result);
- }
- 
--static void raw_encoder_on_done(void* obj)
-+static void raw_encoder_on_done(struct aml_work* work)
- {
--	struct raw_encoder_work* ctx = aml_get_userdata(obj);
-+	struct raw_encoder_work* ctx = aml_get_userdata(work);
- 	struct raw_encoder* self = ctx->parent;
- 
- 	assert(ctx->result);
-diff --git a/src/enc/tight.c b/src/enc/tight.c
-index a361974..441df19 100644
---- a/src/enc/tight.c
-+++ b/src/enc/tight.c
-@@ -106,8 +106,8 @@ struct tight_zs_worker_ctx {
- 
- struct encoder_impl encoder_impl_tight;
- 
--static void do_tight_zs_work(void*);
--static void on_tight_zs_work_done(void*);
-+static void do_tight_zs_work(struct aml_work*);
-+static void on_tight_zs_work_done(struct aml_work*);
- static int schedule_tight_finish(struct tight_encoder* self);
- 
- static inline struct tight_encoder* tight_encoder(struct encoder* encoder)
-@@ -428,9 +428,9 @@ static void tight_encode_tile(struct tight_encoder* self,
- 	tile->state = TIGHT_TILE_ENCODED;
- }
- 
--static void do_tight_zs_work(void* obj)
-+static void do_tight_zs_work(struct aml_work* work)
- {
--	struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj);
-+	struct tight_zs_worker_ctx* ctx = aml_get_userdata(work);
- 	struct tight_encoder* self = ctx->encoder;
- 	int index = ctx->index;
- 
-@@ -440,7 +440,7 @@ static void do_tight_zs_work(void* obj)
- 				tight_encode_tile(self, x, y);
- }
- 
--static void on_tight_zs_work_done(void* obj)
-+static void on_tight_zs_work_done(struct aml_work* obj)
- {
- 	struct tight_zs_worker_ctx* ctx = aml_get_userdata(obj);
- 	struct tight_encoder* self = ctx->encoder;
-@@ -509,15 +509,15 @@ static void tight_finish(struct tight_encoder* self)
- 				tight_finish_tile(self, x, y);
- }
- 
--static void do_tight_finish(void* obj)
-+static void do_tight_finish(struct aml_work* work)
- {
--	struct tight_encoder* self = aml_get_userdata(obj);
-+	struct tight_encoder* self = aml_get_userdata(work);
- 	tight_finish(self);
- }
- 
--static void on_tight_finished(void* obj)
-+static void on_tight_finished(struct aml_work* work)
- {
--	struct tight_encoder* self = aml_get_userdata(obj);
-+	struct tight_encoder* self = aml_get_userdata(work);
- 
- 	struct encoded_frame* result;
- 	result = encoded_frame_new(self->dst.data, self->dst.len, self->n_rects,
-diff --git a/src/enc/zrle.c b/src/enc/zrle.c
-index 503c738..c043983 100644
---- a/src/enc/zrle.c
-+++ b/src/enc/zrle.c
-@@ -340,9 +340,9 @@ static int zrle_encode_frame(struct zrle_encoder* self, z_stream* zs,
- 	return 0;
- }
- 
--static void zrle_encoder_do_work(void* obj)
-+static void zrle_encoder_do_work(struct aml_work* work)
- {
--	struct zrle_encoder* self = aml_get_userdata(obj);
-+	struct zrle_encoder* self = aml_get_userdata(work);
- 	int rc __attribute__((unused));
- 
- 	struct nvnc_fb* fb = self->current_fb;
-@@ -374,9 +374,9 @@ static void zrle_encoder_do_work(void* obj)
- 	assert(self->current_result);
- }
- 
--static void zrle_encoder_on_done(void* obj)
-+static void zrle_encoder_on_done(struct aml_work* work)
- {
--	struct zrle_encoder* self = aml_get_userdata(obj);
-+	struct zrle_encoder* self = aml_get_userdata(work);
- 
- 	assert(self->current_result);
- 
-diff --git a/src/resampler.c b/src/resampler.c
-index e24798b..8f4cfa0 100644
---- a/src/resampler.c
-+++ b/src/resampler.c
-@@ -147,9 +147,8 @@ void resample_now(struct nvnc_fb* dst, struct nvnc_fb* src,
- 	pixman_image_unref(dstimg);
- }
- 
--static void do_work(void* handle)
-+static void do_work(struct aml_work* work)
- {
--	struct aml_work* work = handle;
- 	struct resampler_work* ctx = aml_get_userdata(work);
- 
- 	struct nvnc_fb* src = ctx->src;
-@@ -159,11 +158,9 @@ static void do_work(void* handle)
- 	resample_now(dst, src, &dst_side_data->buffer_damage);
- }
- 
--static void on_work_done(void* handle)
-+static void on_work_done(struct aml_work* work)
- {
--	struct aml_work* work = handle;
- 	struct resampler_work* ctx = aml_get_userdata(work);
--
- 	ctx->on_done(ctx->dst, &ctx->frame_damage, ctx->userdata);
- }
- 
-diff --git a/src/server.c b/src/server.c
-index a4f0ad9..099be28 100644
---- a/src/server.c
-+++ b/src/server.c
-@@ -210,9 +210,8 @@ static void client_close(struct nvnc_client* client)
- 	free(client);
- }
- 
--static void do_deferred_client_close(void* obj)
-+static void do_deferred_client_close(struct aml_idle* idle)
- {
--	struct aml_idle* idle = obj;
- 	struct nvnc_client* client = aml_get_userdata(idle);
- 	client->close_task = NULL;
- 	aml_stop(aml_get_default(), idle);
-@@ -2013,9 +2012,8 @@ static void on_client_event(struct stream* stream, enum stream_event event)
- 	client->buffer_index = 0;
- }
- 
--static void on_connection(void* obj)
-+static void on_connection(struct aml_handler* poll_handle)
- {
--	struct aml_handler* poll_handle = obj;
- 	struct nvnc__socket* socket = aml_get_userdata(poll_handle);
- 	struct nvnc* server = socket->parent;
- 
-diff --git a/src/stream/gnutls.c b/src/stream/gnutls.c
-index 14661e5..00a7c13 100644
---- a/src/stream/gnutls.c
-+++ b/src/stream/gnutls.c
-@@ -171,10 +171,10 @@ static void stream_gnutls__on_writable(struct stream* self)
- 	}
- }
- 
--static void stream_gnutls__on_event(void* obj)
-+static void stream_gnutls__on_event(struct aml_handler* handler)
- {
--	struct stream* self = aml_get_userdata(obj);
--	uint32_t events = aml_get_revents(obj);
-+	struct stream* self = aml_get_userdata(handler);
-+	uint32_t events = aml_get_revents(handler);
- 
- 	stream_ref(self);
- 
-diff --git a/src/stream/tcp.c b/src/stream/tcp.c
-index 37f139a..95f5aa8 100644
---- a/src/stream/tcp.c
-+++ b/src/stream/tcp.c
-@@ -191,10 +191,10 @@ static void stream_tcp__on_writable(struct stream* self)
- 	}
- }
- 
--static void stream_tcp__on_event(void* obj)
-+static void stream_tcp__on_event(struct aml_handler* handler)
- {
--	struct stream* self = aml_get_userdata(obj);
--	uint32_t events = aml_get_revents(obj);
-+	struct stream* self = aml_get_userdata(handler);
-+	uint32_t events = aml_get_revents(handler);
- 
- 	// We hold a reference here in case the stream gets destroyed inside
- 	// callback.
diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-meson-Use-new-pkgconfig-for-aml1.patch b/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-meson-Use-new-pkgconfig-for-aml1.patch
deleted file mode 100644
index ec47fb61fb..0000000000
--- a/meta-oe/recipes-graphics/neatvnc/neatvnc/0001-meson-Use-new-pkgconfig-for-aml1.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From c1f4833dc13403882a3efbb8a69de33191fb72c6 Mon Sep 17 00:00:00 2001
-From: Andri Yngvason <andri@yngvason.is>
-Date: Sun, 27 Jul 2025 14:17:54 +0000
-Subject: [PATCH] meson: Use new pkgconfig for aml1
-
-Upstream-Status: Backport [https://github.com/any1/neatvnc/commit/c1f4833dc13403882a3efbb8a69de33191fb72c6] 
-
----
- meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/meson.build b/meson.build
-index e731886..59364a7 100644
---- a/meson.build
-+++ b/meson.build
-@@ -76,7 +76,7 @@ aml_project = subproject('aml', required: false, version: aml_version)
- if aml_project.found()
- 	aml = aml_project.get_variable('aml_dep')
- else
--	aml = dependency('aml', version: aml_version)
-+	aml = dependency('aml1', version: aml_version)
- endif
- 
- inc = include_directories('include')
--- 
-2.43.0
-
diff --git a/meta-oe/recipes-graphics/neatvnc/neatvnc_0.9.6.bb b/meta-oe/recipes-graphics/neatvnc/neatvnc_1.0.1.bb
similarity index 77%
rename from meta-oe/recipes-graphics/neatvnc/neatvnc_0.9.6.bb
rename to meta-oe/recipes-graphics/neatvnc/neatvnc_1.0.1.bb
index 34cfbf18cc..5946994b53 100644
--- a/meta-oe/recipes-graphics/neatvnc/neatvnc_0.9.6.bb
+++ b/meta-oe/recipes-graphics/neatvnc/neatvnc_1.0.1.bb
@@ -4,13 +4,9 @@ HOMEPAGE = "https://github.com/any1/neatvnc"
 LICENSE = "ISC"
 LIC_FILES_CHKSUM = "file://COPYING;md5=94fc374e7174f41e3afe0f027ee59ff7"
 
-SRC_URI = "git://github.com/any1/neatvnc;branch=v0.9;protocol=https \
-           file://0001-meson-Use-new-pkgconfig-for-aml1.patch \
-           file://0001-Add-method-to-listen-on-multiple-fds.patch \
-           file://0001-Use-aml-v1.patch \
-          "
+SRC_URI = "git://github.com/any1/neatvnc;branch=v1.0;protocol=https;tag=v${PV}"
 
-SRCREV = "3295c11b934a83dbcb44beabf3f21a8b885a2d11"
+SRCREV = "4d6d09b544d84b836cf1906735354b4e694a0c1c"
 
 
 DEPENDS = "libdrm pixman aml zlib"
