zingrx / android

Absolutely FREE Android Operating System for everyone - continuation of https://github.com/riceDroid

Home Page:http://ricedroidoss.github.io/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

What is RiceDroid?

Ricedroid is a FREE OPENSOURCE Android Operating System based on LineageOS and crDroid, that aims to provide necessary "ricing" aka customizations for ANDROID while being fast and stable. This operating system is highly inspired by Oxygen OS (10-11) and nothingOS, we strive to make things different but not too far from AOSP.

Terminology

The rice in the project name can be referred to "rice" (food) itself, but in a sense it is indeed the term "ricing" in linux.

Maintainership

Requirements:

  1. Device trees must be properly maintained, patches applied to the tree must be either rom source changes adaptation,bug fixes or improvements.
  2. Must have no known issues in his/her current device community.
  3. Approved by the maintainership application form reviewers.

Maintainership application form link: https://docs.google.com/forms/d/1TSnWigcR5cZmeABU07gvbBPd_keqlteLcLq4iJif-qw/viewform

Getting Started

Initialize local repository (thanks to apon77 for repo init script)

repo init --depth=1 --no-repo-verify -u https://github.com/ricedroidOSS/android -b thirteen -g default,-mips,-darwin,-notdefault

in case of repo syncing failures try this instead

repo init -u https://github.com/ricedroidOSS/android -b thirteen

Sync up with this command:

repo sync -c --no-clone-bundle --optimized-fetch --prune --force-sync -j$(nproc --all)

Workaround for failing repositories

Failing repos:
system/core
Try re-running with "-j1 --fail-fast" to exit at the first error.
user@linux1-S:~/rice$ cd system/core
user@linux1-S:~/rice/system/core$ git remote remove github
user@linux1-S:~/rice/system/core$ git remote add github https://github.com/RiceDroid/android_system_core
user@linux1-S:~/rice/system/core$ git fetch github
remote: Enumerating objects: 204495, done.
remote: Counting objects: 100% (204495/204495), done.
remote: Compressing objects: 100% (84311/84311), done.
remote: Total 204495 (delta 116667), reused 204374 (delta 116643), pack-reused 
Receiving objects: 100% (204495/204495), 203.26 MiB | 23.42 MiB/s, done.
Resolving deltas: 100% (116667/116667), done.
From https://github.com/RiceDroid/android_system_core
 * [new branch]          thirteen   -> github/thirteen
 * [new branch]          twelve     -> github/twelve
user@linux1-S:~/rice/system/core$ git switch thirteen
user@linux1-S:~/rice/system/core$ git branch -f --track thirteen github/thirteen
HEAD is now at xxxxxxx Congrats you can now resync without deleting folder!

Preparing device for this ROM

Inherit Lineage vendor common stuffs

$(call inherit-product, vendor/lineage/config/common_full_phone.mk)

Adapt your device tree according to our fwb/hardware/vendor changes and use these flags to configure certain ROM properties

# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rice.chipset", "Snapdragon 870 5G");
RICE_CHIPSET := "snapdragon x"

# chipset flag enclose var with "" if more than one
# friendly tip: builders can use init_xxx.cpp as workaround for spacing
# e.g. property_override("ro.rice.maintainer", "get riced");
RICE_MAINTAINER := "a maintainer"

# chipset flag enclose var with "" if more than one
# this will reflect on build/display version, a firmware package/zip name 
# e.g. riceDroid-7.0-COMMUNITY-device-AOSP.zip - AOSP is the default package type, WITH_GMS will override the package type to PIXEL
RICE_PACKAGE_TYPE := "VANILLA AOSP"

# Sushi Bootanimation (only 720/1080p/1440 supported. if not defined, bootanimation is google bootanimation)
SUSHI_BOOTANIMATION := 720/1080/1440

# Graphene Camera
TARGET_BUILD_GRAPHENEOS_CAMERA := true/false

# disable/enable blur support, default is false
TARGET_ENABLE_BLUR := true/false

# UDFPS ICONS/ANIMATIONS
TARGET_HAS_UDFPS := true/false

# Allow usage of custom binary linker (LD), default is false
TARGET_KERNEL_OPTIONAL_LD := true/false

# Spoof build description/fingerprint as pixel device
TARGET_USE_PIXEL_FINGERPRINT := true/false

# GMS build flags, if none were defined the package build type will be AOSP (default: false)
WITH_GMS := true/false - ship with GMS packages, replaces misc AOSP packages with Google packages.

# Customized GMS Flags 
# WITH_GMS flag is required

# Opt out of google dialer support, compiler will build aosp dialer,
# package type will change from PIXEL -> GMS
TARGET_OPTOUT_GOOGLE_TELEPHONY := true/false

# Compiler will only build GMS playstore services, its dependencies, and Gboard app.
# package type will change from PIXEL/GMS -> CORE
TARGET_CORE_GMS := true/false

# extra flag under TARGET_CORE_GMS
TARGET_CORE_GMS_EXTRAS := true/false - extra packages for core build type (velvet and photos)

# We took some of Code Linaro optimizations and ported it to AOSP,
# But due to some stuffs we were not able to make the system parse the device perfconfigstore.xml automatically
# builders might need to tune runtime properties listed below (with reference and CLO counterparts)

# Memory properties

# Max cached app processes in system, overrides "config_customizedMaxCachedProcesses"
persist.sys.fw.bg_apps_limit=96

# Code linaro LMKD properties and its AOSP counterparts - refer to perfconfigstore.xml (if available) for tuning purposes
# kill_heaviest_task_dup
ro.lmk.kill_heaviest_task=true
# kill_timeout_ms_dup
ro.lmk.kill_timeout_ms=100
# use_new_strategy_dup
ro.lmk.use_new_strategy=true
# thrashing_threshold
ro.lmk.thrashing_limit=30
# thrashing_decay
ro.lmk.thrashing_limit_decay=5
# nstrat_low_swap
ro.lmk.swap_free_low_percentage=10
# nstrat_psi_partial_ms
ro.lmk.psi_partial_stall_ms=70
# nstrat_psi_complete_ms
ro.lmk.psi_complete_stall_ms=70
# CLO lmkd [1] - others were not defined (will use default values from lmkd binary)
ro.lmk.psi_scrit_complete_stall_ms=75
ro.lmk.nstrat_wmark_boost_factor=4
ro.lmk.enable_watermark_check=true
ro.lmk.enable_userspace_lmk=true
ro.lmk.super_critical=701
ro.lmk.direct_reclaim_pressure=45
ro.lmk.reclaim_scan_threshold=0

# App compaction - refer to perfconfigstore.xml (if available) for tuning purposes
persist.sys.appcompact.enable_app_compact=false
persist.sys.appcompact.full_compact_type=2
persist.sys.appcompact.some_compact_type=4
persist.sys.appcompact.compact_throttle_somesome=5000
persist.sys.appcompact.compact_throttle_somefull=10000
persist.sys.appcompact.compact_throttle_fullsome=500
persist.sys.appcompact.compact_throttle_fullfull=10000
persist.sys.appcompact.compact_throttle_bfgs=600000
persist.sys.appcompact.compact_throttle_persistent=600000
persist.sys.appcompact.rss_throttle_kb=12000
persist.sys.appcompact.delta_rss_throttle_kb=8000

Build

Set up environment

. build/envsetup.sh

Build the code

brunch "device_codename"

Credits

About

Absolutely FREE Android Operating System for everyone - continuation of https://github.com/riceDroid

http://ricedroidoss.github.io/