Package: release.debian.org
Severity: normal
X-Debbugs-Cc: free...@packages.debian.org
Control: affects -1 + src:freecad
User: release.debian....@packages.debian.org
Usertags: unblock

Please unblock package freecad

(Please provide enough (but not too much) information to help
the release team to judge the request efficiently. E.g. by
filling in the sections below.)

[ Reason ]
This update includes a targeted work-around against a crash when running
under wayland. The details are in bug #1051296.

this bug affects all persons using wayland, so it would be great to have
the fix in trixie for much better user experience.

[ Impact ]
(See above)

[ Tests ]
freecad has autopkg tests, and O#ve manually tested the cahanges, on wayland
and on XOrg

[ Risks ]

FreeCAD is a leave package, aging in unstable for 10 days now (more if you
consider the botched -7 upload, that was my fault) so I consider it low risk.

The patch is very small.

[ 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 freecad/1.0.0+dfsg-8
diff --git a/debian/changelog b/debian/changelog
index 4f2bb2b55..8ea9084f5 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
+freecad (1.0.0+dfsg-8) unstable; urgency=medium
+
+  * Disable accidential added autopkgtest starttest, which was not ready.
+
+ -- Tobias Frost <t...@debian.org>  Mon, 07 Jul 2025 17:48:33 +0200
+
+freecad (1.0.0+dfsg-7) unstable; urgency=medium
+
+  * Add patch to workaround crash under wayland (Closes: #1051296)
+
+ -- Tobias Frost <t...@debian.org>  Sat, 28 Jun 2025 10:30:28 +0200
+
 freecad (1.0.0+dfsg-6) unstable; urgency=medium
 
   * Add some more paths to d/clean, thanks Wookey for the patch.
diff --git a/debian/patches/2080-force-xcb-on-wayland.patch 
b/debian/patches/2080-force-xcb-on-wayland.patch
new file mode 100644
index 000000000..5ac1f84a9
--- /dev/null
+++ b/debian/patches/2080-force-xcb-on-wayland.patch
@@ -0,0 +1,42 @@
+Description: Workaround for bug in src:coin3d (#1050302) causing a crash under 
Wayland
+ FreeCAD crashes on Wayland due to Coin3D requiring a current GL context
+ during initialization. Qt uses EGL on Wayland, which leads to missing
+ context at that point. Forcing the X11 (xcb) backend avoids the issue by
+ using the GLX path, which satisfies Coin3D's expectations.
+ This is a temporary workaround until coin3d is updated.
+Author: Tobias Frost <t...@debian.org>
+Bug: https://github.com/FreeCAD/FreeCAD/issues/9273
+Bug-Debian: https://bugs.debian.org/1051296
+Forwarded: not-needed
+Last-Update: 2025-06-28 <YYYY-MM-DD, last update of the meta-information, 
optional>
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/src/Main/MainGui.cpp
++++ b/src/Main/MainGui.cpp
+@@ -57,6 +57,10 @@
+ #include <Base/Exception.h>
+ #include <Gui/Application.h>
+ 
++// workaround for #1050302
++#include <cstdlib>
++#include <cstring>
++#include <iostream>
+ 
+ void PrintInitHelp();
+ 
+@@ -97,6 +101,15 @@
+ 
+ int main(int argc, char** argv)
+ {
++
++    // workaround for #1050302, crashing under wayland
++    // Check if running under Wayland and QT_QPA_PLATFORM unset.
++    if (std::getenv("WAYLAND_DISPLAY") && !std::getenv("QT_QPA_PLATFORM")) {
++        std::cout << "Wayland detected. Forcing Qt to use X11 backend (xcb) 
to avoid Coin3D EGL issue.\n";
++        setenv("QT_QPA_PLATFORM", "xcb", 1);
++    }
++
++
+ #if defined(FC_OS_LINUX) || defined(FC_OS_BSD)
+     setlocale(LC_ALL, "");       // use native environment settings
+     setlocale(LC_NUMERIC, "C");  // except for numbers to not break XML import
diff --git a/debian/patches/series b/debian/patches/series
index e169e7022..52ac756fa 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,4 @@
 1090-freecad-spelling-allow-one.patch
 1091-freecad-spelling-others.patch
 1110-GL_MULTISAMPLE.patch
+2080-force-xcb-on-wayland.patch

Reply via email to