Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

In general a touch screen that is recognized by Linux and generates EV_ABS events will work with JavaFX.

Raspberry Pi OS

Tested:

  • Raspbian Jessie

  • Raspbian Jessie Lite

    • Note: is missing the Pango package for running OpenJFX. Easily fixed with "apt-get install libpango-1.0-0:armhf libpangoft2-1.0-0:armhf"
  • NOOBS (v1_4_1) installing:
    • Raspbian Debian Wheezy (2015-05-05)

When the raspi_config options are displayed, there is one critical item for OpenJFX. Under "Advanced Option" choose "Memory Split" and set the value to 128 or 256. This is the memory allocated for GPU use. OpenJFX can use quite a bit of memory for textures and shaders. The amount available to OpenJFX cannot be queried from the OS, and OpenJFX cannot always handle the failure gracefully. You can always run the raspi_config tool after install to change the value.

The Jessie images were tested with jdk-8u65-linux-arm32-vfp-hflt.tar.gz, which is downloadable from the Oracle JDK8 download page. Note that this version of the JDK does not come with an integrated JavaFX. JavaFX can be obtained by building OpenJFX for ARM, or by using one of the community builds.

OLDER DISTRO NOTES

The configuration used by Oracle for testing is:

...

  • Make sure to expand the filesystem, or you won't have enough room to install the JDK.
  • If you are using the device primarily with JavaFX, you will probably not want to select "Enable Boot to Desktop". JavaFX on the Pi takes over the whole screen and does not interact with the Linux desktop.
  • Under "Advanced Options" you can select "Memory Split" to allocate memory to the graphics processor. A 50/50 split will let you get most use out of JavaFX accelerated graphics.
  • If you are using JavaFX over ethernet, it can be convenient to turn on the SSH server under "Advanced Options". Since JavaFX takes over input devices, it can be hard to stop an application if you don't have an SSH connection to it from another machine.

Because of the way JavaFX is run, it is sensitive to the system screen blank timer. To disable the screen blank timer, edit the file /etc/kbd/config and change the lines for BLANK_TIME and POWERDOWN_TIME to be 0 (disable), and reboot. If not disabled, many applications will appear to stop after 30 minutes or so of use.

 

Tip

If you are connecting to your Pi over the network, you can save some time by setting a host name, and enabling ssh access for it in raspi-config, then installing the avahi-daemon package (sudo apt-get install avahi-daemon from the command line). You'll then be able to reach the Pi from a Linux PC with the command: ssh pi@<host name>.local

...