Is there an ETA for Linux Wayland support?
Kevin Rushforth
kevin.rushforth at oracle.com
Mon Dec 2 16:41:30 UTC 2024
Hi Davide,
As both Thiago and Johan both mentioned, JavaFX is supported on Wayland
using XWayland. This is the same way that AWT in the core JDK is
supported on Wayland. Your JavaFX applications should run fine on
Wayland, and if they don't, it's a bug that we should fix.
Longer term, there is value in switching to pure Wayland, both for AWT
and for JavaFX, but you shouldn't see any difference in how your
application behaves. Some windowing operations might perform better,
depending on how the pure Wayland port is ultimately implemented, but
your application should otherwise run the same as it does now.
-- Kevin
On 12/1/2024 7:08 AM, Johan Vos wrote:
> Hi,
>
> I had this high on my list a couple of years ago, but because of
> XWayland I didn't feel the urgent need to work on it, so it dropped a
> bit on my priority list. Thiago did great experimental work in this
> area, and I should raise Wayland higher on my list again. It's
> something I would love to spend more time on, it's just that there are
> often things bumping on the stack that require "urgent" attention.
>
> - Johan
>
> On Sun, Dec 1, 2024 at 1:32 PM Thiago Milczarek Sayão
> <thiago.sayao at gmail.com> wrote:
>
> I don’t officially speak on this matter, nor will I attempt to
> answer your question directly, as I’m unaware of any internal
> company efforts in this area. However, it would be beneficial to
> have a centralized resource to track ongoing efforts, ensuring we
> avoid duplicating work that might otherwise go to waste.
>
> That said, I’ve observed some progress in improving XWayland (*),
> and I’ve personally tested it and submitted bug fixes. Efforts
> have also been made to enable Robot to work with XWayland using
> PipeWire, which is a great step forward.
>
> (*) XWayland is the compatibility layer that allows X11
> applications to run on Wayland.
>
> Creating a simple state-based display using the pure Wayland
> protocol is relatively straightforward (specially with Java 22 and
> FFM). However, implementing all the necessary details for a fully
> functional and feature-complete Wayland backend is a substantial
> endeavor. One challenge, for instance, is that Wayland’s design
> choices intentionally avoid certain features (like not having a
> global cursor position and not allowing window management operations).
>
> I submitted a pull request to enable EGL on Prism ES2 with Wayland
> in mind. This enhancement allows for GL rendering using EGL, which
> is a critical requirement for a Wayland compositor.
>
> I also conducted some experiments and managed to display a window
> using only the Wayland protocol (*) in Java, leveraging |jextract|
> and the Foreign Function & Memory (FFM) API. However, this is far
> from achieving a fully functional Wayland Glass backend.
>
> (*) Wayland is just a specification, many compositors implement it.
>
> -- Thiago.
>
>
> Em dom., 1 de dez. de 2024 às 08:43, Davide Perini
> <perini.davide at dpsoftware.org> escreveu:
>
> As title.
> It seems that JavaFX is not fully compliant with Linux Wayland.
>
> Is there an ETA for the complete wayland support?
>
> Thanks
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/openjfx-dev/attachments/20241202/0fa0b895/attachment.htm>
More information about the openjfx-dev
mailing list