Google’s Desktop Head Unit (DHU) simulates a car’s head unit on your computer. It pairs with a real Android device over USB, so you can check that Android Auto works on an /e/OS build without access to an actual car.

Tip: This connects a real /e/OS device to the DHU tool — it is not an AVD/emulator workflow. Use a physical device with USB debugging enabled.

Install the Desktop Head Unit

The DHU ships as an optional package of the Android SDK command-line tools.

sdkmanager "extras;google;auto"
chmod +x "$ANDROID_HOME/extras/google/auto/desktop-head-unit"

It also needs glibc ≥ 2.32 and the LLVM libc++/libc++abi runtime libraries. On Debian/Ubuntu:

sudo apt-get install libc++1 libc++abi1
Tip: On distributions without libc++1/libc++abi1 packages (e.g. Fedora), install your distribution’s libc++/libc++abi runtime package, or point LD_LIBRARY_PATH at copies already installed alongside other Android tooling — the Android Emulator and Android Studio’s bundled NDK both ship them:
export LD_LIBRARY_PATH="$ANDROID_HOME/emulator/lib64:/path/to/ndk/lib64"

Install the prerequisite apps

Android Auto needs its usual set of Google apps, installed through App Lounge on the /e/OS device — follow Steps to Install Android Auto (including the App Lounge stub-package tip there), then reboot the device.

Unlock developer mode and start the head unit server

Both live inside the Android Auto app’s own settings (Settings → search Android Auto).

  1. Search Settings for Android Auto and open it.

    Settings search results for “Android Auto”

  2. Scroll to the bottom and tap Version 10 times.

    The Android Auto settings page scrolled to the bottom, showing the Version entry

  3. Confirm the “Allow development settings?” prompt.

    Confirmation dialog asking to allow development settings

  4. Developer mode is now unlocked, accessible from the overflow menu.

    Toast notification: “Developer mode enabled. Access it using the overflow menu on the top right.”

  5. Open the overflow menu (⋮, top right).

    Overflow menu showing Help & feedback, Developer settings, Start head unit server, Quit developer mode

  6. In Developer settings, turn on Unknown sources.

    Developer settings page with the Unknown sources toggle turned on

  7. Back in the overflow menu, tap Start head unit server.

    Toast notification: “Starting head unit server…”

Connect and launch the DHU

Plug the /e/OS device in over USB (unlocked, USB debugging authorized), then start the DHU in USB transport mode, using the device’s serial number (adb devices):

desktop-head-unit --usb <device-serial>
Warning: Run this command in a normal, foreground terminal. If it is launched detached or backgrounded by some automated/sandboxed process, it can be killed mid-handshake before it finishes pairing with the phone.

Once the DHU attaches over USB and completes its TLS handshake with the phone, accept the consent screen:

  1. Unlock the phone when prompted.

    Android Auto’s “Welcome to Android Auto / Connected to Google” consent screen with an “Accept after unlock” button

  2. Tap Continue.

    Same consent screen after unlocking, now showing a Continue button

Grant notification access

Android Auto needs notification access to work — without it, the DHU connects but never shows more than a blank/loading state, even though the phone reports itself as connected.

  1. Settings → search Notification access shows Android Auto under “Not allowed”.

    Notification access settings page, with Android Auto listed under “Not allowed”

  2. Tap it, then turn on Allow notification access and confirm.

    Confirmation dialog: “Allow notification access for Android Auto?” listing what the app will be able to do

  3. It now shows as allowed.

    Notification access page showing the toggle turned on for Android Auto

Tip: If the DHU window is already open when you grant this permission, restart it (kill and relaunch desktop-head-unit) — it doesn’t refresh its own state automatically.

Result

With everything granted, the DHU window switches to the full Android Auto interface: app grid, media card and navigation, matching a real car’s head unit.

Desktop Head Unit window showing the full Android Auto interface: app grid, a News media card, and a warning that Google Maps needs location access

Google Maps needs its own location permission, granted the same way as any other app — see Setup Google Maps. Once granted, Maps loads normally inside the DHU:

Desktop Head Unit window showing Google Maps fully loaded with a search bar, and a News media card

Useful commands

Once connected, the terminal running the DHU accepts commands:

CommandEffect
helpList available commands
screenshotSave a screenshot of the head unit
dpad up|down|left|right|clickSend a d-pad input
mic begin / mic playSimulate a voice-assistant press
day / night / daynightForce day/night mode
quit / exitDisconnect

See the official DHU documentation for the full command and flag reference.

Troubleshooting

  • “Android Auto has disconnected”, stuck on screen: this Android Auto overlay does not clear itself, and stopping/restarting the head unit server or the DHU does not bring back the consent screen either. It requires a genuine physical USB reconnection.

    Android Auto’s “Android Auto has disconnected” screen, instructing to reconnect the phone’s USB cable

    Unplug and replug the device’s USB cable, then relaunch the DHU.

  • App Lounge stuck on “Open” for Android Auto: see the stub-package tip under Steps to Install Android Auto — remove the stub package with pm uninstall --user 0 and search again.

  • DHU process exits immediately, no error: it was likely killed by whatever launched it rather than failing on its own — see the warning under Connect and launch the DHU.