JetBrains 7440 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.
| IDE Version | Latest JBR | Date Released |
|---|---|---|
| 2023.3 | 17.0.9b1087.7 | 20-Nov-2023 |
| 2023.2 | 17.0.9b1000.46 | 01-Nov-2023 |
| 2023.1 | 17.0.6-b829.5 | 01-Mar-2023 |
| 2022.3 | 17.0.6-b653.34 | 28-Feb-2023 |
| 2022.2 | 17.0.6-b469.82 | 06-Mar-2023 |
| 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 |
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. |
- 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.
- 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.
git config --global core.autocrlf input
git clone git@github.com:JetBrains/JetBrainsRuntime.git
cd JetBrainsRuntime
git checkout jbr21
git config --global core.autocrlf false
git clone git@github.com:JetBrains/JetBrainsRuntime.git
cd JetBrainsRuntime
git checkout jbr21
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.
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:
# yum install java-21-openjdk-devel
# cd /JetBrainsRuntime
# BOOT_JDK=/usr/lib/jvm/java-21/ ./jb/project/tools/linux/scripts/mkimages_x64.sh 99 nomod
Install the necessary tools, libraries, and headers with:
$ sudo wget -qO- https://packages.lunarg.com/lunarg-signing-key-pub.asc | tee /etc/apt/trusted.gpg.d/lunarg.asc
$ sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-noble.list https://packages.lunarg.com/vulkan/lunarg-vulkan-noble.list
$ sudo apt update
$ sudo apt-get -y install openjdk-21-jdk file zip unzip 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 \
libxkbcommon-x11-0 libdbus-1-dev vulkan-sdk vulkan-utility-libraries-dev
Then run the following:
$ cd /JetBrainsRuntime
$ BOOT_JDK=/usr/lib/jvm/java-21-openjdk-amd64 ./jb/project/tools/linux/scripts/mkimages_x64.sh 99 nomod
This will build the release configuration under ./build/linux-x86_64-server-release/.
- 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 19 (for instance, Azul Zulu Builds of OpenJDK 19). 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/.
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>.
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.
Install the following:
- Xcode command line developer tools and
autoconfvia Homebrew. - Java 19 (for instance, Azul Zulu Builds of OpenJDK 19).
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/.
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.
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.
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.
Please contribute your changes through OpenJDK.