Package: release.debian.org Severity: normal Tags: moreinfo X-Debbugs-Cc: [email protected], [email protected] Control: affects -1 + src:gnome-remote-desktop Control: block 1109007 by -1 User: [email protected] 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 <[email protected]> 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 <[email protected]> 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?= <[email protected]> +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; }

