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.sa...@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.dav...@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

Reply via email to