Always in your panel
Install once. The Cinnamon applet or Xfce tray starts immediately and stays available at future logins. Open the cast menu with Super + K.
MADE FOR YOUR LINUX DESKTOP
Put your screen, films, and music on the TV. A familiar cast menu for Linux, with the controls right where you need them.
LESS SETUP. MORE WATCHING.
Install once. The Cinnamon applet or Xfce tray starts immediately and stays available at future logins. Open the cast menu with Super + K.
Mirror a monitor with desktop audio, choose a media file, or use Nemo’s “Cast to device” action. The same session appears in your panel and CLI.
Adjust output resolution, target frame rate, and the HLS playback buffer. Balance picture quality, encoding load, and delay for your setup.
KNOW BEFORE YOU CAST
This is a young project, tested on real devices. Protocol support varies—here’s what works and what’s still taking shape.
Screen mirroring, local files, and media URLs. Automatically transcodes local formats the receiver can’t decode.
Screen mirroring and media playback for compatible smart TVs. Tested with a Samsung TV; files are served in their original format.
Native desktop mirroring with audio has been confirmed on a Samsung TV from Debian 13. Other receivers and longer sessions still need testing.
Launch GNOME Network Displays from the menu. Choose and control your receiver there. Native Miracast support is not implemented yet.
MAKE IT FIT
Mirroring settings are saved in the desktop interface and apply to the next cast. Start with the defaults, then adjust to suit your connection.
Lower buffers can stutter on unreliable Wi-Fi. The buffer setting applies to HLS playback; DLNA buffering is controlled by the TV.
FROM TERMINAL TO TELEVISION
Run the installer as your normal desktop user. On Debian and Ubuntu-based systems, it installs missing dependencies and enables your desktop integration.
Open source under the MIT license. Keep the checkout in place after installation.
git clone https://github.com/anolis/streaming-service.git
cd streaming-service
./install.sh all# Then find a device and start casting
~/.local/bin/linuxcast devices
~/.local/bin/linuxcast mirror# Or open Cast from your desktop panel.
A FEW PRACTICAL DETAILS
Cinnamon has a native panel applet. Xfce has a tray icon and flyout. The command line also works independently. The current screen capture path requires an X11 session.
Chromecast mirroring uses HLS and deliberately keeps a playback cushion. Its default delay is around 10 seconds, so it suits watching and presenting better than interactive gaming. Native AirPlay uses a separate mirroring transport, but measured latency is not yet available.
Make sure the computer and receiver are on the same reachable local network, enable casting on the TV, and refresh the device list. Network isolation can block discovery. HTTP-based casting also needs the TV to reach a randomly selected port on your computer.
No. Pairing and URL-video support are separate capabilities. The tested Samsung rejects URL playback, so native screen mirroring uses a separate backend.
Use the repository’s issue tracker. Include your Linux distribution, desktop, receiver model, protocol, and the error message. Avoid posting pairing credentials or private media.