Date: Fri, 29 Mar 2024 12:30:05 +0000 (UTC) Message-ID: <267911096.1343.1711715405586@34fc92c9345b> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_1342_835665442.1711715405586" ------=_Part_1342_835665442.1711715405586 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
OpenJFX for embedded ARM platforms is built around the idea that it take= s over the whole screen and accesses the screen's framebuffer directly usin= g EGL. This is a lightweight way to render graphics for those devices and O= S configurations that support framebuffer access through EGL. However, some= configurations only support OpenGL rendering into an X11 window. For these= configurations it is still possible to use OpenJFX, using the experimental= X11 back-end.
In order to use OpenJFX on an ARM platform with X11, there are a few req= uirements:
DISPLAY
should typically be ":0".
NativeWindowType
.OpenJFX for ARM will attempt to use X11 for its display if it does not r=
ecognize the platform it is running on and if the DISPLAY
envi=
ronment variable is set. If OpenJFX fails to work with X11, it falls back t=
o software rendering on the framebuffer device. The X11 back-end can be exp=
licitly selected on the Java command-line with the parameter:
-Dmonoc= le.platform=3DX11
When running with the X11 back-end, OpenJFX creates a single X11 window =
that contains the whole of the OpenJFX window stack. Even if the JavaFX app=
lication creates multiple Stages, there are all shown in the same X11 windo=
w. The window by default takes up the whole screen, but the window can be r=
estricted in size using the system property x11.geometry=
code>:
-Dx11.g= eometry=3D<x offset>,<y offset>[+<width>x<height>]<= /pre>
Input is taken directly from Linux device drivers, just as when re= ndering directly to a framebuffer. Input from X11 events can also be select= ed, using the flag:
-Dx11.i= nput=3Dtrue
In this case only single-point touch support is available, and the= n only if the touch devices used is recognized by X11. Mouse input is also&= nbsp;available, but keyboard input is not implemented for this configuratio= n.
When running Ubuntu on the ODROID U3 device using EGL with X11, there is=
a bug in the graphics drivers that causes eglCreateWindowSurface to fail when called with an X11 Display pointer with the sign bit set. =
There is a workaround for this in OpenJFX. The workaround is activated with=
following the command-line flag:
-Dmonoc= le.maliSignedStruct=3Dtrue
The X11 implementation of Monocle does not show a hardware cursor. If a = hardware cursor is needed on an OMAP device that does not provide EGL acces= s to the framebuffer (for example, the PandaBoard ES) then the OMAPX11 port= can be used:
-Dmonoc= le.platform=3DOMAPX11