Imira mirrors the phone screen and audio to a Miracast sink - a TV or an HDMI dongle - over Wi-Fi Direct. No app on the TV, no cables, no network: the phone talks to the sink directly. As far as I know this is the first working Wi-Fi Display source for Sailfish OS.
WHAT IS STABLE, WHAT IS NOT
- The core Miracast function - mirroring your own screen and audio to a TV/dongle - already works well and stably on the tested hardware.
- The convergence direction (using the TV as a separate desktop with its own apps) is early and ***very experimental***.
- Verified on ONE device only: Xperia 10 III (Sailfish OS 5.0.0.62), against a Microsoft Wireless Display Adapter V2 and an LG webOS TV, using the phone's internal Wi-Fi. Other devices and sinks are untested.
- Known rough edge: playing a video in the Gallery WHILE casting can crash the Gallery's playback (hardware encoder and decoder share the video core).
PLEASE READ - WHAT THE PACKAGE INSTALLS SYSTEM-WIDE
Miracast on Sailfish is not possible with the stock system, so this package is invasive by necessity:
- a root systemd service (imira.service) that does the Wi-Fi Direct setup, the WFD/RTSP handshake, screen capture via the Lipstick recorder interface, and H.264/RTP streaming - enabled and started at boot;
- a bundled, P2P-capable wpa_supplicant under /usr/libexec/imira/ (the stock Sailfish wpa_supplicant has Wi-Fi Direct compiled out) - used only while casting;
- a PulseAudio policy file so the daemon can capture the audio monitor without touching the microphone;
- the app runs without the Sailfish sandbox, because it exchanges control/status files with the daemon.
Nothing leaves your network - the phone streams directly to the sink. Removing the app removes all of it.
STATUS AND RESPONSIBLE USE
Proof of concept / work in progress, shared as is, no warranty (GPLv3). This touches Wi-Fi and system audio deeply and runs a root daemon; install it because you want to experiment with Miracast on Sailfish, not because you need a polished tool. Feedback with your device and sink model is welcome on the issue tracker.
ARCHITECTURES
aarch64 (Sailfish OS 5.0+). No armv7hl build.
Written with Claude Code (Anthropic).
Source, issues, releases: https://github.com/JimKnopfIoT/harbour-imira
| Attachment | Size | Date |
|---|---|---|
| 1.38 MB | 18/08/2026 - 17:22 |
- Convergence desktop: window management (move, resize grip, minimize,
maximize, close, stacking, opaque backdrops), dock as task bar with
live-reloaded per-user app selection, external keyboard/mouse with
Bluetooth-reconnect resilience and correct keycodes, per-app content
orientation compensation, no on-screen keyboard on the TV, TV view page
on the phone (opt-in live preview, per-process convergence load monitor),
pixel-perfect TV screenshots via Print key or the app.
Recent comments