Overview
Helium is available on all major desktop platforms, with platform-specific repositories handling builds, packaging, and distribution. Each platform repository contains the necessary configuration and build scripts tailored to that operating system.Platform Repositories
Helium’s source code is organized across platform-specific repositories:Helium for macOS
Universal binaries for Intel and Apple Silicon
Helium for Linux
AppImage builds for broad compatibility
Helium for Windows
Windows installers (auto-updates coming soon)
Architecture Overview
Helium’s build process follows this structure:Core Repository
The main Helium repository contains:
- Core patches in GNU Quilt format
- Configuration files (flags.gn, downloads.ini)
- Development and validation utilities
- Shared build logic
Platform Repositories
Each platform repository includes:
- Platform-specific patches
- Build scripts and configurations
- Packaging and distribution logic
- CI/CD workflows
Download Locations
Users can download Helium from multiple sources:Official Website
helium.computer
Automatically detects your OS and architecture, providing the correct build.
GitHub Releases
Direct downloads from each platform’s repository:- macOS
- Linux
- Windows
Repository: helium-macos/releasesFormats:
- Universal DMG (Intel + Apple Silicon)
- Auto-updates included
- macOS 11.0 (Big Sur) or later
- Intel or Apple Silicon processor
Working with Platform Patches
When developing features that require platform-specific modifications, use the platform patch utilities:Merging Core Patches into Platform
Theupdate_platform_patches.py utility helps merge Helium’s core patches into platform-specific patch sets:
Example workflow:
Unmerging After Development
After working with merged patches, extract changes back:Move patches back
Moves prepended Helium patches back to the core repository, preserving any modifications
Building from Source
Each platform has its own build process. See the respective repository for detailed instructions:macOS Build Process
Download Chromium source
Platform repositories include scripts to download the correct Chromium version.
Linux Build Process
Prerequisites
- Build essentials (gcc, g++, make)
- Python 3.8+
- Depot Tools
- GNU Quilt
- Additional dependencies per Chromium docs
Windows Build Process
Detailed build instructions are maintained in each platform repository’s README to ensure they stay current with platform-specific requirements.
Platform-Specific Considerations
macOS
Code Signing
Code Signing
macOS builds must be signed with an Apple Developer certificate to avoid Gatekeeper warnings.Requirements:
- Apple Developer account
- Valid Developer ID certificate
- Configured signing identity
Notarization
Notarization
macOS 10.15+ requires notarization:
- Submit to Apple’s notary service
- Staple ticket to DMG
- Automated in CI/CD pipeline
Universal Binaries
Universal Binaries
Helium for macOS is built as a universal binary:
- Single DMG works on Intel and Apple Silicon
- Optimized for each architecture
- Tested on both platforms
Auto-Updates
Auto-Updates
macOS builds include Sparkle framework:
- Checks for updates periodically
- Downloads and installs automatically
- Maintains user data and settings
Linux
AppImage Format
AppImage Format
AppImage provides maximum compatibility:
- Single file, no installation needed
- Works on most distributions
- Includes all dependencies
- Desktop integration available
Library Dependencies
Library Dependencies
AppImage bundles essential libraries:
- Graphics libraries (Mesa, etc.)
- Audio subsystem
- Font rendering
- Excludes base system libraries (glibc, etc.)
Wayland and X11
Wayland and X11
Tested on both display servers:
- Wayland support with XWayland fallback
- Native X11 support
- Automatic detection
Auto-Updates
Auto-Updates
AppImage updates via AppImageUpdate:
- Delta updates for efficiency
- Optional automatic checks
- Manual update available
Windows
Installer
Installer
Windows installer features:
- System-wide or per-user installation
- Start menu shortcuts
- File associations
- Uninstaller
Windows Defender
Windows Defender
Unsigned builds may trigger SmartScreen:
- Code signing recommended for distribution
- Users may need to approve first run
- Reputation builds over time
File Associations
File Associations
Installer can set Helium as default browser:
- HTML files
- HTTP/HTTPS protocols
- PDF files (optional)
Auto-Updates (Planned)
Auto-Updates (Planned)
Windows auto-updates are in development:
- Will use Chromium’s update mechanism
- Background downloads
- Seamless installation
Distribution Pipeline
Helium uses GitHub Actions for automated building and distribution:Testing Platform Builds
Before releasing, test on each platform:- macOS
- Linux
- Windows
Intel Testing:
- Clean install on Intel Mac
- Verify signature and notarization
- Test core functionality
- Check auto-update
- Clean install on M-series Mac
- Verify native ARM performance
- Test Rosetta 2 compatibility (if needed)
- Validate universal binary
Contributing to Platform Packaging
When contributing platform-specific changes:- Open an issue - Discuss the change with maintainers
- Test locally - Build and test on the target platform
- Update documentation - Document platform-specific requirements
- Submit PR - To the appropriate platform repository
- Cross-platform check - Ensure changes don’t break other platforms
Platform Maintainers
Each platform repository may have dedicated maintainers familiar with platform-specific requirements. Reach out in issues or PRs for guidance.
Related Projects
Helium’s ecosystem includes supporting repositories:helium-services
Backend services for Helium features
helium-onboarding
Onboarding page shown at
helium://setupublock-origin-crx
Packaging for uBlock Origin extension
Troubleshooting
Build fails on macOS with signing errors
Build fails on macOS with signing errors
Solution:
- Verify Developer ID certificate is installed
- Check Keychain Access for certificate validity
- Ensure signing identity is correctly configured
Linux AppImage won't run
Linux AppImage won't run
Solution:
- Make executable:
chmod +x Helium-*.AppImage - Check FUSE availability:
fusermount --version - Try extraction mode:
./Helium-*.AppImage --appimage-extract-and-run
Windows Defender blocks installer
Windows Defender blocks installer
Solution:
- This is normal for unsigned builds
- Click “More info” → “Run anyway”
- For distribution, use code signing certificate
Patches don't apply to platform source
Patches don't apply to platform source
Solution:
- Verify Chromium version matches
- Check patch merge was successful
- Run
./devutils/validate_patches.py --local /path/to/src
Platform packaging is complex and platform-specific. When in doubt, refer to the official documentation in each platform repository and don’t hesitate to ask for help in issues.