Automatically import GPG key (required once)

September 14, 2026 · View on GitHub

KCast Logo

KCast

KCast License: GPLv3 PayPal kdeplasma

Description

KCast is a KDE Plasma 6 widget that lets you cast video files or YouTube URLs to a Chromecast device in your local network. It supports device discovery, local media playback (served via catt's own temporary HTTP server), and drag-and-drop integration with browsers and file managers like Dolphin.

If KCast is useful to you, support continued KDE/Linux development through GitHub Sponsors.

Caution! starting with version 0.0.2 we need catt installed.

Homepage

https://www.agundur.de/

Related article: Sunshine/Moonlight on Linux — Stream Your KDE Desktop to a TV with Low Latency

Sharing your whole desktop?

KCast casts video files and YouTube URLs — for the whole desktop, there's Moonbeam, our companion app for exactly that: share your whole KDE Plasma desktop wirelessly with any Moonlight device, one click and a PIN.

Features

  • Chromecast discovery using Avahi (mDNS)
  • Media playback controls: Play, Pause, Resume, Stop, seek (-10s/+10s buttons plus a draggable position slider)
  • Playlist: search (supports regex), shuffle, repeat (off/all/one), drop a folder or an .m3u/.m3u8 file to queue up multiple tracks
  • Local media files, served to the Chromecast via catt's own temporary local HTTP server
  • YouTube and thousands of other sites, plus direct HLS (.m3u8) stream URLs — catt resolves these via yt-dlp under the hood. Live-tested and confirmed working end to end. If a site stops working, update yt-dlp (pipx inject catt yt-dlp --force for a pipx install, or just update your catt package on RPM-based distros — it depends on your system yt-dlp, which stays current through normal updates)
  • Drag & Drop from Firefox, Chrome, or Dolphin

Visuals

KCast playlist KCast seek bar

🛠️ Installation

KCast is pure QML — no C++ plugin, no compiler needed to install it.

Quick install (no build required)

Download the .plasmoid file from the latest release, then either drag it onto your desktop / drop it in Plasma's "Add Widgets" → "Install Widget From Local File", or from a terminal:

kpackagetool6 --type Plasma/Applet --install kcast-*.plasmoid
# already installed, upgrading to a newer version:
kpackagetool6 --type Plasma/Applet --upgrade kcast-*.plasmoid

KCast is officially packaged and maintained for openSUSE (RPM) and Debian (.deb) only. COPR (Fedora) and AUR (Arch) are no longer maintained — both were more than we could keep up to date alongside the two supported channels. If you'd like to take over maintaining either one, please open an issue.

Build from source (optional)

Only needed if you want the Dolphin service menu integration, translations, or a proper distro-tracked install — functionally identical to the .plasmoid above otherwise, still no compiler involved:

git clone https://github.com/Agundur-KDE/KCast.git

mkdir build && cd build

cmake ..

make

make install (as root) 

Installing KCast via the openSUSE Build Service Repository

build result

For openSUSE Tumbleweed (and compatible systems):

# Add the repository
sudo zypper ar -f https://download.opensuse.org/repositories/home:/Agundur/openSUSE_Tumbleweed/home:Agundur.repo

# Automatically import GPG key (required once)
sudo zypper --gpg-auto-import-keys ref

# Refresh repository metadata
sudo zypper ref

# Install KCast
sudo zypper in kcast

catt is packaged in the same home:Agundur repository and pulled in automatically as a dependency — no extra step needed.

Firewall (firewalld, default on openSUSE):

sudo firewall-cmd --permanent --add-service=mdns
sudo firewall-cmd --permanent --add-port=8009/tcp
sudo firewall-cmd --permanent --add-port=45000-47000/tcp
sudo firewall-cmd --reload

Install on Debian (Trixie)

Prerequisites

  • You’re running KDE Plasma 6 on Debian 13 (Trixie) — e.g. on plasma-desktop / plasma-workspace.

  • Architecture: packages provided are amd64 (x86-64).

sudo apt update
sudo apt install -y pipx
pipx ensurepath   # add ~/.local/bin to PATH (log out/in if prompted)
pipx install catt
catt --version

Download the .deb from the latest release, then:

sudo apt install ./kcast_*.deb

Dependencies

To run KCast successfully, the following software must be installed:

Required

KCast is based on:

  • catt — on openSUSE this comes automatically as an RPM dependency from the same repo. On Debian there's no distro package for it, install via pipx install catt.

  • Python 3

  • Avahi Daemon – for local network device discovery (mDNS) (systemctl status avahi-daemon)

Networking & Firewall:

  • Your PC and the Chromecast must be on the same LAN

  • mDNS must be allowed through the firewall

  • Local files aren't served by KCast itself — catt spins up its own temporary local HTTP server on a random port to serve them, see below.

To allow via firewalld:


  • sudo firewall-cmd --permanent --add-service=mdns

  • sudo firewall-cmd --permanent --add-port=8009/tcp

  • sudo firewall-cmd --reload

  • For the casting of local files to work you need to allow the port range 45000-47000 over tcp (catt's local file server picks a port in this range).

Usage

  • Switch on a chromecast enabled device in your locale network.
  • drop a video file from Dolphin and/or Web-Browser on it an hit "play"

Tested Hardware

KCast has been tested successfully with the JMGO N1S Pro 4K Triple Laser Projector (supports high-quality Chromecast streaming) and a Samsung HW-Q935GD 9.1.4-channel Q-Soundbar.

Troubleshooting

Before filing a bug, run the included diagnostic script — it checks catt, firewalld rules (mDNS service, Cast-Control port 8009, and the 45000-47000/tcp range used for casting local files), and device discovery against your network directly, independent of the widget. No need to clone the whole repo, download it directly:

curl -O https://raw.githubusercontent.com/Agundur-KDE/KCast/main/setup_test.sh
chmod +x setup_test.sh   # a plain download doesn't carry the executable bit

./setup_test.sh
# or with a device IP, to also check the Cast-Control port directly:
./setup_test.sh <chromecast-ip>

Support

  • Open an issue in git, and please paste the output of ./setup_test.sh (see Troubleshooting) — it rules out most network/firewall causes in one step.

KCast Issues

UPnP/DLNA (Kodi etc.)

Under consideration for a future release, tracked in #8 — not started yet.

Contributing

accepting contributions ...

KCast

Authors and acknowledgment

Alec

License

GPL-3.0-or-later

Project status

active