Ctrl K
ComunidadGuías…
GITHUB · ANALIZADO

Polyseat

Polyseat es un orquestador para streaming de juegos multi-silla en Linux que permite múltiples usuarios jugar simultáneamente en una sola PC mediante contenedores Incus con Sway, Sunshine y Steam aislados.

Ficha actualizada 26 sept 2026, 5:12 · upstream 26 sept 2026, 4:46 · release v0.31.10

Ver códigoProblemas y ayudaRepositorio ↗
00

Qué es Polyseat

Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.

Polyseat es una herramienta de software open source diseñada para habilitar sesiones de juego multi-jugador en un único ordenador Linux. Cada jugador opera dentro de su propio entorno aislado gestionado por contenedores Incus, con sus propias instancias de Sway como compositor, Sunshine para streaming y Steam para gestión de juegos. La arquitectura permite compartir una biblioteca de juegos centralizada mientras mantiene el aislamiento estricto entre sesiones, incluyendo inputs, cuentas de usuario y configuraciones de pantalla.

El sistema utiliza una tarjeta gráfica compartida (NVIDIA o AMD) para renderizar múltiples flujos de video simultáneos hacia clientes Moonlight externos. La gestión de inputs se realiza mediante un broker centralizado que enruta las señales de teclado, ratón y mando a cada sesión correspondiente sin colisiones. Polyseat no implementa composición ni codificación de video, delegando estas funciones en componentes externos como PipeWire, Sunshine e Incus.

La instalación soporta distribuciones basadas en Arch Linux, Debian o Fedora mediante paquetes específicos. El daemon principal (polyseatd) gestiona el ciclo de vida de las sillas, actualizaciones seguras sin interrumpir sesiones activas y configuración de red. La interfaz web en puerto 47800 permite gestión centralizada desde cualquier dispositivo conectado a la red local.

CASOS DE USO
  • Sesiones de juego local multi-jugador en consolas domésticas con múltiples usuarios compartiendo un único PC
  • Streaming de juegos a dispositivos móviles o tablets desde una sola máquina Linux mediante Moonlight
  • Configuración de estaciones de trabajo compartidas para pruebas de software en entornos aislados por usuario
  • Uso en centros comunitarios o bibliotecas donde varios usuarios acceden simultáneamente a la misma biblioteca de juegos
PUNTOS DESTACADOS
  • Aislamiento completo por silla mediante contenedores Incus con gestión de inputs sin colisiones entre sesiones
  • Soporte nativo para tarjetas NVIDIA y AMD con drivers específicos y gestión automática de paquetes según distribución
  • Interfaz web intuitiva para gestión de sillas, emparejamiento de dispositivos Moonlight y actualizaciones seguras
  • Biblioteca de juegos compartida mediante reflink en btrfs o XFS para optimizar uso de almacenamiento
PRECAUCIONES
  • Requiere conexión Ethernet obligatoria para cada silla (Wi-Fi no soportado por limitaciones de direccionamiento MAC)
  • Solo compatible oficialmente con Arch, Debian o Fedora; otros sistemas requieren configuración manual
  • La GPU es compartida entre todas las sillas, lo que puede limitar rendimiento en configuraciones de alta carga gráfica simultánea
VISUAL

Capturas del proyecto

Imágenes reales detectadas en la documentación del repositorio.

Polyseat: one PC runs the daemon, the input broker and the shared game library; each seat is a container with headless sway and Sunshine, streaming to its own Moonlight client
01

Perfil de infraestructura

Estimación inicial derivada del repositorio y de los servicios detectados.

CPU4 vCPUrecomendación inicial
MEMORIA8 GBRAM estimada
DISCO10 GBalmacenamiento base
COMPLEJIDADmediumnivel de operación
02

Despliegue detectado

Qué señales reales de instalación hemos encontrado.

Despliegue manual

Instalar el paquete correspondiente al sistema operativo (pkg.tar.zst para Arch, deb para Debian, rpm para Fedora). Ejecutar sudo polyseat-prepare para configurar la máquina y activar Incus. Añadir sillas mediante la interfaz web en https://<host>:47800. Emparejar dispositivos Moonlight con PIN generado por cada silla. Para actualizaciones, usar el botón de actualización en la interfaz o reiniciar el daemon manualmente.

—Dockerfile
—Compose
—One-click
03

Stack y dependencias

Componentes inferidos a partir de manifests, configuración y documentación.

FRAMEWORKS
Next.jsGoPython
SERVICIOS
No detectados
BASES DE DATOS
No detectadas
PUERTOS
47800
05

Puede sustituir a

Relaciones detectadas por el análisis del repositorio y su categoría.

06

Experiencia real de la comunidad

Ayuda a contrastar la estimación automática con instalaciones reales.

Todavía no hay datos comunitarios para este proyecto.