( I'm upstream of Castle Game Engine. I already posted about a related 
castle-model-viewer bugreport on 
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=967795 . )

In Castle Game Engine, GTK 2 is used in 2 ways:

1. As a backend of our TCastleWindow. This was solved on our (upstream) side -- 
we introduced now a new backend CASTLE_WINDOW_GTK_3 and it's now default on 
Linux and FreeBSD. So all applications using TCastleWindow can be compiled to 
use GTK 2 instead of 3.

  More information on https://castle-engine.io/wp/2026/02/09/upgrade-to-gtk-3/ .

  So this should be solved once we (upstream) release new engine version (we 
plan to do it this month, February 2026) and Debian updates to it.

2. Another usage is through using LCL, this affects our editor (castle-editor) 
application. The editor doesn't use TCastleWindow, it uses Lazarus LCL + 
TCastleControl component. There are a few solutions to this usage:

2.1. In short, for Debian packaging, as a simplest solution we recommend to use 
LCL Qt5 widgetset for castle-editor.

  We did some fixes around TCastleControl + Qt5 widgetset in the past, and it 
should work nicely.

  Note that this is *not* what we will do as an upstream, in our releases on 
https://castle-engine.io/download . Using Qt5 widgetset would be risky for us, 
as it has to rely on libqt5pas, which changes API from time to time, and 
distributing a binary castle-editor that links to incompatible libqtpas would 
just crash on users. This will change once we use Snap / Flatpak for Linux 
releases (then we can package engine + proper libqtpas) but for current 
releases it would be bad. Anyhow, this problem doesn't concern Debian, where 
you can just make sure that libqt5pas and castle-editor are compatible, since 
you ship them both.

2.2. We could rely on Lazarus GTK 3 widgetset.

  It is unfortunately still not stable enough for us. Even testing with latest 
Lazarus "main", where "gtk3" is no longer marked "alpha". I mentioned details 
on https://castle-engine.io/wp/2026/02/09/upgrade-to-gtk-3/ .

  I want to work on this, and once done -> this can be a solution for both 
upstream and Debian packaging. But it may not be immediate.

2.3. There is also, but this is a more distant future, possibility to have 
castle-editor version that doesn't use LCL, and only uses TCastleWindow. So 
then our engine editor is also a "more typical" application using our engine. I 
actually started to play with this idea in the past, it's called 
castle-editor-portable, 
https://github.com/castle-engine/castle-engine/tree/master/tools/castle-editor-portable
 . But this needs a lot of work to be really "production" usage at this point.

Regards,
Michalis

Reply via email to