Bass - High Level Overview
In plain English: Bass is software that lets you run Android on ordinary PC-class machines - home desktops and laptops, gaming PCs, tablets, panel PCs, POS terminals, mini PCs, and more - without buying a special "Android-only" device from a big OEM, and without building Android yourself.
This page is a map of how the pieces fit. For choosing a product line (Lineout, Submix, and so on), start with the Bass Product Family Guide.
Bass is for people and organizations: everyday desktop users, gamers, journalists, privacy-minded / OPSEC setups, schools and shops, and enterprise fleets. The same platform family; different personalities and add-ons.
What problem does Bass solve?
Stock Android is written for phones and tablets that ship with fixed, factory-tuned hardware. Plenty of people still want Android apps and an Android-style experience on PC hardware they already own or can buy off the shelf - whether that is a personal desktop, a gaming rig, a newsroom laptop, a hardened personal machine, or a store / clinic panel PC.
That sounds simple - until you look at how Android actually treats devices.
Android is not "generic" about hardware
On a typical PC or Linux box, many peripherals are expected to work after you plug them in: USB gadgets, PCI cards, keyboards and mice, speakers, touch panels, and so on. Drivers and userspace cooperate across a wide range of vendors.
Android does not work that way.
A commercial Android image is usually built for one device family. The OEM (or silicon partner) wires up a long list of pieces that must match that board:
On top of that, modern Android keeps tightening the walls: sealed partitions, signed images, SELinux, Treble HALs, scoped storage, and stricter USB / peripheral access. That is good for phone security. It is hard for anyone who wants one Android experience across many off-the-shelf machines.
So "just install AOSP on a PC" is rarely enough. Without adaptive hardware bridges, device policies, and product packaging, you get a locked-down phone OS sitting on hardware it was never taught to drive.
What Bass does about that
Bass fills the gap:
- You install a Bass image on the machine.
- Bass detects and adapts displays, touch, audio, USB/input paths, and related hardware at boot where the platform allows.
- Optional add-ons and build personalities shape the experience: desktop shell, gaming-oriented setups, journalism / field kits, security and OPSEC-minded lockdown, kiosk mode, fleet tools, branding, and more.
You get an Android experience that fits the machine and the person using it - without a custom OS project for every SKU, and without pretending stock Android was ever a generic PC OS.
Who it is for (not only businesses)
Same underlying Bass platform; different combinations of product line, personality, and add-ons.
How Bass is different (quick contrast)
Bliss (and Bass as the PC-facing product family) is therefore not "stock Android with a wallpaper," and it is not Celadon rebranded. Celadon is a useful reference for some silicon and virtualization paths; it does not solve generic PC peripheral access the way Bass targets. Bass is the product you install and use.
The simple picture (product lines)
Bass shares the same extras catalog (desktop, gaming helpers, kiosk, fleet, security, white-label branding, and more). Product lines differ in how Android sits on the machine:
Not shown as a full column: Waydroid_NT (you already run Linux; Bass only adds Android) and Bass-ARM (Raspberry Pi-class boards). See the Product Family Guide.
Vector source: Bass-Stack-simple.svg (open in a browser if the editor SVG preview is blank).
Bass layers we keep from the full architecture
The original engineering diagram (Bass-Stack.20240308.svg) shows the whole Android stack plus Bass blocks. We still ship that file. For day-to-day reading, here is the same Bass-specific story without the phone-style density:
So: three diagrams, three jobs
Bass-Stack-simple- Lineout vs Submix vs classicBass-Stack-layers- Bass blocks retained from the full architecture (readable)Bass-Stack.20240308.svg- full labeled engineering stack (unchanged, still linked below)
How the pieces work together
flowchart TB
subgraph users [People using the device]
U[Touch, mouse, keyboard]
end
subgraph experience [What they see]
UI[Android apps and UI]
ADD[Personalities and add-ons: desktop, gaming, kiosk, privacy]
end
subgraph bass [What Bass does]
DETECT[Detect hardware at boot]
CONFIG[Apply settings and profiles]
APPS[Bass helper apps and services]
end
subgraph hw [Physical machine]
PC[PC / tablet / panel / POS]
end
U --> UI
ADD --> UI
UI --> APPS
APPS --> DETECT
APPS --> CONFIG
DETECT --> PC
CONFIG --> PCBoot time (short version):
- The machine starts and Bass looks at what hardware is attached.
- It applies the right display, audio, touch, and power behavior when it can.
- Android starts with your chosen personality (tablet, desktop, kiosk, or a specialized build such as gaming, journalism, or security/OPSEC) if those options are in the image.
- Add-ons and branding included with that build are already part of the image - you do not assemble the stack by hand.
Four ideas that show up everywhere
1. One platform family, several product lines
Bass is a family. Product lines differ mainly in how Android sits on the machine:
- Bass: Lineout - Android is the OS (most common for new PC projects).
- Bass: Submix - a small Linux foundation hosts the machine; Android runs on top.
- Waydroid_NT - you keep your own Linux; Bass adds Android in a container.
- Bass OS (classic) / Bass-ARM - earlier PC line, or Raspberry Pi-class boards.
Details and a choice table: Product Family Guide.
2. Add-ons are optional parts, not a separate OS
Think of add-ons as a parts catalog: desktop shell, gaming helpers, kiosk launcher, journalism/field tools, security and OPSEC modules, fleet licensing, DNS lockdown, display/touch helpers, and so on. You (or your image builder) pick what that machine needs. The catalog is shared across product lines on the Android side.
3. "Configurable HALs" in everyday words
In Android engineering, a HAL is the bridge between software and hardware. Phone OEMs ship HALs that match one bill of materials. Bass includes switchable / adaptive bridges for graphics, audio, network, input, and related paths so one product image can behave correctly across many PC chipsets and peripherals - the opposite of a sealed single-SKU phone build.
You do not configure HALs by hand day to day. You notice the result: the right screen lights up, touch lines up, USB devices show up usefully, HDMI audio works, and so on.
4. White-label branding (same OS, your face)
On a normal Android product, wallpaper packs, boot animation, and other brand chrome often mean a completely separate build (and a separate maintenance trail) for every customer.
Lineout, Submix, and legacy Bass are built so those overrides can ride on the same OS:
- Boot animation, wallpapers, and related branding can be swapped without forking a new platform tree for each buyer.
- Most customers run that shared OS. What they and their end users notice is often the absence of Bass branding - the device looks like the customer's product, not like a Bass demo image.
- That anonymity is intentional. We do not publish a client list or "kiss and tell" about who runs Bass underneath. Discretion is part of why organizations choose the platform.
Public Bass pieces stay the shared core. Your look, private apps, and private policies stay packaged for you - not mixed into someone else's image or into marketing material.
Where this sits vs full Android architecture
Android itself has many technical layers (kernel, runtime, framework, system apps). Bass does not replace Android - it extends it for PC-class use: home and desktop, gaming, journalism, security/OPSEC, education, and commercial deployments (and related product lines).
That is also why Bass is not interchangeable with:
-
a typical OEM Android tablet image, or
-
Intel Project Celadon as a drop-in product (Celadon centers on containerized Android, often per display, with the same class of locked-down peripheral access; Bass is the installable Bass/Bliss product family with adaptive PC hardware support, add-ons, personalities, branding, and support).
-
Prefer this page and the Product Guide if you are deciding what to install or deploy.
-
Prefer the detailed stack diagram below if you need every Android box labeled.
That diagram labels Android's classic layers plus Bass-specific blocks (configurable HALs, Bass apps/services, vendor configuration, vendor add-ons). It remains the authoritative detailed picture; the simpler diagrams above are reading aids, not replacements. Labels can change as the platform evolves.
Related reading
Naming in public material: use Bass OS, Bass: Lineout, Bass: Submix, Waydroid_NT, and Bass-ARM. Avoid internal tree or codenames.