Skip to main content

Overview

This guide is for the people who install, secure, configure, run, and maintain a QAROS Hub - the machine that brings applications and devices together into one shared, streamed room. This page gives you the mental model; the rest of the guide fills in the detail.

QAROS world overview

The Hub is three processes

A Hub is not one program. Three processes ship together and start in a chain:

ProcessRole
qaros-hub-service.exeThe tray supervisor. It is the always-on parent: it starts the runtime launcher, restarts it with backoff if it crashes, and gives you the tray menu. This is what you launch (or what autostart launches).
qar-runtime-launcher.exeThe runtime. It hosts the session and message router, runs the private CA and onboarding services, broadcasts the discovery beacon, and orchestrates the streaming pipeline (source apps, mixers, targets). Everything operationally interesting happens here.
qar-streaming-viz.exeThe visualizer - the interactive desktop window where you see and manipulate the shared room, and where the hub-connect UI lives.

The startup chain is: you start the tray service -> it starts the launcher -> the launcher restores or creates a session, registers source-app volumes, starts streaming and onboarding services, begins broadcasting discovery, and invites a local visualizer. If the launcher dies, the tray service brings it back.

The mixer, one per user

Inside the runtime's streaming pipeline sits the mixer: the component that composites several independent application streams into one coherent, latency-compensated stereo view. There is one mixer instance per connected user, so the Hub's GPU load scales with the number of users. You never manage the mixer directly - the pipeline planner inserts and places it for you. See The Mixer.

The per-Hub Certificate Authority

Each Hub operates its own private certificate authority (based on step-ca), localhost-only. It is the trust root for the deployment: a device onboarded to this Hub carries a certificate this Hub signed. No internet, cloud, or corporate PKI is required. A short pairing code - typed once, never sent over the network - bootstraps each device's full cryptographic identity. See Security Model for the trust model and onboarding flow.

Where data lives

Everything the Hub writes at runtime - identity slots, CA state, session state, and logs - is kept out of the install directory, under the per-user application-data root (%LOCALAPPDATA%\Quaternar\...). That is what makes upgrading a ZIP install "replace the folder", and it is what you back up. See Maintenance & Updates.

What the operator owns

Four things are yours to manage:

  • Configuration - source apps, target devices, and other Hub behavior, managed through the Hub UI and persisted across restarts.
  • Network and ports - firewall rules for the QAROS port range, discovery scope, and (for off-LAN) relay or Hub federation.
  • Device trust - minting and reading pairing codes, connecting peers, and forgetting or blacklisting devices.
  • Updates - moving between versions across the ZIP / MSIX / APK artifact matrix, and backing up Hub identity.

What's in this guide

PageWhat it covers
System RequirementsHardware, OS, network, and per-device requirements for a Hub.
InstallationThe artifact matrix (ZIP, NuGet, MSIX, APK) and how to install a Hub.
Player Installation to DeviceOperator-side player installation section with separate pages for HoloLens 2, P&C Solutions METALENSE 2, and Meta Quest.
Running the HubStarting the tray service, the startup sequence, and the visualizer.
Networking & FederationPorts and firewall, LAN vs relay, and connecting two Hubs.
Security ModelThe four-layer trust model, the per-Hub CA, and onboarding.
Managing DevicesPairing codes, connecting peers, and forgetting/blacklisting devices.
The MixerHow multiple streams are composited into one per-user view.
Maintenance & UpdatesUpgrades, the compatibility promise, backups, and logs.

For device-owner instructions (bringing a headset or phone into a session), see the User Guide. For integrating the C API, see the Developer Guide. Unfamiliar terms are defined in the Glossary.