List icon Contents

System requirements

This page describes the software and hardware configurations required to run a Java program with JxBrowser.

Software requirements

Windows

JxBrowser supports both Windows 32-bit and 64-bit.

  • Windows 11
  • Windows 10
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016

You will need an Intel Pentium 4 processor or later that’s SSE3 capable.

macOS

  • Sequoia 15
  • Sonoma 14
  • Ventura 13
  • Monterey 12
  • Big Sur 11

You will need an Intel or Apple Silicon processor.

macOS must run in the non-headless mode, because Chromium does not support the headless mode on this platform.

Linux

JxBrowser supports only Linux 64-bit.

  • Ubuntu 18.04 or later
  • Debian 10 or later
  • Fedora Linux 38 or later
  • openSUSE 15.5 or later
  • RedHat Enterprise Linux 8.9 or later

You will need an Intel Pentium 4 processor or later that’s SSE3 capable, or ARM 64-bit.

ARM 64-bit binaries depend on GLIBC 2.29 that is available in more recent Linux distributions. We’re currently testing the library on Ubuntu 20.04, but it should also work with the other distributions from the list above containing GLIBC 2.29 or higher.

Chromium requires a display server to work in the headless environment. In order to use JxBrowser in Linux headless environment you need to start X server.

Required system dependencies

Ubuntu
24.04
22.04
20.04
18.04
sudo apt install ca-certificates fonts-liberation libasound2t64 \
    libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 \
    libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 \
    libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 \
    libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
    wget xdg-utils
sudo apt install ca-certificates fonts-liberation libasound2 \
    libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 \
    libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 \
    libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 \
    libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
    wget xdg-utils
sudo apt install ca-certificates fonts-liberation libasound2 \
    libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 \
    libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 \
    libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 \
    libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
    wget xdg-utils
sudo apt install ca-certificates fonts-liberation libasound2 \
    libatk-bridge2.0-0 libatk1.0-0 libatspi2.0-0 libc6 libcairo2 libcups2 \
    libcurl4 libdbus-1-3 libdrm2 libexpat1 libgbm1 libglib2.0-0 libgtk-3-0 \
    libnspr4 libnss3 libpango-1.0-0 libu2f-udev libvulkan1 libx11-6 libxcb1 \
    libxcomposite1 libxdamage1 libxext6 libxfixes3 libxkbcommon0 libxrandr2 \
    wget xdg-utils
Debian
12
11
10
apt install libasound2 libatk-bridge2.0-0 libatk1.0-0 libatomic1 libatspi2.0-0 \
    libc++1-16 libc++abi1-16 libc6 libcairo2 libcups2 libdav1d6 libdbus-1-3 \
    libdouble-conversion3 libdrm2 libevent-2.1-7 libexpat1 libflac12 \
    libfontconfig1 libfreetype6 libgbm1 libgcc-s1 libglib2.0-0 libgtk-3-0 \
    libharfbuzz-subset0 libharfbuzz0b libjpeg62-turbo libjsoncpp25 liblcms2-2 \
    libminizip1 libnspr4 libnss3 libopenh264-7 libopenjp2-7 libopus0 \
    libpango-1.0-0 libpng16-16 libpulse0 libsnappy1v5 libstdc++6 libunwind-16 \
    libwoff1 libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 \
    libxkbcommon0 libxml2 libxnvctrl0 libxrandr2 libxslt1.1 libzstd1 zlib1g
apt install libasound2 libatk-bridge2.0-0 libatk1.0-0 libatomic1 \
    libatspi2.0-0 libc6 libc6 libcairo2 libcups2 libdbus-1-3 \
    libdouble-conversion3 libdrm2 libevent-2.1-7 libexpat1 libflac8 \
    libfontconfig1 libfreetype6 libgbm1 libgcc-s1 libglib2.0-0 \
    libgtk-3-0 libjpeg62-turbo libjsoncpp24 liblcms2-2 libminizip1 libnspr4 \
    libnss3 libopenjp2-7 libopus0 libpango-1.0-0 libpng16-16 libpulse0 \
    libsnappy1v5 libstdc++6 libwebp6 libwebpdemux2 libwebpmux3 libwoff1 \
    libx11-6 libxcb1 libxcomposite1 libxdamage1 libxext6 libxfixes3 \
    libxkbcommon0 libxml2 libxnvctrl0 libxrandr2 libxslt1.1 libxtst6 zlib1g
apt install libasound2 libatk-bridge2.0-0 libatk1.0-0 libatomic1 \
    libatspi2.0-0 libavcodec58 libavformat58 libavutil56 libc6 libcairo2 \
    libcups2 libdbus-1-3 libdrm2 libevent-2.1-6 libexpat1 libflac8 \
    libfontconfig1 libfreetype6 libgbm1 libgcc1 libgdk-pixbuf2.0-0 \
    libglib2.0-0 libgtk-3-0 libharfbuzz0b libicu63 libjpeg62-turbo libjsoncpp1 \
    liblcms2-2 libminizip1 libnspr4 libnss3 libopenjp2-7 libopus0 \
    libpango-1.0-0 libpng16-16 libpulse0 libre2-5 libsnappy1v5 libstdc++6 \
    libvpx5 libwebp6 libwebpdemux2 libwebpmux3 libx11-6 libxcb1 libxcomposite1 \
    libxdamage1 libxext6 libxfixes3 libxml2 libxrandr2 libxshmfence1 \
    libxslt1.1 zlib1g
Fedora
40
39
38
sudo dnf install alsa-lib alternatives at-spi2-atk at-spi2-core atk bash \
    ca-certificates cairo cups-libs dbus-libs expat glib2 glibc gtk3 libX11 \
    libXcomposite libXdamage libXext libXfixes libXrandr libcurl libdrm \
    liberation-fonts libgcc libxcb libxkbcommon mesa-libgbm nspr nss nss-util \
    pango vulkan-loader wget2-wget xdg-utils
sudo dnf install alsa-lib alternatives at-spi2-atk at-spi2-core atk bash \
    ca-certificates cairo cups-libs dbus-libs expat glib2 glibc gtk3 libX11 \
    libXcomposite libXdamage libXext libXfixes libXrandr libcurl libdrm \
    liberation-fonts libgcc libxcb libxkbcommon mesa-libgbm nspr nss nss-util \
    pango vulkan-loader wget xdg-utils
sudo dnf install alsa-lib alternatives at-spi2-atk at-spi2-core atk bash \
    ca-certificates cairo cups-libs dbus-libs expat glib2 glibc gtk3 \
    libX11 libXcomposite libXdamage libXext libXfixes libXrandr libcurl \
    libdrm liberation-fonts libgcc libxcb libxkbcommon mesa-libgbm nspr nss \
    nss-util pango vulkan-loader wget xdg-utils
Red Hat Enterprise Linux
9.4
8.10
dnf install alsa-lib alternatives at-spi2-atk at-spi2-core atk bash \
    ca-certificates cairo cups-libs dbus-libs expat glib2 glibc gtk3 \
    libX11 libXcomposite libXdamage libXext libXfixes libXrandr libcurl \
    libdrm liberation-fonts libgcc libxcb libxkbcommon mesa-libgbm nspr nss \
    nss-util pango vulkan-loader wget xdg-utils
dnf install alsa-lib at-spi2-atk at-spi2-core atk bash ca-certificates cairo \
    chkconfig cups-libs dbus-libs expat glib2 glibc glibc gtk3 libX11 \
    libXcomposite libXdamage libXext libXfixes libXrandr libcurl \
    libdrm liberation-fonts libgcc libxcb libxkbcommon mesa-libgbm nspr nss \
    nss-util pango vulkan-loader wget xdg-utils

Android/iOS

JxBrowser cannot be used on mobile devices with iOS and Android.

Java

JxBrowser supports only the Long-Term-Support (LTS) Java versions which are 8, 11, 17, and 21 at the moment.

JxBrowser supports the following Java distributions:

The library should work with other Java 8+ versions too, but we test it only with the LTS versions.

The library works with 32-bit and 64-bit JDK on Windows, but only with 64-bit Java on macOS and Linux.

The library doesn’t use Java modules and may require additional actions when being launched with Java 9 and higher. Please refer to troubleshooting for more details.

SWT

JxBrowser natively supports SWT starting with 3.107.0, that corresponds to Eclipse 4.8 (Photon).

Hardware requirements

ARM

macOS

JxBrowser supports Macs with Apple Silicon and macOS Big Sur and higher since 7.18.

The library can be used in the Rosetta 2 emulation mode too.

Linux

We test JxBrowser in the following ARM 64-bit environments:

  • Ubuntu 20.04 LTS;
  • JDK 8 64-bit (no GUI provided by JRE), OpenJDK 11 (Swing/JavaFX).

If you would like that we include support of the ARM configuration which is not in the list above, then please contact us.

HiDPI displays

JxBrowser supports HiDPI displays on Windows, macOS, and Linux.

Touch screen

The library supports the touch screen devices with Windows only. Different rendering modes support the touch screens differently.

In the OFF_SCREEN rendering mode the touch events are triggered by Java. Java doesn’t provide a fully functional touch events support. So, some touch gestures might not be supported.

In the HARDWARE_ACCELERATED rendering mode the touch events are processed by Chromium directly, so they should work in the same way as in Chromium/Chrome.

You can read more about limitations for each rendering mode.

Other environments

You can run JxBrowser on other platforms or versions not listed here. We do not guarantee that all JxBrowser functionality will work or work at all on a system that does not meet the software and hardware requirements.