Skip to Content
🚀 We just launched! Please star us on Github!

Display Only Installation

This guide walks you through installing the Smart Panel display app on a device that connects to an existing Smart Panel server on your network.

Use this when you already have a server running and want to add one or more display panels around your home.


Prerequisites

  • A Smart Panel server already running on your network
  • The server’s IP address or hostname (e.g., 192.168.1.100 or smart-panel.local)
  • A display device: Raspberry Pi with a screen, Linux PC, or Android device

Choose Your Platform

Raspberry Pi (via flutter-pi)

The panel app runs on Raspberry Pi using flutter-pi — a lightweight Flutter runtime that renders directly to the display without needing X11 or Wayland.

One-Liner Install

curl -fsSL https://get.smart-panel.fastybird.com/panel | sudo bash \ -s -- --backend http://YOUR_SERVER_IP:3000

Replace YOUR_SERVER_IP with the IP address of your Smart Panel server.

The script will automatically detect that you’re on a Raspberry Pi and install the correct flutter-pi variant. Add --kiosk to start the display automatically on boot.

That’s it! The display app will be installed and configured. Skip to Post-Installation below.


Manual Installation

If you prefer to install manually:

Install flutter-pi Dependencies

sudo apt install cmake libgl1-mesa-dev libgles2-mesa-dev libegl1-mesa-dev \ libdrm-dev libgbm-dev libsystemd-dev libinput-dev libudev-dev \ libxkbcommon-dev git -y

Build and Install flutter-pi

sudo mkdir -p /opt/flutter-pi sudo chown -R ${USER}: /opt/flutter-pi git clone --depth 1 https://github.com/ardera/flutter-pi.git /opt/flutter-pi cd /opt/flutter-pi mkdir build && cd build cmake .. make -j$(nproc) sudo make install

Configure Display Access

Give your user permission to access 3D acceleration:

sudo usermod -a -G render ${USER}
⚠️

This is a security-sensitive operation. If you prefer not to do this, run the display app with sudo instead.

Enable KMS/DRM

Open the boot config:

sudo nano /boot/firmware/config.txt

Make sure this line is present and not commented out:

dtoverlay=vc4-kms-v3d

If you see dtoverlay=vc4-fkms-v3d (fake KMS), remove or comment it out.

Reboot to apply:

sudo reboot

Download the Display App

After reboot, download the pre-built display app from GitHub Releases:

ARCH=$(uname -m) case $ARCH in armv7l|armv6l) ASSET="smart-panel-display-armv7.tar.gz" ;; aarch64|arm64) ASSET="smart-panel-display-arm64.tar.gz" ;; esac sudo mkdir -p /opt/smart-panel-display curl -sL "https://github.com/FastyBird/smart-panel/releases/latest/download/${ASSET}" \ | sudo tar -xzf - -C /opt/smart-panel-display

Create Systemd Service

sudo nano /etc/systemd/system/smart-panel-display.service

Paste this configuration:

[Unit] Description=Smart Panel Display App After=network.target [Service] User=root WorkingDirectory=/opt/smart-panel-display ExecStart=/usr/local/bin/flutter-pi --release /opt/smart-panel-display Restart=on-failure RestartSec=5 SupplementaryGroups=video render input [Install] WantedBy=multi-user.target
💡

Want to rotate the display? Add the -r flag to the ExecStart line:

ExecStart=/usr/local/bin/flutter-pi -r 270 --release /opt/smart-panel-display

Valid rotation values: 0, 90, 180, 270

Enable and start the service:

sudo systemctl enable smart-panel-display sudo systemctl start smart-panel-display

Post-Installation

Verify the Display Service

For Linux-based installations:

sudo systemctl status smart-panel-display

To view logs:

sudo journalctl -u smart-panel-display -f

Connect to Your Server

On first launch, the display app will either:

  • Auto-discover the server via mDNS (if the server has FB_MDNS_ENABLED=true)
  • Prompt you to enter the server address manually

If the display can’t find the server, make sure both devices are on the same network and that port 3000 (or your configured port) is accessible.

Managing the Service

# Start the display sudo systemctl start smart-panel-display # Stop the display sudo systemctl stop smart-panel-display # Restart the display sudo systemctl restart smart-panel-display # Disable auto-start on boot sudo systemctl disable smart-panel-display

Updating the Display App

To update to the latest version, re-run the install script:

curl -fsSL https://get.smart-panel.fastybird.com/panel | sudo bash

Or manually download the new release and replace the files in /opt/smart-panel-display/.


What’s Next?

Your display is connected to the server. Head over to the Onboarding guide to create your admin account and start configuring your dashboard.

Last updated on