# Vyla Home (Desktop)

The native desktop control center and player runtime for Windows, macOS, and Linux built on Tauri v2 and an embedded Node.js sidecar.

Vyla Home desktop application preview ## Overview **Vyla Home** is the desktop client for the Vyla ecosystem. Built with **Tauri v2** and an embedded Node.js sidecar process, Vyla Home uses native system WebViews (WebView2 on Windows, WebKit on macOS/Linux) for fast startups and hardware-accelerated video decoding with minimal memory usage. --- ## Downloads Binary packages are available on [GitLab Releases](https://gitlab.com/vyla-entertainment/home/-/releases): - **Windows**: [Download Setup Installer / Portable (.exe)](https://gitlab.com/vyla-entertainment/home/-/releases) (x86_64) - **macOS**: [Download Disk Image (.dmg)](https://gitlab.com/vyla-entertainment/home/-/releases) (Universal: Apple Silicon & Intel) - **Linux**: Build from source using the steps below. --- ## Architecture - **Tauri Main Process (Rust)**: Manages window state, system tray icons, native menus, and hosts the WebView. - **Stdio IPC**: Bi-directional JSON-RPC stream passing messages between Rust and the Node.js sidecar over `stdin` and `stdout`. - **Node.js Sidecar**: Runs `ServiceManager` for local/remote failover, verifies update signatures via `UpdateClient`, manages Discord Rich Presence, and caches local media metadata. ### Storage Locations - **Windows**: `%APPDATA%\vyla-home\vyla-home-files\` - **macOS**: `~/Library/Application Support/vyla-home/vyla-home-files/` - **Linux**: `~/.local/share/vyla-home/vyla-home-files/` ### Sidecar Logs - **Windows**: `%APPDATA%\vyla-home\vyla-home-files\logs\node-debug.log` - **macOS/Linux**: `/logs/node-debug.log` --- ## Windows Troubleshooting If you encounter a `WebView2 runtime initialization error`: 1. Install the Microsoft Edge WebView2 Evergreen Runtime from Microsoft. 2. For portable installs, confirm `WebView2Loader.dll` is present in the `bin/` directory adjacent to the executable. --- ## Linux Build Guide ### 1. Install System Dependencies :::code-group ```bash sudo dnf install -y \ webkit2gtk4.1-devel curl wget openssl-devel \ libappindicator-gtk3-devel librsvg2-devel \ gcc gcc-c++ make automake autoconf nodejs npm ``` ```bash sudo apt-get update && sudo apt-get install -y \ libwebkit2gtk-4.1-dev build-essential curl wget \ libssl-dev libayatana-appindicator3-dev librsvg2-dev \ nodejs npm ``` ```bash sudo pacman -Syu --needed \ webkit2gtk-4.1 base-devel curl wget openssl \ libappindicator-gtk3 librsvg nodejs npm ``` ::: ### 2. Install Rust Toolchain ```bash curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh source "$HOME/.cargo/env" ``` ### 3. Clone and Build ```bash git clone https://gitlab.com/vyla-entertainment/home.git vyla-home cd vyla-home npm install npm run build:payload npm run dev npm run build ``` --- ## Developer Workflows ```bash npm run dev npm run build:payload npm run dev -- -- --env VYLA_TEST_UI=1 npm run release:full ``` If a hung process locks the binary during Windows development: ```powershell Stop-Process -Name "vyla-home", "node", "cargo" -Force -ErrorAction SilentlyContinue ```