A clean front-end plugin to Volumio, the Linux distribution for music playback. Volumio Touch Display Lite is written in Flutter and runs on flutter-pi.

Overview

EN | 中文

Touch Display Lite plugin for Volumio 3

Feng Zhou, 2021-12

Touch Display Lite is a clean and fast user interface for Volumio 3, the Linux distribution for music playback. It works with Raspberry Pi and the official 7-inch touch screen (and potentially other touch screens). Written in Flutter and using the fast flutter-pi runtime, it aims to be fast, minimalistic and modern.

The end result looks like this,

Features,

  • Designed for landscape mode. The official Volumio Touch Display plugin works best in portrait.
  • Good performance even on Raspberry Pi 3.
  • Touch-native UI similar to mobile apps. It runs on flutter-pi and no X-window is used.

Limitations,

  • Functions are minimal, for example only playing from the music library, not streaming service, etc.

Using Touch Display Lite

Touch Display Lite is a plugin to Volumio 3. It is written with Raspberry Pi 3 or 4, and the Official Raspberry Pi 7-inch touch display in mind. To try it, first set up Volumio on Raspberry Pi. Then downloading Touch Display Lite and set up as follows,

  1. If you haven't done so, enable SSH access to Volumio by visiting volumio.local/dev.
  2. Get touch_display_lite.zip to volumio and unzips to a tmp dir.
  3. In the dir: volumio plugin install
  4. If you need Chinese font: sudo apt install -y fonts-noto-cjk
  5. REBOOT (by reboot) to load video driver and fix screen rotation
  6. Enable the plugin.

Building from Source

Here are instructions to build Touch Display Lite from scratch. You need,

  • Raspberry Pi 3 or 4.
  • Official Raspberry Pi 7-inch touch display.
  • Your dev computer (Windows/Mac/Linux)
  • A Linux x64 computer or VM (for compiling app.so)

First, take a look at flutter engine binaries repository to see which version of Flutter is available for Raspberry Pi. As of writing it is 2.5.3.

Go ahead and install that version of Flutter on the dev computer.

Check out flutter engine binaries on the Linux computer.

mkdir -p work/flutter
cd work/flutter
git clone https://github.com/ardera/flutter-engine-binaries-for-arm

Build Touch Display Lite on dev computer

cd touch_display_lite

# Check build_release.sh for changes of dir locations, etc.
# This script build the flutter bundle locally, then ssh to the linux box to build app.so
# Then check lib/main.dart for changes to serverAddr (volumio.local works for me), defaultDir, etc.
./build_release.sh

# If successful, build/flutter_assets will contain artifacts, including app.so
# The plugin will be at build/touch_display_lite.zip

Assuming Volumio 3 is already installed on Pi, follow instructions on flutter-pi page to install flutter-pi, the Flutter runtime for Pi. Compilation should only take a few minutes.

Now you can get the app onto Pi, and run it to see if it works,

rsync -av build/flutter_assets/* [email protected]:digiplayer/
ssh [email protected]
flutter-pi --release touch_display_lite

You should see Touch Display Lite as shown at the beginning of this README.

To actually install the plugin into Volumio, use build/touch_display_lite.zip

mkdir touch_display_lite
miniunzip touch_display_lite.zip -d touch_display_lite
cd touch_display_lite
volumio plugin install

Then go to Volumio web interface, and go to Plugins->Installed to launch Touch Display Lite.

Why Volumio?

Here is what I like about this setup,

  • It plays music anywhere in the home network. I mostly use the device to play music files stored in a NAS. It is very convenient. I do not even need to touch the device to add new music.
  • Good audio quality with digital connections. I attached a HiFi Berry Digi compatible HAT to the Pi, and output audio through SPDIF fiber to my soundbar. I 3D-printed a back-cover (OpenSCAD design here) for better looks.
  • Use your phone as a remote. Just point phone browser to http://volumio.local. Then you can browse and control your music playing there, from couch or anywhere. The Pi's play screen stays synchronized. On iPhone, touch share->add to home screen for easier access later.
  • Volumio has a tons of audio features that I have not find time to explore yet.
You might also like...

Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

Flutter on Windows, MacOS and Linux - based on Flutter Embedding, Go and GLFW.

go-flutter - A package that brings Flutter to the desktop Purpose Flutter allows you to build beautiful native apps on iOS and Android from a single c

Jan 6, 2023

A simple-to-use flutter update package for Windows, MacOS, and Linux.

A simple-to-use flutter update package for Windows, MacOS, and Linux.

Updat - The simple-to-use, flutter-based desktop update package Updat is a simple-to-use reliable flutter-native updater that handles your application

Dec 21, 2022

A cross-platform app ecosystem, bringing iMessage to Android, PC (Windows, Linux, & even macOS), and Web!

BlueBubbles Android App BlueBubbles is an open-source and cross-platform ecosystem of apps aimed to bring iMessage to Android, Windows, Linux, and mor

Jan 8, 2023

Flutter library for window blur & transparency effects for on Windows & Linux. 💙

Flutter library for window blur & transparency effects for on Windows & Linux. 💙

flutter_acrylic Window blur & transparency effects for Flutter on Windows & Linux Installation Mention in your pubspec.yaml. dependencies: ... flu

Dec 31, 2022

A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

A tutorial for creating an Ubuntu Linux Flutter app, using the yaru theme

Building a Yaru app with Flutter Summary URL https://github.com/ubuntu/user_manager Category Environment Linux Status Feedback Link Author Frederik Fe

Dec 21, 2022

Embedded Linux embedding for Flutter

Embedded Linux embedding for Flutter

Embedded Linux (eLinux) embedding for Flutter This project was created to develop non-official embedded Linux embeddings of Flutter. This embedder is

Dec 30, 2022

A flutter application to monitor your Linux PC statistic.

A flutter application to monitor your Linux PC statistic.

Linux Stats App A flutter application to monitor your Linux PC statistic. Screenshots Installation Download or clone the repository: $ git clone https

Dec 17, 2022

Embedded Flutter runtime targeting Embedded Linux with Wayland

ivi-homescreen IVI Homescreen for Wayland Strongly Typed (C++) Lightweight Clang 11 Release Stripped = 151k GCC 9.3 Release Stripped = 168k Source run

Jan 6, 2023

A small karaoke app made in Flutter for Linux

A small karaoke app made in Flutter for Linux

Karaoke app for linux A small karaoke/lyrics display for the currently running VLC song. Video: Make sure the songs have metadata (at least title and

Jan 7, 2023
Releases(v0.2.0)
  • v0.2.0(Jan 1, 2022)

    I am happy to release Touch Display Lite 0.2.0.

    What's New:

    1. Dark Mode. You can enable dark mode on the settings screen.
    2. Default directory setting. This is also changeable on the settings screen. Press "Home" tab once to go to the default directory. Press it once more to go to "root" (the list of all music sources".
    3. Repeat button. It was missing in v0.1.0.

    The installation instructions in README are also improved.

    Source code(tar.gz)
    Source code(zip)
    touch_display_lite.zip(11.71 MB)
  • v0.1.0(Dec 19, 2021)

Owner
Feng Zhou
Feng Zhou
🎞 Flutter media playback, broadcast & recording library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. (Both audio & video)

dart_vlc Flutter media playback, broadcast, recording & chromecast library for Windows, Linux & macOS. Written in C++ using libVLC & libVLC++. Install

Hitesh Kumar Saini 417 Dec 29, 2022
🎵 Elegant music app to play local music & YouTube music. Distributes music into albums & artists. Has playlists & lyrics.

Harmonoid Elegant music app to play local music & YouTube music. Download Now ?? Windows, Linux & Android. Feel free to report bugs & issues. Loving t

Harmonoid 2.5k Jan 8, 2023
An 🎵 audio playback library for Flutter Desktop. Supports Windows & Linux. Based on miniaudio.

✒ libwinmedia is sequel to this project. It provides network playback, better format support, control & features. An audio playback library for Flutte

Hitesh Kumar Saini 50 Oct 31, 2022
🎵 A cross-platform media playback library for C/C++ with good number of features (only Windows & Linux).

libwinmedia A cross-platform media playback library for C/C++ & Flutter with good number of features. Example A very simple example can be as follows.

Harmonoid 38 Nov 2, 2022
A light-weight Flutter Engine Embedder for Raspberry Pi that runs without X.

?? NEWS The new latest flutter gallery commit for flutter 2.2 is 633be8a There's now a #custom-embedders channel on the flutter discord which you can

Hannes Winkler 1.1k Jan 1, 2023
Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size.

desktop_window Flutter plugin for Flutter desktop(macOS/Linux/Windows) to change window size. Usage import 'package:desktop_window/desktop_window.dart

ChunKoo Park 72 Dec 2, 2022
File picker plugin for Flutter, compatible with mobile (iOS & Android), Web, Desktop (Mac, Linux, Windows) platforms with Flutter Go support.

A package that allows you to use the native file explorer to pick single or multiple files, with extensions filtering support.

Miguel Ruivo 987 Jan 6, 2023
A Flutter plugin to read 🔖 metadata of 🎵 media files. Supports Windows, Linux & Android.

flutter_media_metadata A Flutter plugin to read metadata of media files. A part of Harmonoid open source project ?? Install Add in your pubspec.yaml.

Harmonoid 60 Dec 2, 2022
A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter

quick_usb A cross-platform (Android/Windows/macOS/Linux) USB plugin for Flutter Usage List devices List devices with additional description Get device

Woodemi Co., Ltd 39 Oct 1, 2022
A Flutter Web Plugin to display Text Widget as Html for SEO purpose

SEO Renderer A flutter plugin (under development) to render text widgets as html elements for SEO purpose. Created specifically for issue https://gith

Sahdeep Singh 103 Nov 21, 2022