Call for Discussion : New Project to support the Wayland display server on Linux
kevin.rushforth at oracle.com
Wed Jul 7 17:07:44 UTC 2021
Yes, given that most of the JavaFX windowing code on Linux uses GDK /
GTK with a fairly small amoun of Xlib, a native Wayland port for JavaFX
should be less work than for AWT. Doing a Wayland version of the
"prism-es2" pipeline for Linux should be straight-forward, as Johan
As with AWT, the first step is to get JavaFX running in XWayland mode.
Some of the common concerns that AWT and JavaFX have is around how to
support Robot (which will carry over to a native Wayland port).
On 7/7/2021 9:56 AM, Philip Race wrote:
> Directly rendering using EGL is something that is an option for the 2D
> code too, but it has no ES2 pipeline like FX does.
> It is tightly integrated with XGL. We should consider the other
> options too of course.
> And AWT has no dependency on GTK / GDK. GTK is used only for the
> theming support for the Swing GRK L&F
> So there's a lot to do on the client-libs side.
> On 7/7/21 9:19 AM, Johan Vos wrote:
>> Thanks for starting this discussion, and for the great description of
>> the landscape and evolutions.
>> I've been looking at Wayland in the past, and as far as JavaFX
>> concerns, I believe there are only a small amount of changes needed
>> in glass (leveraging the fact that GDK can use Wayland as a backend),
>> and then a wayland version of the prism-es2 pipeline which should be
>> relative small as well.
>> - Johan
>> Op wo 7 jul. 2021 om 15:28 schreef Philip Race
>> <philip.race at oracle.com <mailto:philip.race at oracle.com>>:
>> For a number of years the Linux community has been working on a
>> replacement for the 1980's era X11 desktop display server protocol
>> with new protocols and libraries that support client-side
>> rendering and
>> a compositing desktop windowing system.
>> This work is being done under the auspices of the Wayland project
>> and there is a reference
>> implementation of a Wayland compositor called "Weston".
>> A new client written for the Wayland desktop has no dependency at
>> on X11, but Wayland also provides a compatibility
>> mode where the X.org X11 server runs along side Wayland, so that
>> thousands of X11 applications can continue to run.
>> Presently all distros that ship the Wayland server, also still
>> ship the
>> pure X11 server and the user can select
>> which one to use on the login screen. However there will come a time
>> when Wayland is the only choice and
>> already Wayland is the default on RHEL 8, OL 8, Ubuntu 21.04 and
>> I am
>> sure others too.
>> At that time Java for Linux will "mostly" run via the X11
>> layer, but would not pass the JCK,
>> since some important APIs, notably those of the java.awt.Robot
>>  will fail with Wayland.
>> We need to solve this so that pure Java and applications which mix
>> and X11 APis can work.
>> But even then this would mean Java on Linux is not a first class
>> citizen, which is not desirable for
>> the long term, given the importance of Linux to many Java
>> developers as
>> well as to active
>> individual and corporate contributors to the JDK project.
>> Indeed there have already been informal discussions for some time
>> various parties that have expressed
>> interest in helping towards the outcome of supporting Wayland
>> Consequently we expect quite shortly to propose an OpenJDK project
>> will consider the goals of
>> - a short to medium term solution for JDK running on Wayland in X11
>> compatibility mode
>> - a medium to long term solution for JDK running as a native Wayland
>> There are some unknowns and questions, such as what are the
>> options for
>> supporting Robot ?
>> What other support is missing ? What platform APIs should the
>> implementation use ?
>> How does a native Wayland solution interoperate with OpenJFX ?
>> Comments, expressions of interest etc are welcome.
>> -Phil Race, for the Java client groups.
>>  : https://wayland.freedesktop.org/
>>  :
More information about the discuss