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

Display Platforms

The Smart Panel display app runs on multiple platforms. This page covers platform-specific setup details for manual installations. If you used the install script or a pre-built image, this is already handled for you.


Platform Setup

Raspberry Pi (flutter-pi)

The display app uses flutter-pi  to render directly to the display via DRM/KMS. No desktop environment (X11 or Wayland) is needed.

Supported boards: Raspberry Pi 3B+, 4, 5, Zero 2W

Prerequisites

KMS must be enabled in the boot configuration. Open /boot/firmware/config.txt and ensure this line is present:

dtoverlay=vc4-kms-v3d

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

Your user must have access to the render group:

sudo usermod -a -G render ${USER}

Reboot after making changes:

sudo reboot

Manual Install

Install 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

Download the Display App

Download the correct release asset for your architecture:

  • ARMv7 (32-bit): smart-panel-display-flutterpi-armv7.tar.gz
  • ARM64 (64-bit): smart-panel-display-flutterpi-arm64.tar.gz
ARCH=$(uname -m) case $ARCH in armv7l|armv6l) ASSET="smart-panel-display-flutterpi-armv7.tar.gz" ;; aarch64|arm64) ASSET="smart-panel-display-flutterpi-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 a Systemd Service

sudo tee /etc/systemd/system/smart-panel-display.service > /dev/null <<'EOF' [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 EOF

Enable and Start

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

Display Rotation

To rotate the display output, add the -r flag to the ExecStart line in the systemd service:

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

Valid values: 0, 90, 180, 270

mDNS Discovery on flutter-pi

flutter-pi environments may have limited mDNS support. On pre-built Raspbian images, a local mDNS proxy is installed automatically on port 3001 to bridge discovery. If you installed manually and auto-discovery does not work, you can enter the server URL by hand during onboarding, or set up the mDNS proxy service yourself.


Server Discovery

All platforms auto-discover Smart Panel servers on the local network via mDNS. If discovery does not find your server:

  • Enter the server URL manually in the app when prompted during onboarding
  • Check that both devices are on the same subnet — mDNS does not cross subnet boundaries
  • Verify that port 3000 is accessible from the display device (or whichever port your server uses)

The server must have mDNS enabled (FB_MDNS_ENABLED=true in the server configuration) for auto-discovery to work.


What’s Next?

Once your display is running and connected to the server, proceed to Onboarding to create your admin account and configure your dashboard.

Last updated on