5.5 KiB
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.
Overview
Vyla Home is the flagship desktop application of the Vyla ecosystem. Engineered for performance and privacy, Vyla Home packages the entire Vyla streaming runtime into a lightweight native shell using Tauri v2 and an embedded Node.js sidecar process.
Instead of running heavy web browsers with excessive RAM overhead, Vyla Home leverages system-native WebViews (WebView2 on Windows, WebKit on macOS/Linux), ensuring instant boot times, hardware-accelerated video decoding, and tiny background resource footprints.
Downloads
Official binary releases are published directly to the Vyla Home GitLab Releases:
| Platform | Package Format | Architecture | Download Link |
|---|---|---|---|
| Windows | Setup Installer (.exe) / Portable |
x86_64 (64-bit) | Download for Windows (.exe) |
| macOS | Disk Image (.dmg) |
Universal (Apple Silicon & Intel) | Download for macOS (.dmg) |
| Linux | Source Build / Flatpak (in progress) | x86_64, aarch64 | Build from Source |
:::callout-info When launching Vyla Home for the first time, the application will automatically perform a self-check, initialize local caches, and establish secure RPC connections. :::
Architectural Implementation
Vyla Home operates via a dual-process architecture:
| Process Layer | Tech Stack | Responsibilities & Capabilities |
|---|---|---|
| Tauri Main Process | Rust | Manages native OS window lifecycle, system tray icons, native menus, and hosts the secure WebView renderer. |
| Inter-Process Channel | Stdio IPC | Bi-directional JSON-RPC stream communicating over standard input and standard output (stdin / stdout). |
| Node.js Sidecar Process | Node.js (main.js) |
Orchestrates ServiceManager for local/remote fallback, verifies update cryptographic signatures via UpdateClient, manages Discord Rich Presence, and handles local cached data. |
File Locations & Directory Structure
Vyla Home stores its configuration, cryptographic keys, cached catalogs, and logs in standard operating system directories:
| OS | Default Storage Path |
|---|---|
| Windows | %APPDATA%\vyla-home\vyla-home-files\ |
| macOS | ~/Library/Application Support/vyla-home/vyla-home-files/ |
| Linux | ~/.local/share/vyla-home/vyla-home-files/ |
Diagnostics & Logs
If you encounter runtime issues, inspect the sidecar debug log:
- Windows:
%APPDATA%\vyla-home\vyla-home-files\logs\node-debug.log - macOS/Linux:
<AppDataDir>/logs/node-debug.log
Windows Troubleshooting: WebView2 Runtime
On Windows systems, Vyla Home utilizes Microsoft's Evergreen WebView2 runtime. If your installation encounters a WebView2 runtime initialization error:
- Ensure the Microsoft Edge WebView2 Evergreen Runtime is installed from Microsoft's official site.
- For portable or standalone deployments, verify that
WebView2Loader.dllexists in thebin/directory adjacent to the binary:
vyla-home\bin\WebView2Loader.dll
Linux Build Guide
To build and run Vyla Home natively on Linux distributions (such as Fedora, Ubuntu, Debian, or Arch):
1. Install System Dependencies
:::code-group
sudo dnf install -y \
webkit2gtk4.1-devel curl wget openssl-devel \
libappindicator-gtk3-devel librsvg2-devel \
gcc gcc-c++ make automake autoconf nodejs npm
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
sudo pacman -Syu --needed \
webkit2gtk-4.1 base-devel curl wget openssl \
libappindicator-gtk3 librsvg nodejs npm
:::
2. Install Rust Toolchain
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source "$HOME/.cargo/env"
3. Clone and Build
# Clone the repository
git clone https://gitlab.com/vyla-entertainment/home.git vyla-home
cd vyla-home
# Install Node dependencies
npm install
# Package runtime payload
npm run build:payload
# Launch in developer mode
npm run dev
# Or compile production binary
npm run build
Developer Workflows
The Vyla Home repository includes specialized scripts for continuous development and release management:
# Start the full application in development mode with hot reload
npm run dev
# Package the local application payload into update-payload.zip
npm run build:payload
# Test the UI shell with a simulated test harness
npm run dev -- -- --env VYLA_TEST_UI=1
# Compile and package a full production installer release
npm run release:full
Resolving File Locks (OS Error 32)
If a hung process locks the binary during development on Windows:
Stop-Process -Name "vyla-home", "node", "cargo" -Force -ErrorAction SilentlyContinue