Custom binaries folder
Equo Chromium allows you to embed a Chromium-based browser directly into your Java desktop application. For this, the browser must load the required binaries containing all the required libraries. By default, the browser takes care of everything—it extracts the required Chromium binaries from the com.equo.chromium
plugin and uses them automatically. This means you don’t need to worry about downloading or setting up anything extra in most cases.
However, if you’ve built your own Equo Chromium and/or CEF binaries locally or already have a set of binaries available, you can configure the browser to use those instead. To do this, simply set a Java system property when starting your application that will make it point to those binaries.
Configure pre-filled folder
Before creating the first browser instance, set the following Java system property to your folder path:
-Dchromium.path=<PATH_TO_BINARIES_FOLDER>
The <PATH_TO_BINARIES_FOLDER> should be the absolute or relative path to a folder that contains a subfolder named in the format chromium-<CHROMIUM_BUILD_NUMBER>/
. For example, if your Equo Chromium version is 128, you should look for the Chromium "build number" corresponding to it in the Chromium versions page, which is the four digit number in the dot separated version format (for instance, in the case of 128.0.6613.194
, the build number is 6613
and your folder should be named chromium-6617
).
For information about Equo Chromium versioning, refer to our versioning page. |
Folder structure
In Linux:
chromium-6613/ ├── chrome_200_percent.pak ├── chromium.properties ├── crash_reporter.cfg ├── equochro_helper ├── icudtl.dat ├── libcef.so ├── libEGL.so ├── libequochro.so ├── libgconf-2.so.4 ├── libGLESv2.so ├── libvk_swiftshader.so ├── libvulkan.so.1 ├── locales/ │ ├── en-US.pak │ ├── fr.pak │ ├── de.pak │ ├── es.pak │ └── zh-CN.pak ├── resources.pak ├── snapshot_blob.bin ├── v8_context_snapshot.bin └── vk_swiftshader_icd.json
In Mac:
/tmp/chromiumswt/ chromium-5845/ ├── chromium.properties ├── crash_reporter.cfg ├── libequochro.dylib ├── equochro Helper.app/ ├── equochro Helper (Alerts).app/ ├── equochro Helper (GPU).app/ ├── equochro Helper (Plugin).app/ ├── equochro Helper (Renderer).app/ └── Chromium Embedded Framework.framework/ ├── Chromium Embedded Framework ├── _CodeSignature/ ├── Resources/ └── Libraries/ ├── libEGL.dylib ├── libGLESv2.dylib ├── libvk_swiftshader.dylib └── vk_swiftshader_icd.json
In Windows:
chromium-6367/ ├── chrome_100_percent.pak ├── chrome_200_percent.pak ├── chrome_elf.dll ├── chromium.properties ├── crash_reporter.cfg ├── d3compiler_47.dll ├── d3dcompiler.dll ├── dxil.dll ├── equochro.dll ├── equochro.dll.manifest ├── equochro_helper.exe ├── icudtl.dat ├── libEGL.dll ├── libGLESv2.dll ├── resources.pak ├── snapshot_blob.bin ├── v8_context_snapshot.bin ├── vk_swiftshader.dll ├── vk_swiftshader_icd.json ├── vulkan-1.dll └── locales/
Troubleshooting
If any required file is missing from the specified folder, the browser will fall back to extracting the binaries from the plugin JAR. This fallback can lead to inconsistent behavior, so it’s important to ensure your binary folder is complete.
To obtain the correct files, you can extract them directly from the plugin fragment JAR included in your build. Locate the JAR under META-INF/plugins/
, open it using an archive tool (such as with jar xf com.equo.chromium.cef.<OS>.<architecture>_<Equo_Chromium_version>.<random_number>.jar
), and copy the entire chromium-<version>/
directory into your target folder.
jar xf com.equo.chromium.cef.gtk.linux.x86_64_128.0.0.202505081626.jar
Some files may vary between OS, OS distributions and versions, and Equo Chromium versions but overall your folder must contain all the required helpers, shared library files, executables and config files shown in the example layouts above. |