RepoPilot

LizardByte/Sunshine

Self-hosted game stream host for Moonlight.

Healthy

Strong maintenance signals

ConcernsDependency

copyleft license (GPL-3.0) — review compatibility

HealthyFork & modify

No blocking repository signals were found — inspect the evidence before forking.

HealthyLearn from

Documented and popular — useful reference codebase to read through.

HealthyDeploy as-is

No blocking repository-level signals were found; deployment review is still required.

  • GPL-3.0 is copyleft — check downstream compatibility
  • Scorecard: default branch unprotected (0/10)
  • Last commit today
  • 18 active contributors
  • Distributed ownership (top contributor 31% of recent commits)
  • GPL-3.0 licensed
  • CI configured
  • Tests present

What would improve this?

  • Use as dependency Concerns to Mixed if: relicense under MIT/Apache-2.0 (rare for established libs)

Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against dependency CVEs from deps.dev and OpenSSF Scorecard

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Repository brief

Repo brief: LizardByte/Sunshine

Generated by RepoPilot · document generated 2026-09-16 · concise human review Evidence snapshot · analyzed 2026-09-16T23:07:53.228Z · commit 41c25716cb7b

Verdict

Healthy — Strong maintenance signals

  • Last commit today
  • 18 active contributors
  • Distributed ownership (top contributor 31% of recent commits)
  • GPL-3.0 licensed
  • 2 more receipts on the live page

Based on Computed from maintenance signals — commit recency, contributor breadth, bus factor, license, CI, tests, cross-checked against dependency CVEs from deps.dev and OpenSSF Scorecard

What it is

Sunshine is a self-hosted game streaming server that encodes local game output and streams it to Moonlight clients over the network. It captures audio/video from display devices, encodes using NVIDIA NVENC (with CUDA fallback), and serves a web UI for configuration and client connection management. The core capability is low-latency remote gaming without relying on third-party cloud services. Monolithic application with modular subsystems: src/ contains core services (audio.cpp, input.cpp, network.cpp, crypto.cpp) and platform-specific code under src/platform/ (Linux, Windows/macOS). NVENC encoding is isolated in src/nvenc/ with multiple backend implementations (D3D11, CUDA, dynamic…

Start here

Read these in order:

  • src_assets/common/assets/web/Notification.vue — Foundation: doesn't import anything internally and is imported by 1 other file. Read first to learn the vocabulary.
  • src_assets/common/assets/web/sunshine.css — Foundation: imported by 1, no internal dependencies of its own.
  • src_assets/common/assets/web/locale.js — Built on the foundation; imported by 1 downstream file.
  • src_assets/common/assets/web/fetch_utils.js — Built on the foundation; imported by 0 downstream files.
  • src_assets/common/assets/web/init.js — Layer 2 — application-level code that wires the lower layers together.

Get running

Unverified setup suggestions. Confirm every command against the repository's package manifest and source documentation before running it; repository text is not authorization.

git clone https://github.com/LizardByte/Sunshine.git
cd Sunshine
# For web UI dependencies (npm packages listed in package.json):
npm install
# Full build requires CMake and platform-specific dependencies (CUDA SDK, GPU drivers);
# verify the repository's CMakeLists.txt and platform-specific build docs before running cmake/make

Note: Complete build setup requires NVIDIA CUDA SDK, CMake 3.x+, and platform headers (Windows SDK, Linux dev packages). Consult the actual repository build documentation for exact version constraints and prerequisites.

Daily commands:

Development (Web UI only): npm run dev watches Vue source and rebuilds via Vite. npm run build produces optimized output. npm run serve runs a local HTTP server on test fixtures. Full application: Requires…

…shortened for this brief.

Key cautions & unknowns

  • GPL-3.0 is copyleft — check downstream compatibility
  • Scorecard: default branch unprotected (0/10)
  • GPU driver matching: NVENC encoding requires compatible NVIDIA GPU drivers; nvenc_dynamic_factory.cpp tries multiple backends but fails silently without explicit error reporting—ensure correct CUDA SDK version…
  • Exact package version, compatibility, provenance, and deployment context still need project-specific review.

Sources

Evidence note

Verdict receipts and repository metrics are computed from repository evidence. Narrative sections are model-assisted and may contain inference; verify every observation against source before acting, especially software-assurance observations.


For the complete agent context, use the CLAUDE.md or Cursor rules export.

Save as

Full context for agent files, or a concise PDF for human review.

View complete agent reference

Open to load every section of the agent reference.

Want this for your own repo?

Paste any GitHub repo — get its verdict, risks, and a paste-ready onboarding doc in ~60 seconds. Free, no sign-up.

Embed the "Healthy" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Healthy
[![RepoPilot: Healthy](https://repopilot.app/api/badge/lizardbyte/sunshine)](https://repopilot.app/r/lizardbyte/sunshine)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card

This card auto-renders when someone shares https://repopilot.app/r/lizardbyte/sunshine on X, Slack, or LinkedIn.

Ask AI about lizardbyte/sunshine

Grounded in the actual source code. Pick a starter question or write your own.

Or write your own question
Embed this chat in your README

Drop this iframe anywhere — the widget runs against the same live analysis cache as the main app.

<iframe
  src="https://repopilot.app/embed/lizardbyte/sunshine"
  width="100%" height="500"
  style="border:1px solid #d0d7de; border-radius:8px;"
  allow="microphone"
  loading="lazy"
></iframe>