[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109041: unblock: gnome-remote-desktop/48.1-4



Package: release.debian.org
Severity: normal
Tags: moreinfo
X-Debbugs-Cc: gnome-remote-desktop@packages.debian.org, mesa@packages.debian.org
Control: affects -1 + src:gnome-remote-desktop
Control: block 1109007 by -1
User: release.debian.org@packages.debian.org
Usertags: unblock

I haven't actually uploaded this version yet, hence moreinfo tag, but 
I'm opening the unblock request in advance to flag it as being related 
to #1109007.

[ Reason ]

Avoid regressions on platforms where Vulkan works but VA-API doesn't, 
notably Raspberry Pi (<https://bugs.launchpad.net/bugs/2115956>)

[ Impact ]

If Mesa is updated as requested in #1109007, and g-r-d is not updated, 
then g-r-d will only work on machines where VA-API initializes 
successfully.

I think we do want #1109007 for trixie, to avoid the gfxstream driver 
closing unrelated fds and breaking Vulkan games by merely being 
available, even when a different driver is the one actually used for 
rendering (this is an especially visible failure mode with Proton).

Note that the proposed version *does not* fix CVE-2025-5024 (#1106527) 
which is a denial of service via resource exhaustion. The proposed 
change for that CVE has some known issues and as a result has not been 
merged upstream yet, and is a considerably more intrusive change than 
fixing the VA-API-related regression (therefore higher risk), while the 
CVE is also not particularly serious IMO. Someone can follow up on that 
one when the fix has landed upstream.

[ Tests ]

A functionally equivalent version is available in experimental, with no 
indication of problems. I'll smoke-test the proposed version on a trixie 
GNOME system (enable remote desktop on machine under test, connect RDP 
client from another machine) before uploading.

I don't have any hardware that I know to be affected by the issue that's 
being fixed here, but Mesa maintainer Timo Aaltonen said that he 
successfully tested the upstream change on an affected Ubuntu system and 
it fixed the regression, so I think that's good enough.

Autopkgtests "mostly" pass. There is a pre-existing problem with a flaky 
test that intermittently fails (I'll report a separate bug), and I was 
unlucky enough to see the test failure during my first attempt to test 
this, but it does not appear to be related to this change.

[ Risks ]

Low risk, targeted minimal change from upstream to fix a regression.

[ Checklist ]
  [x] all changes are documented in the d/changelog
  [x] I reviewed all changes and I approve them
  [x] attach debdiff against the package in testing

unblock gnome-remote-desktop/48.1-4
diffstat for gnome-remote-desktop-48.1 gnome-remote-desktop-48.1

 debian/changelog                                                               |   14 ++++
 debian/patches/rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch |   34 ++++++++++
 debian/patches/series                                                          |    1 
 src/grd-rdp-renderer.c                                                         |    5 +
 4 files changed, 53 insertions(+), 1 deletion(-)

diff -Nru gnome-remote-desktop-48.1/debian/changelog gnome-remote-desktop-48.1/debian/changelog
--- gnome-remote-desktop-48.1/debian/changelog	2025-05-13 15:01:58.000000000 +0100
+++ gnome-remote-desktop-48.1/debian/changelog	2025-07-10 10:04:35.000000000 +0100
@@ -1,3 +1,17 @@
+gnome-remote-desktop (48.1-4) unstable; urgency=medium
+
+  * Team upload
+  * Upload to unstable
+
+ -- Simon McVittie <smcv@debian.org>  Thu, 10 Jul 2025 10:04:35 +0100
+
+gnome-remote-desktop (48.1-3) experimental; urgency=medium
+
+  * Cherry-pick patch to fix gnome-remote-desktop on arm64
+    (at least as seen on Raspberry Pi 5) with mesa 25.07 (LP: #2115956)
+
+ -- Jeremy Bícha <jbicha@ubuntu.com>  Tue, 08 Jul 2025 16:59:33 +0200
+
 gnome-remote-desktop (48.1-2) unstable; urgency=medium
 
   [ Jeremy Bícha ]
diff -Nru gnome-remote-desktop-48.1/debian/patches/rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch gnome-remote-desktop-48.1/debian/patches/rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch
--- gnome-remote-desktop-48.1/debian/patches/rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch	1970-01-01 01:00:00.000000000 +0100
+++ gnome-remote-desktop-48.1/debian/patches/rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch	2025-07-10 10:04:35.000000000 +0100
@@ -0,0 +1,34 @@
+From: =?utf-8?q?Jonas_=C3=85dahl?= <jadahl@gmail.com>
+Date: Tue, 17 Jun 2025 11:39:29 +0200
+Subject: rdp/renderer: Clear VkDevice when vaapi initialization fails
+
+We're not going to use the VkDevice in this case, and it may cause
+issues if it exposes a different set of format modifiers, as we'd check
+format modifier support on the VkDevice, even if we won't be using
+it.
+
+https://gitlab.gnome.org/GNOME/gnome-remote-desktop/-/merge_requests/323
+
+(cherry picked from commit cd5c0d008329565838e047130385b52b8a261fa6)
+
+Origin: upstream gnome-48 branch after 48.1
+---
+ src/grd-rdp-renderer.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/grd-rdp-renderer.c b/src/grd-rdp-renderer.c
+index 0efffa1..c9ffa95 100644
+--- a/src/grd-rdp-renderer.c
++++ b/src/grd-rdp-renderer.c
+@@ -187,7 +187,10 @@ maybe_initialize_hardware_acceleration (GrdRdpRenderer   *renderer,
+   renderer->hwaccel_vaapi = grd_hwaccel_vaapi_new (renderer->vk_device,
+                                                    &error);
+   if (!renderer->hwaccel_vaapi)
+-    g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
++    {
++      g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
++      g_clear_object (&renderer->vk_device);
++    }
+ 
+   return TRUE;
+ }
diff -Nru gnome-remote-desktop-48.1/debian/patches/series gnome-remote-desktop-48.1/debian/patches/series
--- gnome-remote-desktop-48.1/debian/patches/series	2025-05-13 15:01:58.000000000 +0100
+++ gnome-remote-desktop-48.1/debian/patches/series	2025-07-10 10:04:35.000000000 +0100
@@ -1 +1,2 @@
 fdkaac.patch
+rdp-renderer-Clear-VkDevice-when-vaapi-initialization-fai.patch
diff -Nru gnome-remote-desktop-48.1/src/grd-rdp-renderer.c gnome-remote-desktop-48.1/src/grd-rdp-renderer.c
--- gnome-remote-desktop-48.1/src/grd-rdp-renderer.c	2025-04-14 10:27:19.000000000 +0100
+++ gnome-remote-desktop-48.1/src/grd-rdp-renderer.c	2025-07-10 10:10:16.000000000 +0100
@@ -187,7 +187,10 @@
   renderer->hwaccel_vaapi = grd_hwaccel_vaapi_new (renderer->vk_device,
                                                    &error);
   if (!renderer->hwaccel_vaapi)
-    g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
+    {
+      g_message ("[RDP] Did not initialize VAAPI: %s", error->message);
+      g_clear_object (&renderer->vk_device);
+    }
 
   return TRUE;
 }

Reply to: