Hi Everyone.

A few of us have had side conversations about the transition of Subsurface from 
Qt 5 to Qt 6 as the default toolkit.

Given that upstream just released Qt 6.10.2 this may seem overdue - yet on the 
flip side, the newest Ubuntu desktop LTS version (24.04) ships with a version 
of Qt 6 (6.4) that is still missing critical modules that we need (e.g., 
QtLocation). The timing of this is... challenging.

Here's a bit of what we have, what the challenges are, and where we are trying 
to go. Help and input welcome...

The Qt 6 port is missing a few things. Most importantly printing. We are 
switching to QLiteHtml for the user manual and printing (since QtWebKit is no 
longer supported in Qt 6. But the printing part is still work in progress.  
There is some work from Robert but he definitely needs help.

The integration of QML and the Qt backend code has changed quite dramatically 
and so far none of the core developers have managed to actually get a 
Subsurface-mobile build with Qt 6 running. The amount of work to do this is so 
massive that we have discussed moving away from QML completely for the mobile 
app. I've played with creating an HTML/JS app (and if you go to 
https://cloud.subsurface-divelog.org <https://cloud.subsurface-divelog.org/> 
you'll get the first tiny bit of that web app as new user interface to cloud 
storage).

As I mentioned, shifting the Linux builds to Qt 6 is a major pain as each 
distro is on their own slow walk to Qt 6. We aren't alone in Qt 5 apps that 
haven't ported, yet. We really want at least Qt 6.8 as target as that seems to 
have a mature enough QtLocation for our maps to work. One way to do this is to 
simply not have Qt 6 versions for the older distros. 

For Ubuntu that would mean 24.04 LTS (and earlier) stay on the Qt 5 build, and 
25.10 and 26.04 (the next LTS which should come out in a few months) will be on 
Qt 6. 
Debian Bookworm is on Qt 6.4, Trixie on 6.8, so we'd do something similar 
there. 
Fedora 42 has Qt 6.9, Fedora 43 has Qt 6.10, so those are easy.

For macOS we already have a Qt 6 version that some people are running.

For Windows I am working on a native MSVC build with Qt 6.8. That's making good 
progress.

As we are adding test builds with Qt 6, it would be incredibly helpful if 
people would start using those. And of course provide feedback on things that 
aren't working.

And of course, volunteers to help with the printing port would also be amazing. 
Not to mention QML for Subsurface-mobile.


Thanks

/D
_______________________________________________
subsurface mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to