mirror of
https://github.com/browseros-ai/BrowserOS.git
synced 2026-05-13 15:46:22 +00:00
update build docs and flags
This commit is contained in:
@@ -116,17 +116,24 @@ Once you have Chromium checked out, navigate to our build system:
|
||||
cd packages/browseros
|
||||
|
||||
# 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)
|
||||
# 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
|
||||
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
|
||||
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.).
|
||||
|
||||
109
docs/BUILD.md
109
docs/BUILD.md
@@ -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
|
||||
|
||||
### macOS
|
||||
- macOS (tested on M4 Max)
|
||||
- Xcode and Command Line Tools
|
||||
- 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)
|
||||
- ~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
|
||||
|
||||
### 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:
|
||||
|
||||
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
|
||||
3. Clone the Chromium repository into a `build` directory inside your nxtscape repository:
|
||||
2. Follow the platform-specific instructions to set up depot_tools and fetch Chromium
|
||||
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
|
||||
cd /path/to/nxtscape
|
||||
mkdir build
|
||||
cd build
|
||||
# Follow Chromium checkout instructions here
|
||||
cd packages/browseros
|
||||
```
|
||||
|
||||
### Step 2: Apply Nxtscape Patches
|
||||
|
||||
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:
|
||||
#### Debug Build (for development):
|
||||
|
||||
```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
|
||||
|
||||
|
||||
@@ -10,12 +10,23 @@ use_siso=false
|
||||
# Compiler
|
||||
use_sysroot = true
|
||||
use_custom_libcxx = true
|
||||
is_clang = true
|
||||
clang_use_chrome_plugins = false
|
||||
fatal_linker_warnings = false
|
||||
|
||||
# Features
|
||||
enable_nacl = false
|
||||
enable_widevine = true
|
||||
enable_hangout_services_extension = 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
|
||||
proprietary_codecs = true
|
||||
|
||||
@@ -5,6 +5,12 @@ is_component_build = true
|
||||
symbol_level = 0
|
||||
chrome_pgo_phase = 0
|
||||
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
|
||||
target_cpu = "x64"
|
||||
|
||||
@@ -28,18 +28,3 @@ symbol_level=0
|
||||
|
||||
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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user