---
title: Introduction
description: Low-latency desktop and game streaming from a Linux or Windows host to any of your devices.
---

import { Cards, Card } from 'fumadocs-ui/components/card'

**Punktfunk** streams your desktop or games to your other devices — a laptop, a Mac, a tablet,
a TV — at low latency and at **each device's own resolution and refresh rate**. Run the host on a
Linux machine or a Windows PC, connect a client, and you're streaming.

It's built for the things that make streaming feel native:

- **Your device's exact mode.** The host spins up a virtual display sized to the client that's
  connecting — 1080p60 to your laptop, 1440p120 to your desktop, 4K to your TV — at the same time.
  No letterboxing, no scaling, no juggling your real monitors. On Windows that's Punktfunk's own
  indirect display driver, frames pushed straight in — so there's no physical monitor or dummy HDMI
  plug to deal with, even on the secure desktop.
- **Low latency, GPU end to end.** Frames go straight from the compositor to the GPU encoder —
  NVENC on NVIDIA, Vulkan Video or VAAPI on AMD and Intel on Linux, AMF or QSV on Windows — with no
  CPU copies on the paths where that's been validated (the
  [support matrix](/docs/support-matrix#zero-copy-capture-to-encode) says which), and over a
  transport tuned for responsiveness rather than throughput.
- **Works with the apps you already have.** Punktfunk also speaks the GameStream protocol, so with
  `--gamestream` any **Moonlight** client connects — alongside a faster **native protocol** with
  dedicated apps for **macOS, iOS, tvOS, Linux, Windows, and Android**.
- **Secure by default.** Hosts require a one-time PIN pairing; after that, devices reconnect on a
  pinned identity. No accounts, no cloud.

## Pick your path

**New here? Start with the [Quick Start](/docs/quickstart)** — it takes you from nothing to a
stream and links out to the detail as you need it. The rest of these are for when you want depth.

<Cards>
  <Card title="Quick Start" href="/docs/quickstart" description="From nothing to streaming: set up a host and connect your first client." />
  <Card title="How It Works" href="/docs/how-it-works" description="The ideas behind Punktfunk in a few minutes — virtual displays, the two protocols, pairing." />
  <Card title="Support Matrix" href="/docs/support-matrix" description="What works where — every host desktop, GPU and client app, each cell read out of the code that decides it." />
  <Card title="Install the Host" href="/docs/install" description="One page per system — Ubuntu, Debian, Fedora, Arch, Bazzite, SteamOS, NixOS, or Windows — with the install command and nothing else." />
  <Card title="Switching from Sunshine" href="/docs/switching-from-sunshine" description="Run Punktfunk next to Sunshine, Apollo or Vibeshine while you try it, then migrate — what maps to what." />
  <Card title="Connect a Client" href="/docs/clients" description="Stream with the native app for your device — macOS, Linux, Windows, Android — or any Moonlight client." />
  <Card title="Your Game Library" href="/docs/game-library" description="The host finds your installed games by itself — browse a paired host and launch a title straight into the stream." />
  <Card title="API Reference" href="/api" description="Interactive OpenAPI reference for the host's management REST API — status, devices, pairing, library." />
</Cards>

## What you need

- A **host** with an NVIDIA, AMD, or Intel GPU (there's a software encoder to fall back on without
  one) — either a **Linux** machine running one of the [supported setups](/docs/requirements)
  (**Ubuntu**, **Debian**, **Fedora**, **Arch**, **Bazzite**, or **SteamOS**), or a
  **[Windows](/docs/windows-host) PC**. What each combination can actually do — codecs, HDR, 4:4:4,
  cursor, input — is in the [Support matrix](/docs/support-matrix).
- A **client device** to stream to — there are native apps for **macOS, iOS/iPadOS, tvOS, Linux,
  Windows, and Android**, plus any device that runs **Moonlight**.
- Both on the **same network** (LAN or VPN). Punktfunk is designed for a trusted local network.

Ready? Head to the [Quick Start](/docs/quickstart).

## Community

Questions, help, or want to try the **Android beta**? Join the
[**Discord**](https://discord.gg/kaPNvzMuGU) — request a tester invite there — or
[**r/Punktfunk**](https://www.reddit.com/r/Punktfunk/) on Reddit.
