Skip to main content

Building from Source

This guide covers how to build Cromite from the Chromium source code. You can use either a pre-built Docker image for a streamlined experience or manually set up your build environment.

Prerequisites

Before building Cromite, familiarize yourself with the official Chromium build documentation to understand the basic Chromium build process.

Build Configuration Files

Cromite uses several key files to configure the build:

RELEASE

Contains the Chromium version tag (currently 145.0.7632.120)Location: build/RELEASE

cromite.gn_args

GN build arguments that configure Cromite’s featuresLocation: build/cromite.gn_args

cromite_patches_list.txt

Lists all 332 patches applied to ChromiumLocation: build/cromite_patches_list.txt

build_cromite.yaml

GitHub Actions workflow for automated buildsLocation: .github/workflows/build_cromite.yaml
The easiest way to build Cromite is using the pre-built Docker images. Each release includes a corresponding Docker image.
1

Set Build Variables

Define your build environment variables:
The Docker image format is: uazo/cromite-build:(VERSION)-(COMMIT)All available images are listed at Docker Hub
2

Create and Start Container

Create a Docker container with the build environment:
3

Configure Build Environment

Inside the container, set up the PATH and navigate to the source directory:
4

Build Cromite

The container is now ready to build. Run your build commands based on the target platform (see platform-specific sections below).

Key GN Build Arguments

Cromite uses custom GN arguments to configure the build. Here are the key settings from cromite.gn_args:

Platform-Specific Builds

Building for Android

Android builds support multiple architectures: arm64-v8a, arm32-v7a, and x86_64.

Android-Specific GN Args

The Docker commands shown above are valid for Android and Linux builds.

Build Outputs

Successful Android builds produce:
  • arm64_ChromePublic.apk
  • arm_ChromePublic.apk
  • x64_ChromePublic.apk
  • SystemWebView.apk (separate build)

Applying Patches

Cromite applies 332 patches to Chromium. These patches must be applied in the order specified in cromite_patches_list.txt.
See the Patch System documentation for detailed information about Cromite’s patches.

Debug Builds

To create a debug build, set the debug environment variable:
Debug builds use different GN arguments:

Build Automation

Cromite uses GitHub Actions for automated builds. The workflow file at .github/workflows/build_cromite.yaml shows the complete build process:
  • Builds Docker containers for dependencies (uazo/build-deps)
  • Pulls Chromium source (uazo/chromium)
  • Applies Cromite patches (uazo/cromite)
  • Creates final build image (uazo/cromite-build)
  • Compiles for all platforms (Android arm/arm64/x64, Windows, Linux)
You can reference the GitHub Actions workflow to see the exact build commands used for releases.

Troubleshooting

Ensure you’re using the correct LLVM/Clang version bundled with Chromium:
Chromium builds require significant RAM (16GB+ recommended). Consider:
  • Reducing parallel jobs: ninja -j 4
  • Using swap space
  • Building with is_component_build=true for development
Make sure you’ve run the Windows SDK preparation script:

Next Steps

Patch System

Learn about Cromite’s 332 patches to Chromium

Docker Setup

Deep dive into Docker development environment

Contributing

Contribute patches and features to Cromite

GitHub Workflow

View the complete build automation workflow