Custom binaries folder

For Equo Chromium to embed a Chromium-based browser directly into your Java desktop application, the browser must load a specific set of binaries containing all the required libraries. By default, Equo Chromium extracts these binaries from the com.equo.chromium plugin and uses them automatically. However, if you’ve built your own Equo Chromium and/or CEF binaries locally, 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

Set the following Java system property to your custom binaries folder’s 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-6613).

For information about Equo Chromium versioning, refer to our versioning page.

Folder structure and 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 configuration files shown in the example layouts below.

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/