Abbiamo appena lanciato il servizio. Il sito e il servizio sono ancora in fase di rifinitura: ci scusiamo in anticipo per eventuali imprecisioni o imperfezioni. Ha notato un errore o qualcosa non funziona come previsto? Ci scriva e lo correggeremo subito.

← Tutti i progetti
IT
Oltre TAKT

qsm-rd

QSM Direct sostituisce l’immagine noVNC nella console web di Proxmox VE con un flusso video WebRTC, nella stessa scheda del browser, con lo stesso login PVE e lo stesso permesso VM.Console. Sul client non si installa nulla, e pveproxy e pvedaemon funzionano senza modifiche.

  • Proxmox VE
  • WebRTC
  • LXC
Stato
Versione 0.4.0. HEVC è sperimentale e la migrazione live di una VM con QSM Display1 non è stata qualificata. È stata aperta una richiesta di funzionalità presso Proxmox (bug #8106); nel repository sono pronti un RFC e serie di patch per qemu-server e pve-manager.
Licenza
GPL-3.0-or-later; lo script della console PVE, il servizio di signalling, la console LXC e la pagina del visualizzatore sono AGPL-3.0-or-later.
Piattaforme
Nodi Proxmox VE 9; sul client, un browser con H.264 e Opus in WebRTC.

Quale problema risolve

La console noVNC standard invia i rettangoli dello schermo che cambiano. Per lavorare dentro un desktop in esecuzione, con video, scorrimento o interfacce animate, questo significa poche immagini distinte al secondo con molta banda, e niente 3D nel guest. QSM Direct codifica lo schermo del guest come video sul nodo e lo trasmette al browser. Il README pubblica un confronto misurato con noVNC standard, compresi i casi in cui noVNC resta lo strumento migliore: la prima immagine, un singolo evento isolato del puntatore e tutto ciò che avviene prima che un sistema operativo sia in esecuzione.

Funzionalità principali

  • H.264 per impostazione predefinita tramite NVENC, QSV, VA-API o libx264 sulla CPU; HEVC come scelta esplicita e sperimentale per singola VM.
  • Guest VirGL con OpenGL e 3D, oppure adattatori Standard VGA, VirtIO e VMware senza GPU.
  • Audio (Opus), il microfono del browser nel guest e appunti di testo nei due sensi; in una VM gli appunti richiedono un agente guest facoltativo.
  • Il movimento del puntatore viaggia su un proprio canale non ordinato che trasporta solo lo stato più recente, quindi non può accodarsi dietro a un frame pesante.
  • Container LXC con desktop KDE Plasma: una console per tty, ciascuna con la propria schermata di login.

Come funziona

Il browser invia la sua offerta WebRTC a un servizio di signalling locale al nodo sulla porta TLS 8007. Il servizio verifica il ticket PVE del browser e il permesso VM.Console tramite il /access/ticket di PVE stesso e passa l’offerta a un servizio terminal, che avvia un media worker per ogni VM. Il worker legge il display D-Bus di QEMU, codifica immagine e audio e li invia direttamente al browser; l’input torna per la stessa strada. Tutti gli spettatori di una VM condividono un unico flusso dell’encoder.

apt install ./qsm-pve-direct_*.deb
systemctl enable --now qsm-pve-direct-terminal.service qsm-pve-direct-signal.service

Requisiti

  • Proxmox VE 9 (pve-manager 9.x); il pacchetto si compila su Debian 13 e va installato su ogni nodo che può eseguire la VM.
  • Browser: Chrome, Edge, Chromium con codec proprietari, Safari, oppure Firefox con il plugin OpenH264.
  • Rete: TCP 8006 e 8007 e UDP in ingresso dalle reti degli operatori; un nome host per cui il certificato del nodo è valido.
  • Encoder: NVENC, QSV, VA-API o la CPU (circa mezzo core per console aperta con libx264); il profilo VirGL richiede un dispositivo di rendering DRM. Fino a 16 sessioni di console per nodo.

Questa pagina riassume il README e la documentazione del repository a ottobre 2026. La fonte di riferimento è il repository stesso.