DescartesOS is a Custom ROM Based on Android 17
This guide walks you through setting up your build environment, downloading the source code, configuring device trees, and building DescartesOS.
Initialize the repository:
repo init -u https://github.com/DescartesOS/android.git -b lineage-24.0 --git-lfsThen synchronize the source code:
repo sync -c -j$(nproc --all) --force-sync --no-clone-bundle --no-tagsFollow the standard LineageOS build guide to install required build packages and host tools for Android 17.
Once dependencies are installed, source the environment scripts:
source build/envsetup.shDescartesOS builds on top of LineageOS and crDroid device configurations. Start from a functional LineageOS-compatible device tree.
In your device's product makefile (e.g. lineage_<device>.mk), inherit the common telephony and device configuration:
$(call inherit-product, vendor/lineage/config/common_full_phone.mk)DescartesOS provides native properties exported to "About Phone" / Hardware info and the Atelier customization dashboard.
Define these in your device tree makefile:
# Maintainer name (underscores in values convert to spaces in UI)
DESCARTES_MAINTAINER := lostsignal-502
# Processor / SoC model
DESCARTES_PROCESSOR := Snapdragon_8_Gen_3
# Battery capacity and technology
DESCARTES_BATTERY := 5000_mAh
# Display specification
DESCARTES_DISPLAY := 6.78_AMOLED_120Hz
# Camera sensor resolutions (comma-separated for multi-lens setups)
DESCARTES_CAMERA_REAR_INFO := 50,48,32
DESCARTES_CAMERA_FRONT_INFO := 32
# Build release type (OFFICIAL, UNOFFICIAL, NIGHTLY)
DESCARTES_BUILD_TYPE := OFFICIALThese are automatically converted into system properties at compile time (ro.descartes.maintainer, ro.descartes.soc, ro.descartes.battery, ro.descartes.display, ro.descartes.camera.rear, ro.descartes.camera.front, ro.descartes.buildtype).
DescartesOS includes integrated Evolution-X GMS support. You can configure GMS inclusion in your build:
# Enable GMS in the build
WITH_GMS := true
# Optional GMS bundle variants (if WITH_GMS := true):
# Default builds include gms_full.mk. You may override:
TARGET_USES_MINI_GAPPS := true # Includes gms_mini.mk
TARGET_USES_PICO_GAPPS := true # Includes gms_pico.mkTweak optional features in your device makefile according to device hardware capabilities:
# Face Unlock (Biometrics)
TARGET_FACE_UNLOCK_SUPPORTED := true
# Device as USB Webcam (UVC)
TARGET_BUILD_DEVICE_AS_WEBCAM := true
# Quick Tap gesture support (Columbus)
TARGET_SUPPORTS_QUICK_TAP := true
# Hardware and window blur effects
TARGET_ENABLE_BLUR := true
# Disable MatLog logging prebuilt
TARGET_DISABLE_MATLOG := trueSelect your device build variant:
breakfast <device_codename> [user|userdebug|eng]Or configure via lunch:
lunch lineage_<device_codename>-userdebugStart the build:
brunch <device_codename>Or manually invoke Soong/Ninja:
m bacon -j$(nproc --all)DescartesOS Updater looks for official updates and changelogs hosted on the DescartesOS GitHub organization:
- OTA Manifest:
https://raw.githubusercontent.com/DescartesOS/OTA/lineage-24.0/{device}.json - Changelogs:
https://raw.githubusercontent.com/DescartesOS/OTA/lineage-24.0/changelogs/{device}.txt - Firmware & Recovery downloads: DescartesOS/OTA Releases
DescartesOS is built upon the incredible work of the open-source community: