The full version string for this binary release of OpenJDK is 13.0.1+9, and the version number is 13.0.1.

Liberica JDK 13.0.1 for Embedded

Liberica is a certified, Java SE 13.0.1-compliant distribution of OpenJDK 13.0.1 which works on embedded devices (Linux ARM64, Linux ARMv7, including Raspberry Pi 2 & 3 (ARMv6 hardfloat). It has the following notable additions:

  • Linux x86_64 version contains experimental support for ZGC.

  • Linux x86_64, ARMv8 and ARMv7 distributions include a choice of Client VM, Server VM and Minimal VM.

  • Alpine Linux x86_64 version is build with musl support.

  • Linux ARMv7 distribution contains Device IO API compiled for Raspberry Pi.

Please refer to the Oracle JDK 13.0.1 release notes for further information on JDK 13.0.1 features. This document further outlines the peculiarities of Liberica distribution as compared to Oracle JDK 11 distribution.

Supported Embedded configurations

Liberica is tested and certified on Raspberry Pi 2 & 3 running the following OSes:

  • Raspbian OS (armhf)

  • OpenSUSE (armv8)

It is also known to work with Debian (armhf) and Ubuntu (armhf).

Liberica JDK 13.0.1 distribution

Liberica JDK 13.0.1 for Embedded are distributed as .rpm, .deb and .tar.gz packages. Please select the one which is most appropriate for your purposes.

With the introduction of the Jigsaw feature in JDK 9 and Minimal VM it is now possible to create a Runtime that is sufficient to run your application and trim down the size of the Runtime. To generate a Runtime with just the Minimal VM, add --vm=minimal to jlink options.

By default, the Liberica uses Server VM. Server VM and Client VM can be enabled with -server and -client command line options, respectively. In case the deployment requires to minimize the footprint, it may be beneficial to use Minimal VM, which emphasises on a minimal footprint. It has C1 JIT compiler only, Serial GC and no serviceability features.

LibericaFX for the Raspberry Pi

Liberica JDK 13.0.1 come with a bundled LibericaFX implementation, which is based on OpenJFX. The following tables lists Java FX modules status of Liberica distribution

  • Java FX Graphics - works.

  • Java FX Controls - works.

  • Java FX Media - does not work.

  • Java FX Webkit - does not work.

The following pipelines are known to work: EGL, SW (direct framebuffer) and GTK. By default, Liberica tries to use the accelerated EGL pipeline, which requires the presence of EGL libraries. If they are not found, the implementation falls back to software rendering.

Use the following command line options to specify the rendering pipeline:

  • -Dprism.order=sw forces the use of software rendering pipeline.

  • -Dprism.order=es2 forces the use of EGL pipeline and hardware acceleration.

  • -Djavafx.platform=gtk if you would like to launch a LibericaFX application using Liberica from X11.

Please refer to the following wiki for more information.

Device IO API for the Raspberry Pi

Liberica JDK 13.0.1 comes with a bundled OpenJDK Device I/O (DIO) API implementation module. DIO provides a Java API for accessing Raspberry PI GPIO pins and for communicating with peripheral devices:

  • General Purpose Input/Output (GPIO).

  • Inter-Integrated Circuit Bus (I2C), Serial Peripheral Interface (SPI).

  • Universal Asynchronous Receiver/Transmitter (UART).

Please refer to the following wiki for more information.

Security Baselines

BellSoft Liberica follows the security baselines for Oracle Java SE. Please refer to the Oracle documentation for a list of issues fixed in a given release.

Known Issues

LibericaFX and EGL on Raspbian

As of 2017, the default location of Broadcom libEGL.so and libGLESv2.so has changed in Raspbian OS. If you’d like to leverage hardware EGL acceleration available from Broadcom video drivers in LibericaFX while running a recent Raspbian OS, run the following command:

cd /opt/vc/lib
sudo ln -s libbrcmEGL.so libEGL.so
sudo ln -s libbrcmGLESv2.so libGLESv2.so

Issues fixed

IssueDescription

JDK-8185898

setRequestProperty(key, null) results in HTTP header without colon in request

JDK-8191521

handle long relative path specified in -Xbootclasspath/a on windows

JDK-8209790

SA tools not providing option to connect to debug server

JDK-8209901

Canonical file handling

JDK-8212328

Exceptional throw cases

JDK-8212970

TZ database in “vanguard” format support

JDK-8213429

Windows file handling redux

JDK-8213431

Improve file protocol handling

JDK-8213432

Better copies of CopiesList

JDK-8215367

Better Collection of References

JDK-8216381

More limited privilege usage

JDK-8217563

Improve realm maintenance

JDK-8217676

Upgrade libpng to 1.6.37

JDK-8218573

Better socket support

JDK-8218863

Better endpoint checks

JDK-8218873

Improve JSSE endpoint checking

JDK-8218876

Improve PNG support options

JDK-8218877

Help transform transformers

JDK-8219082

jdk/jfr/event/runtime/TestShutdownEvent.java failed in validateStackTrace()

JDK-8219775

Certificate validation improvements

JDK-8220186

Improve use of font temporary files

JDK-8220302

Better Kerberos ccache handling

JDK-8220517

Enhanced GIF support

JDK-8221345

Better Poly1305 support

JDK-8221497

Optional Panes in Swing

JDK-8221518

Normalize normalization

JDK-8221858

Build Better Processes

JDK-8222108

Reduce minRefreshTime for updating remote printer list on Windows

JDK-8222678

Improve TLS negotiation

JDK-8222684

Better support for patterns

JDK-8222690

Better Glyph Images

JDK-8222751

closed/test/jdk/sun/security/util/DerIndefLenConverter/IndefBerPkcs12.java fail

JDK-8222968

ByteArrayPublisher is not thread-safe resulting in broken re-use of HttpRequests

JDK-8223326

Regression introduced by CPU sync: java.security.AccessControlException: access denied (“java.net.NetPermission” “setSocketImpl”)

JDK-8223505

Better pattern compilation

JDK-8223518

Unexpected exception in jjs

JDK-8223869

Problem list java/awt/FontMetrics/MaxAdvanceIsMax.java on more platforms

JDK-8223886

Add in font table referene

JDK-8223892

Improved handling of jar files

JDK-8224025

Fix for JDK-8220302 is not complete

JDK-8224062

Improve String index handling

JDK-8224505

TestQuotedLogOutput failure after ProcessBuilder changes

JDK-8224532

Better Path supports

JDK-8224915

Better serial attributes

JDK-8225286

Better rendering of native glyphs

JDK-8225292

Better Graphics2D drawing

JDK-8225298

Improve TLS connection support

JDK-8225425

java.lang.UnsatisfiedLinkError: net.dll: Can’t find dependent libraries

JDK-8225505

ctrl-F1 does not show the tooltip of a menu item (JMenuItems)

JDK-8225597

Enhance font glyph mapping

JDK-8226530

ZipFile reads wrong entry size from ZIP64 entries

JDK-8226543

Reduce GC pressure during message digest calculations in password-based encryption

JDK-8226765

Commentary on Javadoc comments

JDK-8227171

provide function names in native stack trace on aix with xlc16

JDK-8227201

Bump version string for 13.0.1

JDK-8227230

Backout JDK-8215367 from update releases

JDK-8227435

Perf::attach() should not throw a java.lang.Exception

JDK-8227594

sadebugd/DebugdConnectTest.java fails due to “java.rmi.NotBoundException: SARemoteDebugger”

JDK-8227601

Better collection of references

JDK-8227662

freetype seeks to index at the end of the font data

JDK-8227757

Add ‘ga’ mercurial tags to the CPU19_10 source forests

JDK-8228649

[PPC64] SA reads wrong slots from interpreter frames

JDK-8228711

Path rendered incorrectly when it goes outside the clipping region

JDK-8228825

Enhance ECDSA operations

JDK-8229002

Shenandoah: Missing node types in ShenandoahLoadReferenceBarrier::needs_barrier_impl()

JDK-8229118

[TESTBUG] serviceability/sa/ClhsdbFindPC fails on AArch64

JDK-8229182

runtime/containers/docker/TestMemoryAwareness.java test fails on SLES12

JDK-8229242

JDK 13.0.1 L10n resource files update msgdrop 10

JDK-8229284

jdk/internal/platform/cgroup/TestCgroupMetrics.java fails for - memory:getMemoryUsage

JDK-8229706

java/net/MulticastSocket/NoLoopbackPackets.java fails on some AIX machines

JDK-8229773

Resolve permissions for code source URLs lazily

JDK-8229800

WindowsServerCore 1809 does not provide d2d1.dll library required by awt.dll

JDK-8229872

(fs) Increase buffer size used with getmntent

JDK-8229887

(zipfs) zip file corruption when replacing an existing STORED entry

JDK-8229925

[s390, PPC64] Exception check missing in interpreter

JDK-8230110

TestLinkageErrorInGenerateOopMap times out

JDK-8230115

Problemlist JFR TestNetworkUtilization test

JDK-8230303

JDB hangs when running monitor command

JDK-8230425

Shenandoah forces +UseNUMAInterleaving even after explicitly disabled

JDK-8230565

ZGC: Redesign C2 load barrier to expand on the MachNode level

JDK-8230646

Epsilon does not extend TLABs to max size

JDK-8230666

Exclude serviceability/sa/TestInstanceKlassSize.java on linuxppc64 and linuxppc64le

JDK-8230728

Thin stroked shapes are not rendered if affine transform has flip bit

JDK-8230782

Robot.createScreenCapture() fails if “awt.robot.gtk” is set to false

JDK-8230850

Test sun/tools/jcmd/TestProcessHelper.java fails intermittently

JDK-8230943

False deadlock detection with -XX:+CIPrintCompileQueue after JDK-8163511

JDK-8231098

(tz) Upgrade time-zone data to tzdata2019c

JDK-8231197

Shenandoah: JVMTI heap walking cleanup crashes with NULL forwardee

JDK-8231405

[Shenandoah] guarantee(d != NULL) failed: Null dominator info

JDK-8231583

Shenandoah: Fix register clash in SBSA::resolve_forwarding_pointer() borrowing

JDK-8231770

Test java/util/zip/FlaterTest.java fails with -Xcheck:jni

JDK-8231887

ComodoCA.java fails because certificate was revoked

JDK-8227402

Improve XSLT processing

ON THIS PAGE