mirror of
https://gitlab.com/vyla-entertainment/documentation.git
synced 2026-11-15 06:57:21 -05:00
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
# Vyla Home (Desktop)
|
|
|
|
<p class="page-description">The native desktop control center and player runtime for Windows, macOS, and Linux built on Tauri v2 and an embedded Node.js sidecar.</p>
|
|
|
|
<img class="vyla-banner" src="/src/assets/images/desktop/site_preview.webp" alt="Vyla Home desktop application preview" loading="lazy" decoding="async" fetchpriority="low" />
|
|
|
|
## 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**: `<AppDataDir>/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
|
|
<!-- tab: Fedora / RHEL -->
|
|
```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
|
|
```
|
|
|
|
<!-- tab: Ubuntu / Debian -->
|
|
```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
|
|
```
|
|
|
|
<!-- tab: Arch Linux -->
|
|
```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
|
|
```
|