Skip to content

Software platforms

Linux, AGL and Yocto

The open-source alternative to Android in the cockpit — how an automotive Linux is actually built, what Automotive Grade Linux provides, and the real trade-off an OEM is making when it chooses this route.

Intermediate7 minLinux · Yocto · AGL · Platforms

Android is not the only answer to "what runs the screen". A large part of the industry runs plain Linux, and understanding why makes the trade-offs of your own platform much clearer.

Why not just use a desktop distribution#

Yocto: building a distribution rather than installing one#

Yocto is not a Linux distribution. It is a build system that produces one from recipes.

meta                (Yocto core recipes)
meta-poky           (reference distro policy)
meta-openembedded   (community recipes)
meta-<soc-vendor>   (kernel, bootloader, GPU drivers for your chip)
meta-agl            (automotive services and profiles)
meta-<oem>          (your applications, your branding, your policy)

                 bitbake

       image + SDK + licence manifest + SBOM

Gotcha

The output that surprises people is not the image — it is the licence manifest and . Yocto emits a full account of every component and its licence, because that account is a shipping requirement. Getting it for free is one of the strongest practical arguments for the whole approach.

The cost, stated plainly#

A full Yocto build from cold is measured in hours and tens of gigabytes. Adding one library can trigger a large rebuild. New engineers find it opaque for weeks.

AGL: the shared baseline#

Every OEM building automotive Linux was solving the same problems separately. is the Linux Foundation project that pooled that work.

Things AGL contributes that you would otherwise write:

PieceWhat it handles
agl-compositorWayland compositor with automotive policy — which surface may be on top, and when
Application frameworkLaunching, sandboxing and permissioning applications
Audio (PipeWire/WirePlumber)Routing, priority and ducking between sources
KUKSA integrationVehicle signals as , through a data broker
Demo platformA bootable reference on common dev boards

Android versus Linux, decided honestly#

Android AutomotiveAutomotive Linux / AGL
App ecosystemPlay or APK sideload, huge developer poolBuild your own, or web apps
Time to a working UIFast — the framework is thereSlower — more assembly
Control over the stackBounded by AOSP's shapeTotal
Licence exposureApache-2 base, Google terms for GASYou choose every component
Memory and storage floorHighLow, and tunable
Boot timeHarder to shortenEasier to shorten
Graphics maturityExcellent, phone-gradeGood, more integration work
Multi-user, multi-displayBuilt inYou design it
Talent poolVery largeSmaller, more specialised
Google relationshipRequired for GASNone
Safety certificationNot for the frameworkNot for stock Linux either

Where both approaches meet#

The interesting development is that below the UI, the two converge.

Next#

The platform that handles what neither Android nor stock Linux will — QNX and safety operating systems.

References & further reading

Code links target the main branch on cs.android.com. AOSP moves — if a path 404s, search the symbol instead.