Prerequisites
Before starting, ensure you meet all build requirements.Quick Checklist:
- 32GB+ RAM (16GB minimum)
- 100GB+ free disk space
- Python 3.8 or newer
- Git 2.30 or newer
- Platform-specific build tools installed
- 4-8 hours available for first build
Build Process Overview
Building Helium involves several stages:Step 1: Clone Helium Repository
First, clone the Helium source repository:This repository contains the patches, build configuration, and utilities needed to build Helium. The actual Chromium source will be downloaded in the next step.
Step 2: Clone Chromium Source
Use the providedclone.py utility to download Chromium source and all dependencies:
What This Does
The clone script performs several operations:Clone Chromium Source
Downloads Chromium source at the specific version tag (145.0.7632.116) with depth=2
Clone Options
Output directory for the cloned sources
PGO profile to download:
linux, mac, mac-arm, win32, win64, win-arm64Download a Linux sysroot:
amd64, arm64, armhf, i386, mips64el, mipselPath to custom gclient config file (advanced)
Step 3: Download Additional Components
Download Helium-specific components:Downloaded Components
This downloads and verifies:uBlock Origin
uBlock Origin
Version: 1.69.0-2Pre-configured uBlock Origin extension that will be built as a component extension.
- Custom filter lists
- Helium Services integration
- Optimized assets
Helium Onboarding
Helium Onboarding
Version: 202601021937The welcome page shown at
helium://setup for new users.- Introduction to Helium features
- Initial setup workflow
- Search engine selection
Search Engine Data
Search Engine Data
Prepopulated search engine configurations including icons and templates.
- DuckDuckGo, Brave Search, Startpage
- Google, Bing (with privacy warnings)
- Regional search engines
Hash Verification
All downloads are verified using SHA-256 checksums:Step 4: Apply Patches
Apply all Helium patches to the Chromium source:Patch Application Process
The patches are applied in order frompatches/series:
- Upstream fixes (48 patches) - Vertical tabs and other backported features
- Inox patches (4 patches) - Privacy enhancements
- Iridium patches (2 patches) - Disable tracking
- ungoogled-chromium (46 patches) - Core privacy and de-googling
- Bromite patches (3 patches) - Fingerprinting protection
- Brave patches (4 patches) - Import functionality
- Helium patches (171 patches) - Helium-specific features and UI
Monitoring Progress
Troubleshooting Patch Failures
Step 5: Configure the Build
Generate the build configuration using GN:Build Configuration
Helium uses custom build flags defined inflags.gn:
Verifying Configuration
Step 6: Build Helium
Compile the browser using Ninja:Build Time Estimates
First Build
2-8 hours
- High-end workstation (16+ cores, 64GB RAM): 2-3 hours
- Mid-range (8 cores, 32GB RAM): 4-6 hours
- Lower-end (4 cores, 16GB RAM): 6-8 hours
Incremental Build
5-30 minutesRebuilds only changed files and their dependencies. Time varies based on scope of changes.
Monitoring Build Progress
Build Output
The compiled browser will be located at:- Linux
- macOS
- Windows
chrome. Run with:Common Build Issues
Out of Memory Errors
Out of Memory Errors
Symptom: Build crashes with “Killed” or memory errors during linkingSolutions:
Compilation Errors
Compilation Errors
Symptom: Compilation fails with errors in modified codeSolutions:
Slow Build Times
Slow Build Times
Symptom: Build takes much longer than expectedSolutions:
Step 7: Run and Test
Run your newly built Helium browser:Testing Checklist
Next Steps
Understanding Patches
Learn how to work with and modify Helium patches
Development Workflow
Return to the development overview
Additional Resources
Chromium Build Docs
Official Chromium build documentation
ungoogled-chromium
Learn more about the base project