update build docs and flags

This commit is contained in:
Nikhil Sonti
2025-09-30 12:54:03 -07:00
parent 17c9ccb97a
commit 4e9cd134e8
5 changed files with 104 additions and 52 deletions

View File

@@ -116,17 +116,24 @@ Once you have Chromium checked out, navigate to our build system:
cd packages/browseros cd packages/browseros
# Debug build (for development) # Debug build (for development)
python build/build.py --chromium-src /path/to/chromium/src --build --build-type debug # macOS
python build/build.py --config build/config/debug.macos.yaml --chromium-src /path/to/chromium/src --build
# Linux
python build/build.py --config build/config/debug.linux.yaml --chromium-src /path/to/chromium/src --build
# Windows
python build/build.py --config build/config/debug.windows.yaml --chromium-src /path/to/chromium/src --build
# Release build (for production) # Release build (for production)
# macOS # macOS
python build/build.py --chromium-src /path/to/chromium/src --build --build-type release python build/build.py --config build/config/release.macos.yaml --chromium-src /path/to/chromium/src --build
# Linux # Linux
python build/build.py --chromium-src /path/to/chromium/src --build --build-type release python build/build.py --config build/config/release.linux.yaml --chromium-src /path/to/chromium/src --build
# Windows # Windows
python build/build.py --chromium-src /path/to/chromium/src --build --build-type release python build/build.py --config build/config/release.windows.yaml --chromium-src /path/to/chromium/src --build
``` ```
The build typically takes 1-3 hours on modern hardware (M4 Max, Ryzen 9, etc.). The build typically takes 1-3 hours on modern hardware (M4 Max, Ryzen 9, etc.).

View File

@@ -1,9 +1,10 @@
# Building Nxtscape # Building BrowserOS
This guide will walk you through building Nxtscape from source on macOS. This guide will walk you through building BrowserOS from source.
## Prerequisites ## Prerequisites
### macOS
- macOS (tested on M4 Max) - macOS (tested on M4 Max)
- Xcode and Command Line Tools - Xcode and Command Line Tools
- Python 3 - Python 3
@@ -11,6 +12,22 @@ This guide will walk you through building Nxtscape from source on macOS.
- ~100GB of free disk space (for Chromium source) - ~100GB of free disk space (for Chromium source)
- ~8GB RAM minimum (16GB+ recommended) - ~8GB RAM minimum (16GB+ recommended)
### Linux
- Ubuntu 20.04+ or similar
- build-essential package
- Python 3
- Git
- ~100GB of free disk space
- ~8GB RAM minimum (16GB+ recommended)
### Windows
- Windows 10/11
- Visual Studio 2022 with C++ workload
- Python 3
- Git
- ~100GB of free disk space
- ~16GB RAM minimum
## Build Instructions ## Build Instructions
### Step 1: Checkout Chromium ### Step 1: Checkout Chromium
@@ -18,45 +35,71 @@ This guide will walk you through building Nxtscape from source on macOS.
First, you need to get the Chromium source code. Follow the official Chromium instructions: First, you need to get the Chromium source code. Follow the official Chromium instructions:
1. Visit the [Chromium Get the Code guide](https://www.chromium.org/developers/how-tos/get-the-code/) 1. Visit the [Chromium Get the Code guide](https://www.chromium.org/developers/how-tos/get-the-code/)
2. Follow the macOS-specific instructions to set up depot_tools and fetch Chromium 2. Follow the platform-specific instructions to set up depot_tools and fetch Chromium
3. Clone the Chromium repository into a `build` directory inside your nxtscape repository: 3. Note the path to your chromium/src directory (you'll need it for building)
### Step 2: Build BrowserOS
Navigate to the BrowserOS build system:
```bash ```bash
cd /path/to/nxtscape cd packages/browseros
mkdir build
cd build
# Follow Chromium checkout instructions here
``` ```
### Step 2: Apply Nxtscape Patches #### Debug Build (for development):
Once you have Chromium checked out, the Nxtscape patches need to be applied to customize the browser with AI features.
### Step 3: Build Nxtscape
Nxtscape provides a Python build script that handles the compilation process.
#### For Debug Build:
```bash
python build/build.py --build --build-type debug
```
#### For Release Build:
```bash
python build/build.py --build --build-type release
```
**Note:** The build process typically takes around 3 hours on an M4 Max laptop. Build times may vary based on your hardware specifications.
### Step 4: Run Nxtscape
After the build completes successfully, you can run Nxtscape using:
```bash ```bash
out/Default/Nxtscape.app/Contents/MacOS/Nxtscape --use-mock-keychain # macOS
python build/build.py --config build/config/debug.macos.yaml --chromium-src /path/to/chromium/src --build
# Linux
python build/build.py --config build/config/debug.linux.yaml --chromium-src /path/to/chromium/src --build
# Windows
python build/build.py --config build/config/debug.windows.yaml --chromium-src /path/to/chromium/src --build
``` ```
The `--use-mock-keychain` flag is used to avoid keychain permission prompts during development. #### Release Build (for production):
```bash
# macOS
python build/build.py --config build/config/release.macos.yaml --chromium-src /path/to/chromium/src --build
# Linux
python build/build.py --config build/config/release.linux.yaml --chromium-src /path/to/chromium/src --build
# Windows
python build/build.py --config build/config/release.windows.yaml --chromium-src /path/to/chromium/src --build
```
**Note:** The build process typically takes 1-3 hours on modern hardware. Build times may vary based on your hardware specifications.
### Step 3: Run BrowserOS
After the build completes successfully, you can run BrowserOS:
#### macOS Debug Build:
```bash
# ARM64 (Apple Silicon)
out/Default_arm64/BrowserOS\ Dev.app/Contents/MacOS/BrowserOS\ Dev --user-data-dir=/tmp/test-profile
# x64 (Intel)
out/Default_x64/BrowserOS\ Dev.app/Contents/MacOS/BrowserOS\ Dev --user-data-dir=/tmp/test-profile
```
#### macOS Release Build:
```bash
# ARM64 (Apple Silicon)
out/Default_arm64/BrowserOS.app/Contents/MacOS/BrowserOS --user-data-dir=/tmp/test-profile
# x64 (Intel)
out/Default_x64/BrowserOS.app/Contents/MacOS/BrowserOS --user-data-dir=/tmp/test-profile
```
#### Linux and Windows:
The built binary will be located in the `out/Default_x64/` directory. Run it with the `--user-data-dir` flag to create an isolated test profile.
The `--user-data-dir` flag is useful for creating isolated test profiles during development.
## Troubleshooting ## Troubleshooting

View File

@@ -10,12 +10,23 @@ use_siso=false
# Compiler # Compiler
use_sysroot = true use_sysroot = true
use_custom_libcxx = true use_custom_libcxx = true
is_clang = true
clang_use_chrome_plugins = false
fatal_linker_warnings = false
# Features # Features
enable_nacl = false enable_nacl = false
enable_widevine = true enable_widevine = true
enable_hangout_services_extension = false enable_hangout_services_extension = false
enable_js_type_check = false enable_js_type_check = false
disable_fieldtrial_testing_config = true
use_system_libffi = false
google_api_key = ""
google_default_client_id = ""
google_default_client_secret = ""
use_official_google_api_keys = false
enable_swiftshader = false
chrome_pgo_phase = 0
# Media # Media
proprietary_codecs = true proprietary_codecs = true

View File

@@ -5,6 +5,12 @@ is_component_build = true
symbol_level = 0 symbol_level = 0
chrome_pgo_phase = 0 chrome_pgo_phase = 0
is_official_build = false is_official_build = false
use_siso = false
is_clang = true
exclude_unwind_tables = false
treat_warnings_as_errors = false
use_sysroot = false
v8_symbol_level = 0
# Windows-specific compiler/linker settings # Windows-specific compiler/linker settings
target_cpu = "x64" target_cpu = "x64"

View File

@@ -28,18 +28,3 @@ symbol_level=0
ffmpeg_branding="Chrome" ffmpeg_branding="Chrome"
# OLD
# use_siso=false
# is_debug = false
# is_component_build = false
# is_official_build = true
# symbol_level = 0
# target_cpu = "x64"
# proprietary_codecs = true
# ffmpeg_branding = "Chrome"
# google_api_key=""
# google_default_client_id=""
# google_default_client_secret=""
# chrome_pgo_phase = 0