15 KiB
Welcome to JetBrains Runtime!
JetBrains Runtime is a fork of OpenJDK available for Windows, Mac OS X, and Linux. It supports enhanced class redefinition (DCEVM), features optional JCEF, a framework for embedding Chromium-based browsers, includes a number of improvements in font rendering, keyboards support, windowing/focus subsystems, HiDPI, accessibility, and performance, provides better desktop integration and bugfixes not yet present in OpenJDK.
Note
: This is a development branch that is periodically synchronized with the OpenJDK master branch.
Release builds are based on these branches:
Download the latest releases of JetBrains Runtime to use with JetBrains IDEs. The full list can be found on the releases page.
Releases based on JDK 21
| IDE Version | Latest JBR | Date Released |
|---|---|---|
| 2025.2 | 21.0.7-b968.13 | 13-May-2025 |
| 2025.1 | 21.0.7-b895.130 | 15-May-2025 |
| 2024.3 | 21.0.6-b631.52 | 15-May-2025 |
| 2024.2 | 21.0.4-b509.40 | 15-May-2025 |
| 2024.1 | 21.0.2-b346.3 | 30-Jan-2024 |
Releases based on JDK 17
| IDE Version | Latest JBR | Date Released |
|---|---|---|
| 2024.2 | 17.0.11-b1312.2 | 18-Jun-2024 |
| 2024.1 | 17.0.12-b1207.37 | 15-Oct-2024 |
| 2023.3 | 17.0.12-b1087.25 | 02-Sep-2024 |
| 2023.2 | 17.0.12-b1000.54 | 02-Sep-2024 |
| 2023.1 | 17.0.10-b829.27 | 21-Mar-2024 |
| 2022.3 | 17.0.6-b653.34 | 28-Feb-2023 |
| 2022.2 | 17.0.6-b469.82 | 06-Mar-2023 |
Releases based on JDK 11
| IDE Version | Latest JBR | Date Released |
|---|---|---|
| 2022.1 | 11_0_16-b2043.64 | 10-Nov-2022 |
| 2021.3 | 11_0_14_1-b1751.46 | 21-Feb-2022 |
| 2021.2 | 11_0_13-b1504.49 | 15-Nov-2021 |
| 2021.1 | 11.0.11+9-b1341.60 | 15-Jun-2021 |
| 2020.3 | 11_0_10-b1145.115 | 21-Jun-2021 |
Release Flavours
There are many kinds of JBR bundles available on the Releases page:
| Flavour | Description |
|---|---|
| JBR | Contains the Java Runtime Environment (JRE) suitable to run JVM-based programs. |
| JBRSDK | Contains the Software Developmet Kit (SDK) suitable to develop and run JVM-based programs. |
| JBR with JCEF | Contains both JBR and JCEF; this flavour is bundled by default with all IntelliJ IDEs. |
| vanilla | Contains just JBR. |
| fastdebug | The native binaries in this bundle are less optimized and are easier to debug. They also run much slower. |
| FreeType | The bundle includes the freetype library built from sources; normally, the library is provided by the system. |
| Vulkan | The bundle includes experimental Vulkan support. |
| debug symbols | In addition to the usual contents of the bundle the debug information is also included. |
Contents
Why Use JetBrains Runtime?
- Embedded browser: JetBrains Runtime includes the Java Chromium Embedded Framework (JCEF), which enables you to embed a Chromium-based browsers in your JVM-based application. To use it, download a build with JCEF.
- Enhanced class re-definition with the DCEVM technology that makes it easier to reload
changed code without restarting JVM; this feature needs to be explicitly enabled with
-XX:+AllowEnhancedClassRedefinition. - Better FPS performance for graphics-intensive applications.
- Improved font rendering, keyboard input (such as shortcuts and multinational keyboards), HiDPI and accessibility support.
- Robust desktop experience: GUI-related fixes often reach JetBrains Runtime much earlier than the corresponding version of OpenJDK.
- Additional capabilities that are made available to applications through
JBR API services such as, for example,
the ability to wrap a native graphics texture into
java.awt.Image.
Products Built on JetBrains Runtime
- Android Studio. The official IDE for Google's Android operating system.
- CLion. A cross-platform IDE for C and C++ from JetBrains.
- DataGrip. The IDE for Databases and SQL from JetBrains.
- GoLand. The cross-platform Go IDE from JetBrains.
- IntelliJ IDEA. The IDE for JVM from JetBrains.
- JProfiler. The Java profiler.
- PhpStorm. The PHP IDE from JetBrains.
- PyCharm. The Python IDE from JetBrains.
- Rider. The cross-platform .NET IDE from JetBrains.
- RubyMine. The Ruby and Rails IDE from JetBrains.
- Toolbox App. JetBrains IDE manager.
- WebStorm. The JavaScript IDE from JetBrains.
- YourKit. Java and .NET profilers.
Getting Sources
macOS, Linux
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
Windows
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
Configuring the Build Environment
Here are quick per-platform instructions for those who can't wait to get started. Please refer to OpenJDK build docs for in-depth coverage of all the details.
TIP: To get a preliminary report of what's missing, run
./configureand check its output. It would usually have meaningful advice on how to solve the problem.
Linux (Docker)
Download an image from Docker Hub related to your architecture:
$ docker pull jetbrains/runtime:oraclelinux8_aarch64
or
$ docker pull jetbrains/runtime:oraclelinux8_x64
Create and run a new container from the downloaded image
$ docker run -v $JetBrainsRuntime:/JetBrainsRuntime -it jetbrains/runtime:oraclelinux8_[arch]
where $JetBrainsRuntime is a full path to the directory where the repository was cloned to.
Run these commands in the container:
# cd /JetBrainsRuntime
# sh ./configure
# make images
Ubuntu Linux
Install the necessary tools, libraries, and headers with:
$ sudo apt-get install autoconf make build-essential libx11-dev libxext-dev libxrender-dev libxtst-dev \
libxt-dev libxrandr-dev libcups2-dev libfontconfig1-dev libasound2-dev libspeechd-dev libwayland-dev \
wayland-protocols libxkbcommon-x11-0 libdbus-1-dev
Get Java 23 (for instance, Azul Zulu Builds of OpenJDK 23).
Then run the following:
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
This will build the release configuration under ./build/linux-x86_64-server-release/.
Windows
- Cygwin x64.
Required packages:
autoconf,binutils,cpio,diffutils,file,gawk,gcc-core,make,m4,unzip,zip. Install those together with Cygwin. - Visual Studio compiler toolset. Install with the desktop development kit, which includes Windows SDK and compilers. Visual Studio 2019 is supported by default.
- Java 21 (for instance, Azul Zulu Builds of OpenJDK 21). If you have problems while configuring, read Java tips on Cygwin.
From the command line:
"C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Auxiliary\Build\vcvarsall.bat" amd64
"c:\Program_Files\cygwin64\bin\mintty.exe" /bin/bash -l
The first command sets up environment variables, the second starts a Cygwin shell with the proper environment.
In the Cygwin shell:
$ cd JetBrainsRuntime
$ git checkout main
$ bash configure --with-toolchain-version=2019
$ make images
This will build the release configuration under ./build/windows-x86_64-server-release/.
Enable optional NVDA screen reader support
If you want to add support of a11y announcing via NVDA screen reader, you will need to bundle the NVDA Controller Client library. You can do it with the following steps:
- Download the NVDA Controller Client library. You can find the link in its official README here
- Pass the path to the unpacked package to
configurevia an additional flag--with-nvdacontrollerclient=<path>. The build system will search the required library files under<path>/<target-arch>.
Disable optional JAWS screen reader support
JBR is built with built-in support of JAWS screen reader.
If you want to disable it, run configure with the additional flag --disable-jaws-client.
macOS
Install the following:
- Xcode command line developer tools and
autoconfvia Homebrew. - Java 21 (for instance, Azul Zulu Builds of OpenJDK 21).
From the command line:
$ cd JetBrainsRuntime
$ git checkout main
$ sh ./configure
$ make images
This will build the release configuration under ./build/macosx-x86_64-server-release/.
Developing
You can use CLion to develop native parts of the JetBrains Runtime and IntelliJ IDEA for the parts written in Java. Both require projects to be created.
CLion
Run
$ make compile-commands
in the git root and open the resulting build/.../compile_commands.json file as a project.
Then use Tools | Compilation Database | Change Project Root to point to git root of this repository.
See also this detailed step-by-step tutorial for all platforms: How to develop OpenJDK with CLion.
IDEA
Run
$ sh ./bin/idea.sh
in the git root to generate project files (add --help for options). If you have multiple
configurations (for example, release and fastdebug), supply the --conf <conf_name> argument.
Then open the git root directory as a project in IDEA.
Contributing
We are happy to receive your pull requests! Before you submit one, please sign our Contributor License Agreement (CLA).