Violyx — ein klein geschriebenes Betriebssystem
Ein 64-Bit-Betriebssystem für x86-Computer mit eigenem Kernel, eigenem Dateisystem und einem fensterbasierten Textdesktop, vollständig mit der Tastatur bedient.
Violyx ist ein Hobbyprojekt im wörtlichen Sinn: Kernel, Treiber, Dateisystem und Desktop sind für dieses Projekt geschrieben, in C und x86-64-Assembler, mit wenigen Python-Skripten für den Bau. Es startet mit Limine auf BIOS- und UEFI-Rechnern, läuft in QEMU und VirtualBox und auf echten Rechnern von einem USB-Stick, und zeigt einen 256-Farb-Textdesktop mit Fenstern, Programmübersicht, Dateiverwaltung, Terminal, Webbrowser und Spielen.
- Neueste Veröffentlichung
- Version v0.3.0, veröffentlicht 12.11.2026
- Lizenz
- MIT
- Geschrieben in
- C
- Projekt auf GitHub
- github.com/Merecete/Violyx
2 Sterne · 0 Forks · Hauptsprache C
Downloads
v0.3.0 (Veröffentlicht: 12.11.2026)
ISO-Abbild für QEMU, eine virtuelle CD oder ein echtes Laufwerk
violyx_v0.3.0.iso
Größe: 12.017.664 Byte (11.5. MiB)
SHA-256-Prüfsumme: 07da7da6f75272af73d321bb767035a5b22664727e5dbe450b68ae6d8c2b1ee3
Festplattenabbild zum Schreiben auf einen USB-Stick oder eine Festplatte
violyx_v0.3.0.img
Größe: 102.760.448 Byte (98.0. MiB)
SHA-256-Prüfsumme: 461882fbdbda2c9cdf408f969d89f805b704f6943afdadba260f5de4c2653a8b
VirtualBox-Festplatte
violyx_v0.3.0.vdi
Größe: 104.857.600 Byte (100.0. MiB)
SHA-256-Prüfsumme: 26c87648243a32b15e9f374f39dede84664a8bf02bb37cbebf59d1ae22a1f88d
Diese Dateien liefert GitHub aus, nicht merecete.org. Normale Browser folgen der Weiterleitung dort problemlos; für Violyx nutze stattdessen den Store.
Die Prüfsumme ist eine Angabe für Menschen: Der Installierer von Violyx prüft den Aufbau eines Pakets, nicht seine Prüfsumme. Vergleiche sie mit sha256sum Datei (Linux), certutil -hashfile Datei SHA256 (Windows) oder shasum -a 256 Datei (macOS).
Alle Veröffentlichungen auf GitHub
| Neueste Veröffentlichung | Veröffentlicht |
|---|---|
| v0.2.1 | 11.11.2026 |
| v0.2.0 | 09.11.2026 |
| v1.1.5 | 08.11.2026 |
| v0.1.4 | 06.11.2026 |
| v0.1.3 | 05.11.2026 |
| v0.1.1 | 04.11.2026 |
Was darin ist
- Eigener Kernel: eigene Adressräume für Programme, eigener Scheduler auf Coroutinen-Basis, eigenes Dateisystem VioFS 2 mit Journal
- Programme sind einzelne .vpk-Dateien, laufen in Ring 3 und kommen weder an den Kernel noch an ein anderes Programm; ein kaputtes Programm beendet nur sich selbst
- Eigenes TCP/IP und DNS im Kernel, lwIP und Mbed TLS in einem geschützten Programm; jedes Programm muss erst fragen, bevor es ins Internet darf, und die Antwort gilt genau für dieses Paket
- Kabelgebundenes Netz: Intel E1000, Realtek RTL8125B, RTL8126 und verwandte Chips. Es gibt kein WLAN
- Massenspeicher: IDE, AHCI, NVMe und USB-Speicher; außer dem eigenen Dateisystem FAT32, exFAT und ISO 9660; dazu CD- und DVD-Leser
- Ton: Intel HD Audio, AC97 und USB-Audio
- Desktop: 256-Farb-Textfenster, Programmübersicht auf F2, Lesezeichen, ein Bildbetrachter, ein Malprogramm, ein Editor, ein Taschenrechner, eine Uhr und einen Kalender
- Ein C-Compiler läuft im System selbst, deshalb lässt sich ein Programm ohne einen zweiten Rechner schreiben und bauen
Der Browser
- Liest einfaches HTML über seine Struktur: Überschriften, Absätze, Listen, Tabellen und Definitionslisten werden dargestellt; JavaScript und CSS werden nicht verstanden
- Bilder werden nach dem Text geladen und in 256 Farben gezeigt, deshalb sind die Worte einer Seite früher da als ihre Bilder
- Lesezeichen, Verlauf und Cookies liegen in /system/browser; Tabs werden mit Strg+Bild_hoch und Strg+Bild_runter gewechselt
- Dateien, die es nicht anzeigen kann, werden zum Herunterladen angeboten, und eine geladene .vpk lässt sich sofort installieren — eine Seite mit Links auf .vpk-Dateien funktioniert als Programmstore
- Strg+P sichert das Bild auf dem Schirm oder das erste Bild einer Seite unverändert als PNG oder JPEG in /downloads
- Zeigt PNG und JPEG; SVG und WebP werden nicht unterstützt
- HTTPS mit TLS 1.2 und TLS 1.3 und dem im System mitgelieferten Zertifikatsspeicher
Ausprobieren
Die ISO ist der schnelle Weg: starte sie in QEMU oder einer VirtualBox-Maschine (Typ Other oder Unknown wählen, 64-Bit, mindestens 512 MB Arbeitsspeicher). Das Festplattenabbild ist der Weg auf einen USB-Stick oder eine echte Festplatte; die .vdi-Datei passt direkt in VirtualBox. Im laufenden System schreibt der Menüpunkt System -> Install es auf eine Festplatte.
Ehrliche Grenzen
- Kein WLAN. Es funktionieren nur die kabelgebundenen Chips oben; prüfe also, welche Karte ein Rechner wirklich hat, bevor du einen USB-Stick daran probierst.
- Secure Boot wird nicht benutzt: für einen echten Rechner abschalten.
- Ein Programm darf deine Dateien in /home lesen und ändern. Beim Installieren gibt es keine Signatur und keine Prüfsummenprüfung, geprüft wird nur der Aufbau des Pakets — installiere also nur Programme, denen du vertraust.
- Pakete sind durch das Format begrenzt: mindestens 320 Byte, höchstens 32 MiB, ein Fenster zwischen 20 und 76 Spalten und 5 und 20 Zeilen.
- Programme selbst können das Netz bisher nicht benutzen; nur der eingebaute Browser geht online.
- Das ist ein Hobbyprojekt einer Person in C und Assembler. Es ist gerade gut genug, dass die Autorin es täglich benutzt, aber kein Produkt mit Unterstützungsversprechen.
Dokumentation
Für Entwickrende
Der Ordner sdk zeigt, wie ein Paket entsteht: aus C und Assembler übersetzen und binden; danach setzt sdk/mkvpk.py das Programm, die Fenstergröße, den Namen, den Titel, die Version, den Autor und ein kleines Symbol aus drei Zeilen in den 256 Byte langen Kopf. Die Beispiele, darunter Snake, Novastrike und der XZN-Player, kommen mit vollständigem Quellcode. Auf einem laufenden Violyx macht der eingebaute Compiler dasselbe: cc DATEI.c -o NAME.vpk baut dort ein Paket ohne jedes Fremdwerkzeug.