GitHunt
GI

Self hosted cloud gaming infrastructure

#+TITLE: Veil
#+SUBTITLE: Self-hosted cloud gaming platform

  • About
    Veil is a self-hosted cloud gaming platform that enables you to stream games and applications from your server to a web browser. It uses WebRTC for low-latency streaming and a custom Wayland compositor to capture and transmit graphical output.

  • Setup

** Development Environment
The recommended way to set up the development environment is using Dev Containers. This ensures all dependencies are correctly installed and configured, regardless of your local environment.

*** Using Dev Containers (Recommended)

  1. Install the prerequisites:

  2. Clone the repository
    #+BEGIN_SRC sh
    git clone https://github.com/yourusername/veil.git
    cd veil
    #+END_SRC

  3. Start the dev container:
    #+BEGIN_SRC sh
    devcontainer up --workspace-folder .
    #+END_SRC

  4. Enter the container:
    #+BEGIN_SRC sh
    devcontainer exec --workspace-folder . /bin/zsh
    #+END_SRC

**** Note for GPU Acceleration
If you have an NVIDIA GPU and wish to use it for hardware acceleration:

  • Ensure the NVIDIA Container Toolkit is installed on your host
  • The default configuration enables NVIDIA GPU passthrough when available

*** Manual Setup
If you prefer not to use Dev Containers, you'll need to install:

  • Node.js (v18+)
  • Rust (latest stable)
  • pnpm (v9+)
  • Buf CLI
  • Protocol Buffer compiler

** Quick Start

  1. Install dependencies
    #+BEGIN_SRC sh
    pnpm install
    #+END_SRC

  2. Start development environment
    #+BEGIN_SRC sh
    pnpm dev
    #+END_SRC

  • Commands

| Command | Description |
|---------------+-------------------------------------------------------|
| pnpm build | Build all modules |
| pnpm dev | Start development servers with auto-rebuild on changes |
| pnpm clean | Clean all build artifacts |
| pnpm lint | Run linters across all modules |

Languages

TypeScript29.6%Rust23.5%Dockerfile21.2%CSS11.3%Shell8.3%JavaScript3.8%HTML2.3%

Contributors

Created February 9, 2022
Updated June 12, 2025
gitautas/veil | GitHunt