diff --git a/development/build-bliss-os-15.x.md b/development/build-bliss-os-15.x.md new file mode 100644 index 00000000..21200f54 --- /dev/null +++ b/development/build-bliss-os-15.x.md @@ -0,0 +1,129 @@ + +

+Website | +Download | +Donate | +Documentation | +Telegram + +## BlissOS + +Download the BlissOS source code, based on [AOSP](https://android.googlesource.com) & [Android-x86](http://android-x86.org/) + +

+Modified for PC build using Android-Generic Project +
+ +
+
+ +--------------------------------------------------- + +Please read the [AOSP building instructions](http://source.android.com/source/index.html) before proceeding. + +----------------------- +## What you need to build [BlissOS](https://github.com/BlissRoms-x86/manifest) + + + Latest Ubuntu LTS Releases https://www.ubuntu.com/download/server + Decent CPU (16 Cores or better for a faster performance) + 16GB RAM (32GB for Virtual Machine) + 350GB Hard Drive (about 170GB for the Repo and then building space needed) + + Time to compile: + Laptop: 6-8 hours + Desktop/Workstation: 4-6 hours + Server: 1-2 hours + +----------------------- + +## Grabbing Dependencies + + sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip squashfs-tools python3-mako libssl-dev ninja-build lunzip syslinux syslinux-utils gettext genisoimage gettext bc xorriso xmlstarlet meson glslang-tools git-lfs libncurses5 libncurses5:i386 libelf-dev aapt zstd rdfind nasm rustc bindgen + +## Initializing Repository + +**Repo initialization** + + repo init -u https://github.com/BlissRoms-x86/manifest.git -b arcadia-x86 --git-lfs + +**Sync repo** + + repo sync -c --force-sync --no-tags --no-clone-bundle -j$(nproc --all) --optimized-fetch --prune + +## Options + + BLISS_BUILD_VARIANT - (vanilla, gapps, foss) - We currently use this to specify what type of extra apps and services to include in the build. +***Note: Default BLISS_BUILD_VARIANT is VANILLA.*** + + BLISS_SPECIAL_VARIANT - This can be custom set if you wanna build a version for a specific device + for example `-jupiter` for Steam Deck or `-surface` for Microsoft Surface series + +## Setup FOSS apps (if you choose to build FOSS) +---------------------------- + +- If you want to build with FOSS (this will include microG Services & some extra apps), go to vendor/foss and then type +``` + ./update.sh +``` +And then choose 1 (x86/x86_64) to fetch all the apps. If you want to include Bromite Webview in, type this instead +``` + ./update.sh "" bromite +``` +## Building + + $ . build/envsetup.sh + $ lunch bliss_x86_64-userdebug + $ make iso_img + +***Adding build options*** + +Before running `lunch`, you can add variables into the build to integrate more stuff into the image. +Note that you can put different variables into the build. + +- **To build with FOSS** +``` + export BLISS_BUILD_VARIANT=foss +``` + +- **To build with [MindTheGapps](https://gitlab.com/MindTheGapps/vendor_gapps)** +``` + export BLISS_BUILD_VARIANT=gapps +``` +- **To add a custom label into a device-specific build** +``` + export BLISS_SPECIAL_VARIANT=-Jupiter +``` + +- **To build the special "surface" variant which include kernel with patches from linux-surface and the iptsd userspace touchscreen daemon** +``` + export BOARD_IS_SURFACE_BUILD=true +``` + +- **To build the special "go" variant for BlissOS Go** +``` + export BOARD_IS_GO_BUILD=true +``` + + +**More build options will be in Extras part including proprietary native-bridge/widevine libraries** + +## Extras +------- + +We do offer some extra libraries that can be compiled into the build. These include : + +***Prebuilt Widevine from Windows Subsystem for Android*** + +https://github.com/supremegamers/vendor_google_proprietary_widevine-prebuilt + +Clone to `vendor/google/proprietary/widevine-prebuilt`, The variable to activate this is `USE_WIDEVINE=true` + +***Windows Subsystem for Android's libhoudini*** + +https://github.com/supremegamers/vendor_intel_proprietary_houdini + +Clone to `vendor/intel/proprietary/houdini`, The variable to activate this is `ANDROID_USE_INTEL_HOUDINI=true` +## Report build issues +- You can reach us via [Telegram (Androidâ„¢-Generic (x86 PC) Community Development)](https://t.me/androidgenericpc) +