Skip to content

Root and PMPatch3

deviloufr-ai edited this page Oct 10, 2026 · 5 revisions

Root and PMPatch3: what works with what

Dashwheel works on a plain head unit. Root and the PMPatch3 module unlock more. Features that need something your unit doesn't have are hidden, not broken: the app looks for a privileged shell at start and only offers what it can do. In Settings, one card per group says how many more settings root would bring.

Google Play edition: it never looks for root, the unit's ADB or Magisk, so only the No root column applies to it. The GitHub edition has everything below. See Installation and Updates.

The four levels

Level What it is How to get it
1. No root A normal app install Install the APK
1b. One-time grant WRITE_SECURE_SETTINGS granted once from a computer, no root needed adb shell pm grant com.openauto.dash android.permission.WRITE_SECURE_SETTINGS (Settings → Pop-ups shows the command when it would help; the Play edition's package is com.dashwheel.app)
2. Root shell Magisk su, or the head unit's own internal root ADB (the K706 has one on port 9876, no Magisk needed) Magisk, or nothing to do on a K706
3. Root + PMPatch3 Magisk (24+, Zygisk on) with the PMPatch3 module: Android grants Dashwheel the firmware's system permissions (INTERNAL_SYSTEM_WINDOW, INJECT_EVENTS…) Settings → System → Unit tools → Google Maps inside a tile downloads, checks and installs it; then reboot. That row should then say Set up

PMPatch3 trade-off: it makes Android skip signature checks for system permissions, so any app on the unit could claim them. Install only apps you trust.

Feature matrix

✅ works · ⚠️ partly / with limits · ❌ not available

Feature No root One-time grant Root shell Root + PMPatch3
Dashboards, widgets, designs, themes, skins, templates ✅ ✅ ✅ ✅
Built-in map (MapLibre), search, routes and turn-by-turn guidance ✅ ✅ ✅ ✅
Google Maps / Waze next turn (Directions tile) ✅ ¹ ✅ ¹ ✅ ¹ ✅ ¹
Media tile (any player) ✅ ¹ ✅ ¹ ✅ ¹ ✅ ¹
Real Android widgets in tiles ⚠️ ² ⚠️ ² ✅ ✅
OBD: live data, fault codes, AI mechanic, car care, servicing ✅ ✅ ✅ ✅
Phone link: notifications, messages, calls, drive log, where's my car ✅ ✅ ✅ ✅
Typing from the phone ✅ ³ ✅ ³ ✅ (service turned on by itself) ✅
Apps side by side (system split screen) ✅ ³ ✅ ³ ✅ ✅
Apps in a window over a tile, Maps window tile, Maps dock layouts ❌ ❌ ✅ ✅
Apps inside a tile (Google Maps inside, YouTube Music…), touch included ❌ ❌ ❌ ✅
Canvas theme with Maps or Waze under the dashboard ❌ (built-in map only) ❌ ❌ ✅
Car data from the unit's CAN box: doors, lights, mileage, fuel, tyres, seat belt ⚠️ ⁴ ✅ ✅ ✅
CAN monitor tile (raw frames) ❌ ❌ ✅ ✅
Your own door / radar / climate / belt alerts instead of the unit's pop-ups ❌ ✅ ✅ ✅
Your own call card instead of the unit's call pop-up ✅ ⁵ ✅ ✅ ✅
Reverse view: lines + radar over the stock camera ✅ ³ ✅ ³ ✅ ✅
Reverse view: Dashwheel's own camera picture (takeover), hide stock lines ❌ ❌ ✅ ✅
Steering-wheel button map ⚠️ (keys apps receive) ⚠️ ✅ (also raw input + CAN) ✅
Head-unit keys (Maps / voice / custom key targets) ❌ ❌ ✅ ✅
Volume that follows speed, spoken alerts, start-up briefing ✅ ✅ ✅ ✅
Volume bar in Dashwheel's design instead of the unit's ❌ ❌ ⚠️ (needs Magisk, applied at the next start) ✅
Phone's GPS standing in for the unit's ❌ ❌ ✅ ✅
Waze's next turn read off its screen ✅ ³ (GitHub edition) ✅ ³ ✅ ✅
Window tile text and icon size (Waze bigger) ❌ ❌ ❌ ✅
An app inside a tile keeps every screen it opens inside the tile (system display helper) ❌ ❌ ❌ ✅
Waze's exact destination from its own files (second screen's route) ❌ ❌ ✅ ✅
Dashwheel comes in front by itself at start-up ⚠️ (with Display over other apps allowed) ⚠️ ✅ ✅
Car signals: learn doors / reverse / lights / belt, raw sniffer ⚠️ (what apps can read) ✅ ✅ ✅
Wi-Fi / Bluetooth on-off widgets ✅ ✅ ✅ ✅
Wi-Fi networks / Bluetooth devices: join or connect from the tile ❌ (opens Android's settings) ❌ ❌ ✅
Screen light widget, do not disturb switch ⚠️ (asks for the permission once) ✅ ✅ ✅
Speed limit, speed cameras, weather alerts, fuel log, parking timer, radio presets ✅ ✅ ✅ ✅
Gemini Live opened from ⋮ / wheel (the Gemini app) ❌ ❌ ✅ ✅
Dashwheel's own Gemini voice assistant (Live API, your key) ✅ ✅ ✅ ✅
Head-unit monitor tile: RAM, storage ✅ ✅ ✅ ✅
Head-unit monitor tile: CPU, temperatures per app, Stop an app ❌ ❌ ✅ ✅
Hide the unit's top bar over windows (opt-in) ❌ ❌ ✅ (QF firmware) ✅
Install as a system app (/system/priv-app) ❌ ❌ ✅ ✅
Boot Logo (K706 / QF only) ❌ (Save to USB only) ❌ ✅ ✅
Second Screen (Raspberry Pi) ‐ experimental: cluster ✅ ✅ ✅ ✅
Second screen: the 3D map on a cluster page ✅ ✅ ✅ ✅
Second screen: a copy of an app inside a tile (Google Maps on the cluster, used on the head unit) ❌ ❌ ❌ ✅
Second screen: an app moved to the Pi on its own ❌ ❌ ✅ ⁶ ✅ ⁶
Updates from GitHub (one-tap, Android confirms) ✅ ✅ ✅ ✅
Install an older release over a newer one ❌ ❌ ❌ ✅ (PMPatch3 lifts the downgrade check)

Notes

  1. Needs Notification access for Dashwheel (one switch in Android settings; covers media, directions and the notifications feed).
  2. Android lets a normal app host widgets only if you confirm each one; as a system app (root) Dashwheel binds them itself.
  3. Needs Dashwheel's accessibility service on (Settings → Accessibility → Dashwheel). With a root shell Dashwheel turns it on by itself at start.
  4. Without the grant or root, only the CAN box data the firmware broadcasts to every app (such as steering angle and reverse) is read; doors and car status need the grant.
  5. The call card works from the phone link's call state; hiding the unit's own call pop-up uses a broadcast that needs no root on QF firmware.
  6. Android 10 and 11 only: Android 12 dropped the window stacks this moves. On newer units use the copy of a tile instead.

Which one should I pick?

  • Just want a nice dashboard with car data? No root is fine.
  • Have a K706 or another QF unit? You already have the root shell (internal ADB): windows, CAN box data, boot logo and the reverse camera takeover are there.
  • Want Google Maps inside a tile or under the Canvas dashboard? You need Magisk + PMPatch3.

How to check what you have

  • Settings → System → Unit tools → Google Maps inside a tile: Set up means PMPatch3 works.
  • Add → Apps, then an app: In a tile says Runs inside the tile (PMPatch3) or Stays open in a window (root shell); Side by side is always there.
  • Logs from a computer: adb logcat -s EmbeddedApp DockShell RomPopups.

See also Apps on the Dashboard and Tested Hardware.

Clone this wiki locally