macstrop icon indicating copy to clipboard operation
macstrop copied to clipboard

Qt6 with X11 backend for legacy macOS

Open barracuda156 opened this issue 9 months ago • 1 comments

@RJVB We have touched upon this matter a bit, but I wanna have a public issue, since who knows, maybe someone else will join in as well.

At the moment I have two questions:

  1. What do you think is a more likely to succeed approach, going with Qt6 + X11, latest Qt5 + X11 or really old Qt5 + Cocoa? Given that any one these will be time- and effort-consuming, it perhaps makes sense to just decide on one and work on it. Personally I have troubles with Qt5 Qmake-based build system, so there it is a pain to control the build when needed. CMake is convenient, but I have no idea to what extent Qt6 depends on the SDK.
  2. Do you have some interest and time to work on this together, provided this is not about powerpc and SL? (And with X11 most of the issues will be arch-agnostic, I believe.) Say, if I can ask you for some help on specific issues I run into and cannot solve, that will be very helpful. I can probably do most of time-consuming work, but you know the code better, and spending hours on searching for documentation is not really efficient.

barracuda156 avatar Mar 18 '25 16:03 barracuda156

On Tuesday March 18 2025 09:42:53 Sergey Fedorov wrote:

  1. What do you think is a more likely to succeed approach, going with Qt6 + X11, latest Qt5 + X11 or really old Qt5 + Cocoa?

That's impossible to answer without further confining the question. As you know my Qt5 experience on Mac doesn't go beyond 5.9 and I'm pretty certain it was work enough to back-port that version to OS X 10.9 . That wasn't just in the Cocoa QPA plugin and from what I recall the changes there were realitively easy. There's a considerable amount of platform-specific code outside of those plugins, unfortunately. (I've ported a few of my patches to Qt 5.12 but on Linux.)

You've probably also seen that getting an X11 version to build isn't exactly the smallest possible effort either. Hopefully those parts will not have evolved too much between 5.9 and 5.15 .

And while Qt5/X11 applications work fine for most purposes there are of course limitations that come from using X11. One of them is that long-running Qt5/X11 applications lose clipboard functionality after some time. I've only been able to figure out to determine what happens but not why it happens nor how to fix or avoid it. Using X11 apps with a multi-head set-up can be tricky too (as I found out again myself not long ago).

  1. Do you have some interest and time to work on this together,

I'd make time if I were really interested. As it is, I'm just not certain, or rather, fairly certain that I'm not exactly interested in pursuing this.

What you can do is refactor the patches required to do an X11 build to the newest Qt5 version you can run on your latest Inel/64 platform. And then see where you strand getting things to build and/or work. At that point I won't be able to do much to help, but once you have a functional X11 build on an otherwise officially supported Mac platform we can see about backporting it to older OS releases.

That's not going to be a small thing. If I had wanted to be serious about maintaining a backported Qt5 I should have maintained backports for each alpha release or so, just to keep up. I know someone who does just that with his backport of the Firefox browser.

RJVB avatar Mar 18 '25 20:03 RJVB