# Welcome to Bass OS Documentation > Install From Bootable USB - [Welcome to Bass OS Documentation](https://docs.blisscolabs.dev/readme.md): Welcome to Bass OS Documentation - [Code of Conduct](https://docs.blisscolabs.dev/code_of_conduct.md): We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body ## Installation ### Raspberry pi - [Bass OS for the Raspberry PI 4 series based on the GloDroid project](https://docs.blisscolabs.dev/installation/raspberry-pi/raspberry-pi-installation.md): GloDroid ProjectStatus License ### Submix - [Bass: Submix - Quick Start Guide](https://docs.blisscolabs.dev/installation/submix/submix-install.md): Bass: Submix is a minimal Debian host that boots into a Wayland compositor and runs LineageOS / Android inside a Waydroid LXC container. This guide is the short path from a downloaded ISO to a working install - flash, install, connect Wi-Fi, and reach the device from your PC. ### Virtio - [Virtio installation](https://docs.blisscolabs.dev/installation/virtio/virtio-installation.md): On Debian / Ubuntu, installing the package virt-manager would install the GUI manager, and everything that required for libvirt QEMU virtual machine as well as theirs dependencies. ### X86 64-v2 - [Bass OS/Lineout (Android 13-16) Install Process](https://docs.blisscolabs.dev/installation/x86_64-v2/bass_os_aaropa_install_process.md): This document will go over how to use our Devuan GNU-Linux based installer (aka: Aaropa initrd/installer). This is quite the departure from our normal - [Collecting bug reports](https://docs.blisscolabs.dev/installation/x86_64-v2/collecting-bug-reports.md): This process is mostly the same as Android-x86 builds, but with a few additions that help things along. If you need to collect logs in order to submit a bug report, then the first thing you will want to do is reboot your Bass OS install using debug mode. - [Install From Bootable USB](https://docs.blisscolabs.dev/installation/x86_64-v2/install-from-bootable-usb.md): Install from bootable USB Installer - [Using Android-x86 Installer](https://docs.blisscolabs.dev/installation/x86_64-v2/using-android-x86-installer.md): This installer is developed and maintained by Xtr126 and is intended to be used to dual-boot Bass OS along with Linux or Windows ## Applications ### Ax86 Button Manager - [Ax86 Button Manager](https://docs.blisscolabs.dev/applications/ax86buttonmanager/ax86buttonmanager.md): Button Manager maps hardware function keys (P1, P2, P3, and similar) on generic x86 devices to actions and device controls. It is a privileged, platform-signed system app with a Settings entry, an AIDL service, and a cmd handler. - [Button Manager AIDL and cmd](https://docs.blisscolabs.dev/applications/ax86buttonmanager/aidl_interface.md): The service registers with ServiceManager as ax86_btnmgr, so it is reachable from AIDL clients and from cmd. - [Button Manager Config Format](https://docs.blisscolabs.dev/applications/ax86buttonmanager/config_format.md): INI-style config at /data/misc/ax86_btn_manager.conf. This file is the source of truth. Keylayout (.kl) overlays under /data/system/devices/keylayout/ are generated from it and are not meant to be edited by hand. ### Ax86 Power - [Ax86 Power](https://docs.blisscolabs.dev/applications/ax86power/ax86power.md): Ax86 Power is the sleep / wake policy UI and AIDL for Bass: Lineout (x86). It controls what may resume the machine and which suspend depth to use. It also exposes reboot / shutdown / sleep so clients of the old BlissPowerManager AIDL can switch over 1:1 for those helpers. - [Ax86 Power AIDL](https://docs.blisscolabs.dev/applications/ax86power/aidl_interface.md): Binder API for sleep / wake policy and power actions. Backed by vendor apply_wake_policy (persist.ax86.wake.*, persist.ax86.mem_sleep, sys.ax86.wake.update). ### Ethernet Config - [Ethernet Config](https://docs.blisscolabs.dev/applications/ethernetconfig/ethernetconfig.md): Ethernet Config is the privileged system app used on current Bass OS builds (Android 13+) to manage wired Ethernet. It replaces the older Bliss Ethernet Manager while keeping the blissethernet AIDL service name. - [Bliss Ethernet AIDL client library](https://docs.blisscolabs.dev/applications/ethernetconfig/system_libs/readme.md): See AIDL_INTERFACE.md for the full API. - [Ethernet Config — AIDL Interface](https://docs.blisscolabs.dev/applications/ethernetconfig/aidl_interface.md): This document describes the AIDL API exposed by Ethernet Config (com.example.ethernetconfig). The service registers a system binder named blissethernet. - [Ethernet Config — Test & Validation Guide](https://docs.blisscolabs.dev/applications/ethernetconfig/testing.md): Validate BlissEthernetService, the blissethernet AIDL binder, and persist.bass.ethernet.* prop-based auto-config on a live device. ### SmartDockDFC - [SmartDockDFC](https://docs.blisscolabs.dev/applications/smartdockdfc/readme.md): Apps menu QSW/Notifications drawer - [A14 Physical Pointer Routing](https://docs.blisscolabs.dev/applications/smartdockdfc/input_routing_a14.md): SmartDock is a priv-app with ASSOCIATE_INPUT_DEVICE_TO_DISPLAY. On Android 14, physical mice and touchpads should be routed via framework APIs — not the software overlay relay used as a fallback. - [SmartDock DFC (Desktop Framework Component) - Feature Overview](https://docs.blisscolabs.dev/applications/smartdockdfc/smartdock_features.md): SmartDock DFC is a deep-integration desktop framework for Android, designed to transform mobile interfaces into productive, multi-display desktop environments. - [SmartDock DFC: Marketing the Right Experience for Every Device](https://docs.blisscolabs.dev/applications/smartdockdfc/marketing.md): SmartDock DFC is one shell that can wear many hats. The same privileged desktop framework can look and behave like a locked kiosk, a checkout terminal, a multi-monitor workstation, a tablet productivity UI, or a phone that docks into a desk. - [SmartDock DFC: OEM & Enterprise Sales Guide](https://docs.blisscolabs.dev/applications/smartdockdfc/sales_guide.md): SmartDock DFC (Desktop Framework Component) is a high-performance, deep-integration desktop shell designed for Android (AOSP). It transforms mobile - [Vendor Implementation Guide: SmartDock DFC](https://docs.blisscolabs.dev/applications/smartdockdfc/vendor_guide.md): This guide provides exhaustive documentation for Original Equipment Manufacturers (OEMs) and AOSP integrators to integrate and pre-configure SmartDock DFC. - [Ax86 Logger](https://docs.blisscolabs.dev/applications/ax86logger/ax86logger.md): Ax86 Logger is a privileged system service that captures rolling logcat output for field diagnostics. Use it when you need to pull recent system logs off a device without keeping a laptop attached the whole time. - [Ax86Docs (on-device documentation)](https://docs.blisscolabs.dev/applications/ax86docs/ax86docs.md): Ax86Docs is the offline documentation app shipped on Bass: Lineout builds that include --extras. It opens a WebView and renders markdown bundled into the image at build time. - [BassView](https://docs.blisscolabs.dev/applications/bassview/bassview.md): BassView (BlissView) is a privileged system service used on Bass builds for platform integrity checks, EULA acceptance, and optional device analytics. - [Bliss Config Overrides](https://docs.blisscolabs.dev/applications/blissconfigoverrides/blissconfigoverrides.md): Config Overrides lets you push flat config files to /data/misc/ and have the device apply them on boot (or on demand). Useful for provisioning without an MDM or a custom setup app. - [Bliss Display Mapper](https://docs.blisscolabs.dev/applications/blissdisplaymapper/blissdisplaymapper.md): Display Mapper controls resolution, DPI, and orientation for the built-in panel and external monitors. Open it from Settings on builds that include --extras. - [Bliss Touch Mapper (Input Mapper)](https://docs.blisscolabs.dev/applications/blisstouchmapper/blisstouchmapper.md): Touch Mapper binds USB touchscreens, mice, touchpads, and keyboards to specific displays. It can also flip inverted X/Y axes on mismatched digitizers. Included with --extras. - [Bliss Tweaks](https://docs.blisscolabs.dev/applications/blisstweaks/blisstweaks.md): Bliss Tweaks lives under Settings → System and exposes low-level properties, secure settings, and window manager flags without needing an ADB shell. Included with --extras. - [BlissEthernetManager](https://docs.blisscolabs.dev/applications/blissethernetmanager/blissethernetmanager.md): Note: On current Bass OS builds (Android 13+), wired Ethernet is managed by Ethernet Config, which exposes the blissethernet AIDL API. Prefer Ethernet Config — AIDL Interface for new deployments (includes ethernet tethering and the current assignment enum). - [Boot Config (aaropa-options)](https://docs.blisscolabs.dev/applications/bootconfig/bootconfig.md): Boot Config is the Settings UI for toggling boot / kernel command-line options without rebuilding the image. Changes apply on the next reboot. - [BootSight](https://docs.blisscolabs.dev/applications/bootsight/bootsight.md): BootSight is the Bass fleet and license UI used on builds that manage devices through BootSight rather than a third-party MDM. On those builds it shows up - [Setting Up Bliss Kiosk Launcher](https://docs.blisscolabs.dev/applications/blisskiosklauncher/blisskiosklauncher.md): If your BlissBass build comes with Bliss Kiosk Launcher, then you have the ability to restrict access to various packages on the device, as well as set - [Setting Up Bliss Restricted Launcher](https://docs.blisscolabs.dev/applications/blissrestrictedlauncher/blissrestrictedlauncher.md): If your BlissBass builds comes with Bliss Restricted Launcher, then you have the ability to restrict it’s access to various packages on the device, as well ## Development - [Addon Development: Bass Lineout](https://docs.blisscolabs.dev/development/addon-development.md): This page is for Bass: Lineout (vendor/ax86-lite, tools/build.sh). - [Addon Development: Legacy Bass OS](https://docs.blisscolabs.dev/development/addon-development-legacy-bass.md): This page is for classic Bass OS projects that use private/addons/, vendor/bass/patches/, and unfold scripts such as unfold_bliss.sh / build_bass.sh. - [Bass - High Level Overview](https://docs.blisscolabs.dev/development/bass-high-level-overview.md): Bass (Broad Apparatus Support System) is the combined operation of the various layers used in the Android OS stack that provides vendors, users, businesses, etc with additional configuration options that may be required to fine-tune a generic Android image to their hardware. - [Bass OS - Android 12L](https://docs.blisscolabs.dev/development/building-bass.md): License - [BootSight Offline Licensing (Internal Runbook)](https://docs.blisscolabs.dev/development/bootsight-offline-licensing.md): This is the internal process for issuing offline BootSight activations for air-gapped or no-telemetry customers. End-user activation steps live in License Activation. - [Contributing to Bass OS](https://docs.blisscolabs.dev/development/contributing-documentation.md): We are not going to require any elitist rules for you to contribute to the project. That's just silly. So this doc will cover the various parts of the project and explain how to do things. - [Development FAQ](https://docs.blisscolabs.dev/development/development-faq.md): Much of what we are doing with Android source is lacking proper documentation as to what it does, and how. This document will try to answer a few of those questions. - [Maintaining Proper Authorship](https://docs.blisscolabs.dev/development/maintaining-proper-authorship.md): One of the most important things you need to keep in mind while working on open-source projects is maintaining correct authorship. In this article, we'll - [Porting Linux Drivers](https://docs.blisscolabs.dev/development/porting-linux-drivers.md): When it seems that there might be a missing driver or hardware support for your specific device, the best way to add support for that is o search online for a Linux kernel module for your target component. - [What are Linux Drivers?](https://docs.blisscolabs.dev/development/what-are-linux-drivers.md): For those looking to help gain a better understanding of how Linux drivers work, here is a YouTube video that helps to explain things a bit ## Features - [Admin Restriction](https://docs.blisscolabs.dev/features/admin-restriction.md): Some Bass Lockdown builds come with a password restricted Admin mode. We use a grub flag to pass the password through to the system, which then creates a sha256 hash of that string and compares it against the hash saved within the system. - [Fleet Management](https://docs.blisscolabs.dev/features/fleet-management.md): Bass builds declare how the device is managed with a single read-only property: - [Internet Restriction (DNS)](https://docs.blisscolabs.dev/features/dns-internet-restriction.md): In some cases, the system is equipped with an internet restriction method that is active while the device is in Lockdown mode. - [Lockdown install / uninstall block](https://docs.blisscolabs.dev/features/lockdown-install-block.md): Blocks package install and uninstall while the device is booted in lockdown mode. Enable with --ldinstall on Lineout builds. - [Updating Bliss Bass builds](https://docs.blisscolabs.dev/features/updates-and-ota.md): We support a variety of methods for updating Bliss Bass builds. Our installwe is simular to Bliss OS, but we add a few product focused options and features. ## Interfaces ### BlissPowerManagerAIDL - [Power Management API (legacy)](https://docs.blisscolabs.dev/interfaces/blisspowermanageraidl/power-management-aidl.md): Lineout note: New builds should use Ax86 Power (IAx86Power) for reboot / shutdown / sleep and sleep/wake policy. This page documents the older BlissPowerManager AIDL still referenced by some apps and samples. ## Legal - [END USER LICENSE AGREEMENT](https://docs.blisscolabs.dev/legal/end_user_license_agreement.md): END USER LICENSE AGREEMENT (EULA) - [Licensing](https://docs.blisscolabs.dev/legal/licensing.md): Bass OS is available under different licensing options designed to accommodate the needs of our various users: - [Navotpala Tech Privacy Policy](https://docs.blisscolabs.dev/legal/navotpala_tech_privacy_policy.md): Navotpala Tech Privacy Policy - [Privacy Policy](https://docs.blisscolabs.dev/legal/privacy_policy_for_bass_os_website.md): Privacy Policy for Bass OS ## Product guide - [Bass Product Family Guide](https://docs.blisscolabs.dev/product-guide/bass-product-family.md): This guide explains what Bass is, how each product line differs, and how add-ons work across the whole family. It is written for readers who are new to Bass and do not need an engineering background. ## Remote management - [Using DroidVNC-NG](https://docs.blisscolabs.dev/remote_management/using_droidvnc-ng.md): (These instructions are based off the project readme found here) - [Using Scrcpy For Remote Management](https://docs.blisscolabs.dev/remote_management/using_scrcpy_for_remote_management.md): scrcpy is a popular open-source tool that allows remote access and control of your Android device using adb interface. - [Using ScreenView](https://docs.blisscolabs.dev/remote_management/using_screenview.md): ScreenView is used to view and control the primary screen from an external display. To use it, open the app on an external display. - [Using Sshd4a](https://docs.blisscolabs.dev/remote_management/using_sshd4a.md): (These instructions are based off the project wiki found here) ## Setup and configuration - [Bass boot options](https://docs.blisscolabs.dev/setup_and_configuration/bass-boot-options.md): On Aaropa installs, GRUB only ships BlissOS / Recovery / Advanced entries by default. With this package enabled, a Bass boot options submenu is added on first boot by writing a separate config and linking it through GRUB's custom.cfg (already sourced by 41_custom in Aaropa's grub.cfg). - [Booting into generic builds](https://docs.blisscolabs.dev/setup_and_configuration/booting-into-generic-builds.md): !!WARNING!! - THESE BUILDS ARE MEANT TO REPLACE YOUR EXISTING OPERATING SYSTEM OR BE INSTALLED ON NEW HARDWARE. THESE ARE NOT INTENDED FOR DUAL-BOOTING - [Booting into lockdown builds](https://docs.blisscolabs.dev/setup_and_configuration/booting-into-lockdown-builds.md): !!WARNING!! - THESE BUILDS ARE MEANT TO REPLACE YOUR EXISTING OPERATING SYSTEM OR BE INSTALLED ON NEW HARDWARE. THESE ARE NOT INTENDED FOR DUAL-BOOTING - [Configuration Through Command Line Parameters](https://docs.blisscolabs.dev/setup_and_configuration/configuration-through-command-line-parameters.md): Bliss OS (and the Bass builds) utilizes an expanded configuration layer, our Broad Apparatus Support System (Bass for short) allows one generic .iso to be configured through kernel command line parameters on a per-device basis. - [Configuring Aaropa builds after install](https://docs.blisscolabs.dev/setup_and_configuration/configuring-aaropa-builds-after-install.md): When you install one of our Aaropa based builds, the Linux GUI based installer allows you to configure many of the properties in the build on install like codecs, audio HAL, bluetooth HAL, and more. - [Creating an input-port-addon.xml file (Lineout runtime override)](https://docs.blisscolabs.dev/setup_and_configuration/input-port-associations.md): This is a Bass: Lineout runtime override: put XML under /data/misc/ and enable BLISS_INPUT_PORTS_ADDON=1 on the kernel command line. Early init bind-mounts that file over the vendor associations path. - [How to edit grub from your Bass OS install](https://docs.blisscolabs.dev/setup_and_configuration/updating_legacy_grub.md): Follow these steps to edit EFI from rooted Bass OS - [IDC Addon (Lineout runtime override)](https://docs.blisscolabs.dev/setup_and_configuration/addon_idc.md): This is a Bass: Lineout runtime override (part of addon_init), not a legacy Bass private/addons/ package. - [License Activation](https://docs.blisscolabs.dev/setup_and_configuration/license-activation.md): Some of the Bass OS builds do require licensing activation. After contacting us with your device serial numbers and purchasing a license, there are a few different ways it can be activated. ## Troubleshooting - [Debug Mode Guide for Bliss OS/Bass OS](https://docs.blisscolabs.dev/troubleshooting/debug_mode_guide.md): Bliss OS/Bass OS provides two debug modes: DEBUG=1 and DEBUG=2. These modes offer different features and troubleshooting steps to help you debug a device that is not booting correctly.