Feuille de route
La suite, dans l'ordre qui compte — et ce qui n'est délibérément pas prévu.
Rien ici n'a de date. L'ordre reflète ce qui améliorerait wisq pour quelqu'un qui s'en sert aujourd'hui, pas ce qui serait le plus intéressant à construire.
Fait depuis
- SPICE
- Complet, et écrit à la main comme le client VNC d'à côté : canaux affichage, curseur et entrées sur leurs propres connexions, le son dans les deux sens, le presse-papiers par l'agent du canal principal, et les codecs que SPICE s'est inventés — LZ, GLZ, QUIC et LZ4 — plus les opérations de dessin sur lesquelles un vrai bureau s'appuie.
- La persistance de la machine locale
- Résolue en sauvant la machine plutôt qu'en lui donnant un disque. Tout l'état sous le noyau — la RAM, les registres, le timer, les octets en attente sur l'UART — est écrit puis restauré à l'identique, si bien que l'invité revient au milieu d'un appel système si c'est là qu'il était.
Ensuite
- RDP
- Celui qui compte pour les invités Windows, et désormais le seul protocole de console que wisq ne parle pas. Nettement plus gros que SPICE, et à ne faire que bien — le client porte une ébauche délibérée qui refuse au lieu de faire semblant.
- D'autres backends d'agent
- L'agent pilote libvirt via virsh. Proxmox et QEMU nu sans libvirt représentent tous deux peu de code derrière l'interface existante.
Non prévu
- Une application Android
- Les parties portables le sont déjà, mais le produit est l'application iPhone. Une plateforme faite correctement vaut mieux que deux faites mal.
- Émuler un système de bureau en local
- Sans JIT, c'est une démonstration et non un outil. C'est le plafond que wisq est construit pour éviter, pas pour l'atteindre.
- Un service hébergé
- wisq parle à des machines que vous avez déjà. Pas de compte, aucun serveur à nous sur le chemin, et rien à quoi s'abonner.
- Un disque virtuel pour la machine locale
- C'était le plan, et c'était le mauvais. Les noyaux rv32 nommu que cet émulateur fait tourner ont le transport virtio-mmio mais aucun pilote bloc — devtmpfs, proc, ramfs, sysfs, et rien d'autre. Un virtio-blk parfait n'aurait eu personne à qui parler, et comme vous apportez votre propre noyau, le fait qu'un disque marche dépendrait d'un build que nous ne contrôlons pas. Sauver la machine contourne l'invité entièrement.