Skip to content
Get started

Updating the system WebView

An outdated WebView is the most common first-run failure on these panels, so it is the first thing to check when a dashboard will not draw.

The panel app’s built-in renderer relies on Android’s system WebView, and most of these panels ship with one far too old to run a current Home Assistant frontend. Out of the box that can produce a blank or broken dashboard, missing cards, or “browser not supported”. A supported panel can get a verified WebView from Home Assistant, as the next paragraph describes. The Electron WF1589T and ZHICAI SMT1019 have Google Play, so update Android System WebView from the Play Store on the panel, or use the Play WebView development channel.

In the unreleased 1.0.0-rc2 version, installation and panel-app updates started from Home Assistant can also install a verified compatible WebView. This needs a supported profile, a non-Play-managed provider with the same package and signer as the selected build, and a permitted installation route. If that update remains unfinished, choose Try again in the panel’s update Repair. It checks existing work before requesting another attempt; there is no scheduled retry. An old engine does not prevent setup and pairing, but the dashboard may still fail to display. The TPA10’s signature-locked stock provider still needs its documented root swap before a differently signed replacement can be used.

Use the existing method for your panel below when the managed route is unavailable. This is hardware work: unlike installing and updating Panel Assistant, it needs a computer with Android’s adb tool. A direct adb sideload of the standard Android System WebView (package com.android.webview) needs a build matched to the panel’s Android version and ABI, with no third-party app store involved.

Stock versions and known-working replacements

Section titled “Stock versions and known-working replacements”

“Stock” is what the vendor firmware ships from the factory, verified from firmware inspection or a live device. “Replacement” is what is confirmed working after installation. Redistributable builds are mirrored as ha-paneld release assets; sideload one with adb install -r <file>.

Panel ABI Stock (vendor firmware) Replacement Download
NSPanel Pro 86P (PX30) arm64-v8a Chromium 107.0.5304.105 on firmware 1.5.0 and 3.5.1; 131.0.6778.200 on 4.0.12 LineageOS 138.0.7204.63, the last build for Android 8.1 release asset, APKMirror
NSPanel Pro 120P (PX30) arm64-v8a Chromium 129.0.6668.70 on firmware 4.0.12; other firmware not established LineageOS 138.0.7204.63, verified on the 120P; Android 8/9 major ceiling Use the 138 release asset above
TPA10 (rk3566) armeabi-v7a Chrome 83 (com.android.webview), too old for a current Home Assistant frontend LineageOS SystemWebView 150.0.7871.63. Vanilla Chromium, so camera streams autoplay (Cromite 147 blocks autoplay and is kept as a fallback). Signature-locked: needs the root swap, not a plain sideload. arm asset
WF1589T (rk3576) arm64-v8a Google Play WebView, updated automatically Update through the Play Store; no sideload needed none
S9E (rk3566) arm64-v8a Chromium 83.0.4103.120 on 2024-07 firmware; 131.0.6778.200 on 2025-12 firmware Not established on either firmware; root and userdebug alone do not verify a replacement none
SMT1019 (rk3576) arm64-v8a com.google.android.webview 124.0.6367.179, Android 14 with Google Play Update Android System WebView from the Play Store; no sideload needed. Do not sideload a com.android.webview build: a product overlay supplies this panel’s provider list, so a sideloaded provider may not be selected none
ZX-SMT156 (RK3566_T) arm64-v8a Google WebView 149.0.7827.164 (reporter firmware) Update through Google Play; no fixed reachable ceiling established none
Shelly Wall Display, original (MT6580) armeabi-v7a unknown (Android 7 base ROM) com.google.android.webview 119.0.6045.194 from the official Shelly ZIP; see the Shelly Wall Display family page none
Shelly Wall Display X2 (SC7731E) armeabi-v7a unknown (Android 8.1 base ROM) Not established; check adb shell dumpsys webviewupdate none
Shelly Wall Display X2i (RK3326-S) arm64-v8a Chromium 131.0.6778.200 on factory firmware 2.5.4 Chromium 131, vendor only; no newer Shelly-signed provider available none
Shelly Wall Display X1i (arm64) arm64-v8a unknown (Android 11 base ROM; not in the Shelly OTA) Not established; check adb shell dumpsys webviewupdate none
Shelly Wall Display XL arm64-v8a Google WebView 131.0.6778.105 on reporter firmware Not established; the installed signer and update route are unverified none
Meta Portal 10-inch (2nd gen) arm64-v8a Meta WebView, Chromium 131.0.6778.39 Chromium 131, vendor only; no newer Meta WebView available none

All mirrored builds are in the Panel WebView mirror release, a community list of known-working versions. If you have one working on another panel or version, contributions are welcome.

The Shelly X2i is limited to Chromium 131 on the verified firmware: Android accepts only Shelly’s signature for an update, and rejects a sideloaded Google provider. The Meta Portal 10-inch (2nd gen) is also limited to Chromium 131: its locked provider list accepts only Meta’s WebView. On the verified stock firmware, only the vendor can supply a newer accepted engine, and none is available. The community Portal provisioning research has not established a qualified WebView upgrade route. Chromium 131 no longer receives Chromium security fixes. This does not establish a current dashboard failure. Other Portal models are unverified; do not assume they share the measured model’s version or ceiling.

  1. Download a current Android System WebView APK with the package name com.android.webview. LineageOS System WebView is the recommended build across Android versions: 138 is the last major for Android 8/9, and the mirrored 150 builds require Android 10 or later and a verified installation route. It is vanilla Chromium, so it does not carry Cromite’s autoplay block that stops Home Assistant camera streams. It is freely redistributable. A matching package name alone does not establish provider eligibility or signer compatibility. Match your panel’s ABI and use only an established route for its firmware.

  2. Sideload it. This needs no root:

    Terminal window
    adb install -r android-system-webview.apk

    It installs to /data/app and supersedes the stale stock WebView.

  3. Verify the active provider and version:

    Terminal window
    adb shell dumpsys webviewupdate | grep "Current WebView package"

If the panel lists more than one provider, select the new one explicitly:

Terminal window
adb shell cmd webviewupdate set-webview-implementation com.android.webview

or use Developer options, WebView implementation.

Comments

Comments are kept in this page's discussion on GitHub, so loading them connects your browser to GitHub. This browser remembers the choice and loads comments on other pages when you scroll down to them.

We Home Assistant and everything the Open Home Foundation does.

Last updated:

Release notes · Build 439 · b7d569d