---
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) with zero CPU copies, and over a transport tuned for responsiveness rather than throughput.
- **Works with the apps you already have.** punktfunk speaks the GameStream protocol, so any
  **Moonlight** client connects out of the box — and 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

<Cards>
  <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="Quick Start" href="/docs/quickstart" description="From nothing to streaming: set up a host and connect your first client." />
  <Card title="Host Setup" href="/docs/requirements" description="Install the host on Ubuntu (GNOME or KDE), Fedora (KDE), or Bazzite." />
  <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="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 a supported GPU — either a **Linux** machine running one of the
  [supported setups](/docs/requirements) (**Ubuntu** GNOME or KDE, **Fedora** KDE, or **Bazzite**), or
  a **[Windows](/docs/windows-host) PC**.
- 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.
