Présentation de Vinix

Vinix est un système d'exploitation complet écrit en V, un langage de programmation récent. Le projet se positionne comme une alternative légère aux distributions Linux classiques, en ciblant d'abord les Macs équipés de puces Apple Silicon (M1 au moment du lancement, avec M2‑M5 prévus). Le système démarre avec 100 Mo de RAM et occupe 1 Go de disque après installation, ce qui correspond à moins de 5 % de la consommation typique d’une distribution Linux de bureau.

Architecture du noyau et gestion des ressources

Le noyau de Vinix est développé de zéro en V et compile avec l’option -gc none, éliminant ainsi tout ramasse‑miettes. Cette décision empêche les pauses de collecte de mémoire qui pourraient interrompre un appel système ou le compositeur d’affichage. La consommation de mémoire reste donc plate après le démarrage, contrairement aux systèmes où le GC provoque des variations de charge. Le projet ne comporte ni systemd, ni services de télémétrie, ni processus d’arrière‑plan non sollicités, ce qui contribue à la stabilité à long terme.

Compatibilité Linux et exécution d’applications

Vinix n’est pas une distribution Linux, mais il implémente l’interface système Linux (environ trois cents appels, dont openat, mmap, clone, futex). Cette couche permet d’exécuter directement des paquets Alpine Linux compilés pour aarch64, sans émulation ni conteneur. Ainsi, des applications comme Chromium, GIMP, Blender ou Wine fonctionnent « nativement », en utilisant le même binaire ELF que sous Alpine. Les limites restent liées aux appels système non encore implémentés, mais le projet comble ces lacunes au fur et à mesure qu’elles sont identifiées.

Pilotes graphiques Apple M1 et environnement de bureau

Un des défis majeurs est la prise en charge du GPU AGX des puces M1. Vinix développe deux pilotes : le pilote AGX (GPU) et le pilote DCP (contrôleur d’affichage). Les deux communiquent via les interfaces propriétaires « mailbox » et RTKit, avec un IOMMU DART qui isolement la mémoire du GPU. Au-dessus, un sous‑système DRM minimal expose des objets GEM, permettant à Mesa et OpenGL de fournir une accélération matérielle réelle. Cette pile rend possible un bureau Wayland/Hyprland fluide, ainsi que le rendu vidéo et les jeux sous Wine. Le code d’installation montre la simplicité du processus :

brew install qemu
git clone https://github.com/vlang/vinix
cd vinix
./run-desktop-aarch64.sh

Le même flux fonctionne sur les architectures x86_64 en utilisant KVM ou QEMU, ce qui montre la portabilité du projet au-delà d’Apple Silicon.