Contributing

Open source software -> contributions welcome! Switchroot is a great place to get started with open source.

Background

Switchroot Android is based on the LineageOS Project, an open-source Android distribution focused on simplicity, stability, device support, common sense features, and upstream adherence. We use Lineage because it has platform-level support for the NVIDIA Shield, which shares the Tegra X1/X1+ processor with the Switch.

Lineage is in turn based on the Android Open-Source Project (AOSP), which is effectively just mainline Android from Google. AOSP is meant as a platform baseline, and is not a great experience by itself (even Google uses their own private internal fork for Pixel etc.), and it's up to distributions like Lineage to provide a more OEM-like experience.

Basics

To contribute to upstream Lineage, you'll need ~350GB free space, a decently powerful PC, a Linux distribution (instructions assume Ubuntu but you can figure out most others), and a lot of time--some of us got our starts with mediocre old PCs chucked in a closet, so if you've got a 2018 Optiplex in your basement, might want to dig it out.

Gerrit

Lineage (like upstream AOSP) uses Gerrit as a code review platform. The flow is basically:

Push to Gerrit -> Get comments and criticisms -> Respond -> Obtain +2 Code Review from repo owner -> Repo owner will merge. makinbacon and npjohnson can merge most Switch-related stuff, but you might need to reach out further for common Tegra (Steel01) or Lineage (Lineage project directors).

More Lineage contributing instructions can be found here: https://wiki.lineageos.org/contributing.

Switch-Specific Code

Follow https://wiki.lineageos.org/devices/nx_tab/build/variant1/ to get a LineageOS tree for nx_tab (tablet Android).

Main repos:

Last updated