7 Punkte von GN⁺ 2026-01-26 | 5 Kommentare | Auf WhatsApp teilen
  • Ein Projekt portiert den Klassiker DOOM von 1993 so, dass er auf den Wireless-Earbuds PineBuds Pro läuft und sich über das Web aus der Ferne spielen lässt
  • Es besteht aus vier Komponenten: einem seriellen Server (serial server), der die Earbuds mit dem Webserver verbindet, einem Webserver, einer statischen Webseite und dem DOOM-Port
  • Über eine UART-Verbindung werden rund 2,4 Mbit/s Bandbreite erreicht; die Videoausgabe wird als MJPEG-Stream übertragen, was theoretisch bis zu 27 FPS ermöglicht
  • Die CPU wurde von 100 MHz auf 300 MHz übertaktet; durch Grenzen bei der JPEG-Kodierung liegt die tatsächliche Leistung bei etwa 18 FPS
  • RAM- und FLASH-Beschränkungen wurden durch Optimierungen und die abgespeckte Squashware-WAD-Datei gelöst und zeigen das Potenzial von Hardware-Experimenten auf Basis von Open-Source-Firmware

Projektüberblick

  • DOOM aus dem Jahr 1993 wurde so portiert, dass es auf PineBuds Pro-Earbuds läuft
    • PineBuds Pro werden als die einzigen Wireless-Earbuds erwähnt, die Open-Source-Firmware unterstützen
    • Besucher der Website können sich in eine Warteschlange einreihen und das Spiel aus der Ferne spielen
  • Das Projekt besteht aus vier Teilen
    • dem DOOM-Port, der auf den Earbuds läuft
    • dem seriellen Server, der die Earbuds mit dem Webserver verbindet und den MJPEG-Stream in Twitch umwandelt
    • dem Webserver, der Assets bereitstellt, die Warteschlange verwaltet, Tastatureingaben weiterleitet und den Stream anzeigt
    • der statischen Webseite, die für die Anzeige im Browser und die Kommunikation mit dem Server zuständig ist

Hardware- und Verbindungsaufbau

  • Die Earbuds haben kein Display und senden bzw. empfangen Daten daher über Bluetooth oder UART-Kontaktpads
    • Bluetooth ist mit etwa 1 Mbit/s zu langsam, daher eignet sich UART (2,4 Mbit/s) besser
  • Der Framebuffer von DOOM hat eine Auflösung von 320×200 bei 8-Bit-Farben und ist etwa 96 KB groß
    • Bei UART-Bandbreite wären damit nur etwa 3 FPS übertragbar
    • Um das zu verbessern, wurde ein MJPEG-Stream verwendet
  • Als JPEG-Encoder kommt bitbank2/JPEGENC zum Einsatz
    • Die durchschnittliche JPEG-Framegröße liegt bei 11 bis 13,5 KB
    • Theoretisch sind damit maximal 22 bis 27 FPS möglich

Anpassung der CPU-Leistung

  • Der CPU-Takt der Standard-Firmware liegt bei 100 MHz, wurde hier aber auf 300 MHz erhöht und der Energiesparmodus deaktiviert
  • Ein Cortex-M4F mit 300 MHz reicht für DOOM aus, aber die JPEG-Kodierung wird zum Flaschenhals
    • Die tatsächliche Bildrate liegt bei etwa 18 FPS

Speicheroptimierung (RAM)

  • Standardmäßig sind 768 KB RAM zugänglich; bei deaktiviertem Hilfsprozessor stehen 992 KB zur Verfügung
  • DOOM benötigt 4 MB RAM, daher wurden verschiedene Optimierungen vorgenommen
    • Vorabgenerierung von Lookup-Tabellen, Speicherung von const-Variablen im Flash, Deaktivierung des Caching-Systems, Entfernung unnötiger Variablen usw. sparen Speicher

Problem mit der FLASH-Kapazität

  • Die Standard-WAD-Datei von DOOM 1 ist 4,2 MB groß und überschreitet damit das 4-MB-Speicherlimit der Earbuds
  • Gelöst wurde das mit fragglets abgespeckter Version, der Squashware WAD (1,7 MB)
    • Damit passen alle Assets in den Flash-Speicher

Open Source und Zugänglichkeit

  • Der Projektcode ist in zwei GitHub-Repositories öffentlich verfügbar
    • DOOMBuds: DOOM-Port für die Earbuds
    • DOOMBUDS-JS: unterstützt die Interaktion zwischen Browser und Earbuds
  • Die Website arbeitet mit einer Warteschlange; ab Platz 5 wird der Twitch-Stream auf einen MJPEG-Stream mit niedriger Latenz umgeschaltet

5 Kommentare

 
cybecho 2026-01-27

„Es läuft DOOM“

 
pjh2568 2026-01-26

Die DOOM-Meister sind wirklich... beeindruckend.

 
tsboard 2026-01-26

Wow, das ist schon etwas ... krass.

 
kimjoin2 2026-01-26

Ach du meine Güte.

 
GN⁺ 2026-01-26
Hacker-News-Kommentare
  • Jedes Mal, wenn ich sehe, dass DOOM auf irgendeinem simplen Gerät läuft, frage ich mich, ob das ein Sieg der Software ist oder eher ein wirtschaftliches Versagen, weil wir keine billigere spezialisierte Hardware bauen konnten.

    • Die PineBuds wurden von Anfang an als Open-Firmware-Plattform konzipiert und deshalb mit einer leistungsfähigen MCU für Experimente ausgestattet.
      ANC-Bluetooth-Ohrhörer sind keine simplen Produkte, und Noise Cancelling muss dauerhaft sehr komplexe Berechnungen ausführen.
      Eine schnelle MCU ist kein bloßer Luxus, sondern bringt Vorteile bei niedriger Latenz und effizientem Power-Management.
      Statt einen perfekten ASIC zu bauen, ist eine mit universeller MCU aktualisierbare Architektur viel realistischer.
      Am Ende ist es deutlich wirtschaftlicher, bewährte MCUs in großen Stückzahlen einzukaufen, als einen kundenspezifischen Chip zu entwickeln.
    • Aus einer anderen Perspektive ist das ein wirtschaftlicher Erfolg: Dank Skaleneffekten ist leistungsfähige Hardware sogar zur günstigsten Option geworden.
    • Ich sehe das als einen Sieg der Halbleiterfertigung.
      Arbeitskosten für Design und Produktion kundenspezifischer Chips, Tests, Schulung und Kleinserienfertigung sind am Ende teurer.
      Kosten für Geschäftsprozesse machen einen viel größeren Anteil aus als Materialkosten.
    • Es überrascht mich, dass jemand versucht, den enormen Erfolg der Marktwirtschaft als wirtschaftliches Versagen zu interpretieren.
      Wir leben in einer Welt, in der DOOM auf Ohrhörern läuft — warum sollte man das negativ sehen?
    • Eine Dual-Core-300MHz-ARM-Cortex-M4F-CPU — das zeigt wirklich, wie verrückt das Hardware-Scaling seit dem Release von DOOM geworden ist.
      Die Spezifikationen sind übertrieben, aber erstaunlich ist, dass das alles ins Ohr passt.
  • Ich habe DOOM auf die PineBuds Pro portiert.
    Wenn man sich über das Internet verbindet, kann man DOOM auf meinen Ohrhörern spielen.
    Mehr Details und den GitHub-Link gibt es auf meiner Website.

    • Ich frage mich, wie hoch die Kompressionsrate bei der JPEG-Kodierung ist.
  • Es ist immer ein bisschen schade, dass fast nur DOOM portiert wird.
    Früher gab es viele einfache, aber süchtig machende Spiele, heute sind Spiele oft zu groß und komplex, um sie auf kleine Plattformen zu bringen.
    Abgesehen von Indies scheint die Branche ein wenig die Richtung verloren zu haben.
    Spiele wie das frühere Master of Orion 1 waren simpel, aber man konnte sie immer wieder spielen.
    Heutige Spiele wirken eher wie Videos, mit wenig Interaktion und XP-Grind, was sie für mich unattraktiver macht.

    • DOOM wird oft gewählt, weil es Open Source ist, einen angemessenen Ressourcenbedarf hat, eine interessante Engine besitzt und von einem hoch angesehenen Entwickler stammt.
      Inzwischen hat das schon Tradition.
    • Alte Spiele waren klein wegen technischer Beschränkungen.
      Heute achten die meisten Nutzer weder besonders auf Speichergröße noch auf Performance.
      Weil viele Konsumenten die Haltung haben, dass es „einfach nur laufen muss“, ist der Wert von Optimierung gesunken.
      Trotzdem gibt es in der Indie-Szene weiterhin viele kurze, stilvolle Spiele.
      Sie sind nur weniger bekannt, weil kurze Spiele wie Filme oft schwerer einen großen Eindruck hinterlassen.
    • Stimme zu, ich würde auch gern Freespace 2 auf Ohrhörern laufen sehen.
  • Eine Liste der DOOM-Ports gibt es auf Wikipedia.

  • Ich finde, das ist ein großartiger Werbeeffekt für die PineBuds Pro.
    Ich frage mich, ob so etwas auch mit Fairbuds möglich wäre.
    Aber wenn DOOM schon auf so vielen Geräten läuft, warum läuft es dann immer noch nicht flüssig auf einem 386er?

  • Das erinnert mich daran, wie John Carmack in Interviews nach DOOM 3 sagte, dass die Engine so komplex geworden sei, dass er nicht mehr den gesamten Code allein schreiben konnte.
    Ich frage mich, was er im heutigen AI-Zeitalter darüber denken würde.

    • Er konzentriert sich derzeit auf die Verwirklichung von AGI.
      Persönlich denke ich, dass er AI gegenüber positiv eingestellt wäre.
      Und „Masters of Doom“ ist ein wirklich gutes Buch, das ich empfehlen kann.
    • Schon während der Entwicklung von DOOM nutzte Carmack AI-artige Ansätze in Form von approximativer Interpolation (Approximate Interpolation).
  • Ich frage mich, ob hier jemand die PineBuds Pro ausprobiert hat.
    Auf dem Pine64-IRC gibt es keinen entsprechenden Kanal, deshalb war es schwer, danach zu fragen.

    • Ehrlich gesagt habe ich sie nie für ihren eigentlichen Zweck benutzt.
      Über Tragekomfort oder Klangqualität kann ich nichts sagen, aber auf dem Pine64-Discord-Kanal gibt es einen eigenen Raum für PineBuds.
    • Ich benutze sie seit dem Release, aber die Akkulaufzeit ist kurz — mit ANC sind es höchstens etwa 2 Stunden.
    • Früher mochte ich Pine64, aber nach den Problemen mit dem E-Ink-Tablet und dem Smartphone ist mein Vertrauen gesunken.
    • Ich bin zufrieden damit.
      Ich habe absichtlich eine Firmware ohne ANC installiert, aber als Bluetooth-Ohrhörer erfüllen sie ihren Zweck völlig ausreichend.
  • In ein paar Jahren könnte man mit etwas mehr RAM in Ohrhörern wohl auch einen lokalen Kubernetes-Cluster darauf betreiben.

  • Ich warte auf den Beitrag: „DOOM auf einen Einweg-Vape-Chip portiert“ 😄

    • Die Puya-PY32-MCU in den meisten Vapes hat 3KB RAM und 24KB ROM, das reicht bei weitem nicht für DOOM.
      Wenn das Moore’sche Gesetz weiter gilt, könnte es vielleicht in etwa 10 Jahren möglich sein.
    • Ein passendes Video gibt es unter diesem YouTube-Link.
  • Ein direkt mit den Ohrhörern verbundener eigenständiger Viewer funktioniert auch mobil.
    Siehe Demo-Video.
    Es gibt keine Touch-Steuerung, und es wird nur die Intro-Schleife abgespielt.