<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
Hi Davide,<br>
<br>
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.<br>
<br>
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.<br>
<br>
-- Kevin<br>
<br>
<br>
<div class="moz-cite-prefix">On 12/1/2024 7:08 AM, Johan Vos wrote:<br>
</div>
<blockquote type="cite" cite="mid:CABxFH2Fe+VWHoj+k6iGetQgw6TQANAJbBhw76nmGNODRagrR4g@mail.gmail.com">
<div dir="ltr">Hi,
<div><br>
</div>
<div>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.</div>
<div><br>
</div>
<div>- Johan</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Sun, Dec 1, 2024 at 1:32 PM
Thiago Milczarek Sayão <<a href="mailto:thiago.sayao@gmail.com" moz-do-not-send="true" class="moz-txt-link-freetext">thiago.sayao@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<p>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.</p>
<p>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.</p>
<p>(*) XWayland is the compatibility layer that allows X11
applications to run on Wayland.</p>
<p>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).</p>
<p>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.</p>
<p>I also conducted some experiments and managed to display
a window using only the Wayland protocol (*) in Java,
leveraging <code>jextract</code> and the Foreign Function
& Memory (FFM) API. However, this is far from
achieving a fully functional Wayland Glass backend.</p>
<p>(*) Wayland is just a specification, many compositors
implement it.</p>
<p>-- Thiago.</p>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">Em dom., 1 de dez. de 2024
às 08:43, Davide Perini <<a href="mailto:perini.davide@dpsoftware.org" target="_blank" moz-do-not-send="true" class="moz-txt-link-freetext">perini.davide@dpsoftware.org</a>>
escreveu:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">As
title.<br>
It seems that JavaFX is not fully compliant with Linux
Wayland.<br>
<br>
Is there an ETA for the complete wayland support?<br>
<br>
Thanks<br>
<br>
</blockquote>
</div>
</blockquote>
</div>
</blockquote>
<br>
</body>
</html>