#+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)
-
Install the prerequisites:
- Docker
- Dev Container CLI (https://github.com/devcontainers/cli)
-
Clone the repository
#+BEGIN_SRC sh
git clone https://github.com/yourusername/veil.git
cd veil
#+END_SRC -
Start the dev container:
#+BEGIN_SRC sh
devcontainer up --workspace-folder .
#+END_SRC -
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
-
Install dependencies
#+BEGIN_SRC sh
pnpm install
#+END_SRC -
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 |