Hi,

A native Wayland backend for JavaFX is a great thing to have. I had this as
a priority many years ago, but the X11-Wayland client turned out to be much
better than expected, so we settled for that. A major technical issue we
had in those days was the difficulty to do screen captures (which Wayland
for very good reasons is much more strict about than X11). I think this was
ultimately solved in the wakefield project, so we can benefit from this. I
see that Thiago's POC is using libei, which could be the same approach.

As for "why don't we have this yet?", I want to repeat the lesson I learned
the hard way: creating something is easy (even easier these days),
maintaining it is much harder (even with, or especially with todays
assistant tools). When we have a native Wayland client (and don't get me
wrong, we absolutely should (I wasn't aware of the issues reported here)),
we need to make sure it is both maintainable as well as maintained. And
that requires very deep human understanding.
My main work on JavaFX for the past year or so is maintenance work for
backports to the LTS releases (which we provide for free, so there's no
revenue in that). It's a bit sad, as I prefer to work on new things, but it
is crucial for OpenJFX.
When we add something to OpenJFX, we have to support it. JavaFX users
expect their applications to keep working for many years. Especially in
areas with native code or integration with lower-level system API's, this
is not trivial. We need people to fully understand all details of how this
is working, and we need to act swiftly in case of changes or, worse,
security issues. Especially the latter is increasingly important. You all
probably saw how many security fixes were released in the latest JavaFX
27.0.1. Keeping OpenJFX secure requires a very deep understanding of how
exactly things are working, especially at the lower levels.

I absolutely do now want to disencourage people from doing something,
rather the contrary. I just want to explain the reasons why I wasn't very
active on it in the past years, and give my first-hand experience with
being flooded with maintenance work -- just that we are all aware of this,
so that we can handle issues very well.

But in any case: +1 on native Wayland support in JavaFX!

- Johan


On Sun, Oct 25, 2026 at 3:20 AM Marius Hanl <[email protected]> wrote:

> Good to see progress on that. I think for the long term, we should
> really start implementing the Wayland backend in JavaFX.
>
> I saw that many other Open Source Frameworks did implement Wayland
> support by now (or made it the default). So I really think we should
> follow. The time seems to be right.
> Also, it seems that some services and/or platforms start to phase out
> X11 support bit by bit.
>
> On KDE, I was surprised that JavaFX looks very blurry, which is due to
> scaling. Changing 'Legacy applications (X11)' to 'Scaled by the system'
> fixes it. It seems that only JavaFX really suffers from it, because
> everything else already seems to use Wayland or another approach. In any
> case, for users not aware of this setting the experience will be rather
> bad, at least on KDE.
>
> Thiago, if you need some help (code/review) or just more testing, feel
> free to ping me.
> I'm willing to invest some time into it. Maybe we find more people
> interested, so that we get some results, similar as for the Direct3D12
> backend.
>
>
> -- Marius
>
>
> On 10/24/26 3:10 AM, Thiago Milczarek Sayão wrote:
> > I couldn't wait until I had everything fully implemented, so I took a
> > shortcut to see how it would look and if it would fully work.
> >
> > So, here it is: JavaFX running 100% on Wayland, with either Vulkan or
> > OpenGL rendering.
> >
> > https://github.com/tsayao/jfx-wayland
> >
> > We can reuse some of the ideas, but not the code.
> >
> > I kept it in a separate repository to avoid any legal issues. If I've
> still
> > made any mistakes in that regard, please let me know and I'll fix them.
> >
> > Regardless, it was an interesting experiment.
> >
> >
> > -- Thiago
>

Reply via email to