OpenJFX has been shown to work on i.MX6 with 'hard float ABI" Linux distributions.
Each vendor usually supplies a sample distro that has been configured to work properly with the i.MX6 board they provide. See the notes below for known boards, and please help us by adding boards you have tested that are not present.
Start with the JDK8 preview for ARM. Unpack this into a known location like /opt
OpenGL Accelerated Libraries (EGL)
The Vivante framebuffer specific divers must be present and properly configured. The EGL drivers are built to support a particular rendering target (X11, framebuffer, ....). This affects libEGL.so, libGAL.so and in some cases libVIVANTE.so. Sometimes the "alternate" version of the library is present in /usr/lib, as libEGL-fb.so for example. This alternate version must either be:
- copied to an alternate location (without the -fb) and used with LD_LIBRARY_PATH
- used as the target for the /usr/lib/libEGL.so symbolic link
Fonts
OpenJFX is designed to use libfontconfig to obtain fonts. It that is not present, then it is possible to "manually" configure the fonts.
(todo: add the fallback configuration here)
Yocto
Currently Yocto is supported on many i.MX6 based devices. The documented and tested mainline target (fsl-image-x11) builds for an X11 based image. There is work underway for a framebuffer based target (fsl-image-fb), but that is not currently on the Yocto mainline.
Note: currently there is an false dependency on libX11.so in the JDK8 preview. See the JIRA for more details and possible workarounds.
Boundry Devices
Yocto
The Yocto demonstration build has been show to work, with a bit of effort. The challenge is to obtain a "framebuffer" version of of the graphics libraries (libEGL.so,libGAL.so). Once you have those, stop X11, and use LD_LIBRARY_PATH to point to the overriding libraries.
/etc/init.d/xserver-nodm stop
export LD_LIBRARY_PATH="path to the framebuffer versions"
export PATH=$PATH:/opt/jdk1.8.0/bin
The above assumes you don't want to break the default X11 configuration quite yet.
(TODO find a proper link to the framebuffer versions of libEGL.so,libGAL.so)
Raring
The Raring build is known to work, though the cursor is not rendered properly. Note in this image, that you need to use all three versions of the framebuffer libraries (libEGL.so,libGAL.so, libVIVANTE.so)