JavaFX works on i.MX6 platforms 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.
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
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.
A framebuffer only image will need fonts installed and configured.
Note: currently there is an false dependency on libX11.so in the JDK8 preview. See the JIRA for more details and possible workarounds.
In a Yocto fsl-image-gui build, the framebuffer versions of the needed libraries are present in the build tree. Look for libEGL-fb.so and (libGAL-fb.so, libVivante-fb.so). Copy this to a directory in your working image removing the "-fb".
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.
export LD_LIBRARY_PATH="path to the framebuffer versions"
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)
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)