Flare

A native Signal messenger client for Linux built with Rust and GTK4, providing a desktop interface to Signal without the Electron runtime.

Flare is a native Signal messenger client for Linux, written in Rust with GTK4 and libadwaita. It connects to Signal's servers using the presage Rust library — a community-maintained Signal protocol implementation — and provides a desktop messaging interface without shipping Electron or Node.js. Flare is not affiliated with Signal Messenger LLC and requires an existing Signal account registered on a phone, which is then linked to the desktop client via QR code.

Features

  • Send and receive Signal messages — full text messaging in individual and group chats
  • Voice messages — record and send voice notes; play received ones in-app
  • Attachments — send and receive images, files, and other media
  • Stickers — send Signal sticker packs in conversations
  • Notifications — desktop notifications via libnotify for new messages
  • QR code linking — link Flare to an existing Signal account by scanning a QR code with your phone (no separate registration flow needed on the desktop)
  • Native GTK4 / libadwaita — follows the GNOME HIG, respects the system dark/light mode preference, and adapts to narrow screens
  • No Electron — the entire application is a native Rust binary; no Chromium engine, no Node.js, no JavaScript runtime overhead

Installation

Flatpak from Flathub is the primary distribution channel and works on any Linux distribution with Flatpak support:

flatpak install flathub de.schmiddi.Flare

For Debian/Ubuntu and Fedora, use the Flatpak above. There are no official native distribution packages at this time.

# Arch Linux (AUR)
yay -S flare-signal

To build from source you need Rust (stable via rustup), Meson, and the GTK4 and libadwaita development headers:

# Install build dependencies (Debian / Ubuntu)
sudo apt install meson libgtk-4-dev libadwaita-1-dev \
    libsqlite3-dev pkg-config

# Install build dependencies (Fedora)
sudo dnf install meson gtk4-devel libadwaita-devel \
    sqlite-devel pkg-config

# Clone and build
git clone https://gitlab.com/schmiddi-on-mobile/flare
cd flare
meson setup _build --prefix=/usr
ninja -C _build
sudo ninja -C _build install

Usage

Linking Flare to your Signal account

Flare works as a linked device — you keep your phone as the primary Signal account and add Flare as a secondary device.

  1. Open Flare for the first time.
  2. Flare displays a QR code.
  3. On your phone, open Signal → Settings → Linked Devices → Link New Device.
  4. Scan the QR code shown by Flare.
  5. Flare registers as a linked device and begins syncing your conversation history.

Sending a message

Once linked, your conversations appear in the left sidebar. Click any conversation to open it, type in the message field, and press Enter or click Send. To start a new conversation, click the compose icon and search for a contact by name or phone number.

Sending a voice message

Hold the microphone button in the message bar to record a voice note. Release to send. Received voice notes appear as playable audio clips in the conversation.

Flare vs Signal Desktop

FeatureFlareSignal Desktop
Written inRustTypeScript + Electron
Binary sizeSmall (native)Large (bundled Chromium)
Memory usageLowHigh (Electron overhead)
GTK4 / GNOME HIG
Adaptive mobile UI
Official Signal support
End-to-end encryption✅ (Signal protocol)
Voice/video calls❌ (in progress)
Note to self

Flare is the right choice for GNOME users who want a lightweight, native desktop Signal client that fits the desktop environment. Signal Desktop is the official, fully-featured client and remains the better option if you need voice or video calls, or want guaranteed compatibility with every Signal feature. Because Flare uses a community-maintained Signal protocol library, there is a small risk of temporary breakage after Signal server-side changes — the project actively tracks upstream to minimise this.