Back

Doom has been ported to an earbud

385 points18 hoursdoombuds.com
nehalem14 hours ago

Whenever I see another supposedly menial device including enough general purpose hardware to run Doom, I wonder whether I should think of that as a triumph of software over hardware or an economic failure to build cheaper purpose-built hardware for things like sending audio over a radio.

Aurornis11 hours ago

> Whenever I see another supposedly menial device including enough general purpose hardware

The PineBuds are designed and sold as an open firmware platform to allow software experimentation, so there’s nothing bad nor any economic failures going on here. Having a powerful general purpose microcontroller to experiment with is a design goal of the product.

That said, ANC Bluetooth earbuds are not menial products. Doing ANC properly is very complicated. It’s much harder than taking the input from a microphone, inverting the signal, and feeding it into the output. There’s a lot of computation that needs to be done continuously.

Using a powerful microcontroller isn’t a failure, it’s a benefit of having advanced semiconductor processes. Basically anything small and power efficient on a modern process will have no problem running at tens of MHz speeds. You want modern processes for the battery efficiency and you get speed as a bonus.

The speed isn’t wasted, either. Higher clock speeds means lower latency. In a battery powered device having an MCU running at 48MHz may seem excessive until you realize that the faster it finishes every unit of work the sooner it can go to sleep. It’s not always about raw power.

Modern earbuds are complicated. Having a general purpose MCU to allow software updates is much better than trying to get the entire wireless stack, noise cancellation, and everything else completely perfect before spinning out a custom ASIC.

We’re very fortunate to have all of this at our disposal. The groveling about putting powerful microcontrollers into small things ignores the reality of how hard it is to make a bug-free custom ASIC and break even on it relative to spending $0.10 per unit on a proven microcontroller manufacturer at scale.

seabass-labrax7 hours ago

The other aspect to consider is changing requirements. Maybe a device capable of transmitting PSTN-level audio quality wirelessly would have been popular twenty years ago, but nowadays most people wouldn't settle for anything with less than 44.1kHz bandwidth. A faster processor means that there's some room for software upgrades later on, future-proofing the device and potentially reducing electronic waste. Unfortunately, that advantage is almost always squandered in practice by planned obsolescence and an industry obsession with locked-down, proprietary firmware.

ashtakeaway8 hours ago

[flagged]

awesome_dude7 hours ago

These accusations of someone using ChatGPT are cheap mindless attacks based on nothing more than the fact that someone has put together a good argument and used good formatting.

If that's all your evidence is, don't you dare go near any scientific papers.

+1
UqWBcuFx6NV4r3 hours ago
rogerrogerr14 hours ago

Or a third option - an economic success that economies of scale have made massively capable hardware the cheapest option for many applications, despite being overkill.

cyberrock13 hours ago

Also see: USB 3+ e-marker chips. I'm still waiting for a Doom port on those.

AlecSchueler11 hours ago

Or the fourth option, an environmental disaster all around

dubbie9911 hours ago

The materials that go into a chip are nothing. The process of making the chip is roughly the same no matter the power of it. So having one chip that can satisfy a large range of customers needs is so much better than wasting development time making a custom just good enough chip for each.

+2
AlecSchueler11 hours ago
s53008 hours ago

[dead]

Aurornis11 hours ago

It’s the opposite. Using an off the shelf MCU is much more efficient than trying to spin your own ASIC.

Doing the work in software allows for updates and bug fixes, which are more likely to prevent piles of hardware from going into the landfill (in some cases before they even reach customers’ hands).

compiler-devel10 hours ago

Nobody cares, unless they’re commenting for an easy win on internet message boards.

pibaker10 hours ago

You should see it as the triumph of chip manufacturing — advanced, powerful MCUs have became so cheap thanks to manufacturing capabilities and economies of scale means it is now cheaper to use a mass manufactured general purpose device that may take more material to manufacture than a simpler bespoke device that will be produced at low volumes.

You might be wondering "how on earth a more advanced chip can end up being cheaper." Well, it may surprise you but not all cost in manufacturing is material cost. If you have to design a bespoke chip for your earbuds, you need to now hire chip designers, you need to go through the whole design and testing process, you need to get someone to make your bespoke chip in smaller quantities which may easily end up more expensive than the more powerful mass manufactured chips, you will need to teach your programmers how to program on your new chip, and so on. The material savings (which are questionable — are you sure you can make your bespoke chip more efficiently than the mass manufactured ones?) are easily outweighed by business costs in other parts of the manufacturing process.

tt2413 hours ago

Incredible to see people try to spin the wild successes of market based economies as an economic failure.

Hardware is cheap and small enough that we can run doom on an earbud, and I’m supposed to think this is a bad thing?

hashmap13 hours ago

I can sort of see one angle for it, and the parent story kind of supports it. Bad software is a forcing function for good hardware - the worse that software has gotten in the past few decades the better hardware has had to get to support it. Such that if you actually tried like OP did, you can do some pretty crazy things on tiny hardware these days. Imagine what we could do on computers if they weren't so bottlenecked doing things they don't need to do.

tt248 hours ago

That wasn't the GP's claim. Their implication was that it's an economic failure that we don't produce less powerful hardware.

hashmap6 hours ago

Yeah, that's more or less what I'm getting at.

TrainedMonkey14 hours ago

> CPU: Dual-core 300MHz ARM Cortex-M4F

It's absolute bonkers amount of hardware scaling that happened since Doom was released. Yes, this is a tremendous overkill here, but the crazy part here is that this fits into an earpiece.

mlyle12 hours ago

This is the "little part" of what fits into an earpiece. Each of those cores is maybe 0.04 square millimeters of die on e.g. 28nm process. RAM takes some area, but that's dwarfed by the analog and power components and packaging. The marginal cost of the gates making up the processors is effectively zero.

trhway9 hours ago

so 1mm2 peppered by those cores at 300MHz will give you 4 Tflops. And whole 200mm wafer - 100 Petaflops, like 10 B200s, and just at less than $3K/wafer. Giving half area to memory we'll get 50 PFlops with 300Gb RAM. Power draw is like 10-20KW. So, giving these numbers i'd guess Cerebras has tremendous margin and is just printing money :)

+1
mlyle7 hours ago
Telemakhos14 hours ago

I remember playing Doom on a single-core 25MHz 486 laptop. It was, at the time, an amazing machine, hundreds of times more powerful than the flight computer that ran the Apollo space capsule, and now it is outclassed by an earbud.

iberator12 hours ago

Can we finally end this Apollo computer comparison forever? It was a real time computer NOT designed for speed but real time operations.1

Why don't you compare it to let's say pdp11, vax780/11 or Cray 1 supercomputer?

NASA used a lot of supercomputers here on earth pior to mission start.

+1
mlyle12 hours ago
tadfisher12 hours ago

And perhaps more fittingly, that PC couldn't decode and play an MP3 in real time.

wolvoleo10 hours ago

Yes but also Doom is very very old.

I bought a kodak camera in 2000 (640x480 resolution) and even that could run Doom on it. Way back when. Actually playable with sounds and everything.

Here's an even older one running it: https://m.youtube.com/watch?v=k-AnvqiKzjY

the_fall10 hours ago

> economic failure to build cheaper purpose-built hardware for things like sending audio over a radio.

You're literally just wasting sand. We've perfected the process to the point where it's inexpensive to produce tiny and cheap chips that pack more power than a 386 computer. It makes little difference if it's 1,000 transistors or 1,000,000. It gets more complicated on the cutting edge, but this ain't it. These chips are probably 90 nm or 40 nm, a technology that's two decades old, and it's basically the off-ramp for older-generation chip fabs that can no longer crank out cutting-edge CPUs or GPUs.

Building specialized hardware for stuff like that costs a lot more than writing software that uses just the portions you need. It requires deeper expertise, testing is more expensive and slower, etc.

danielbln14 hours ago

It's already very cheap to build though. We are able to pack a ton of processing into a tiny form factor for little money (comparatively, ignoring end-consumer margins etc.).

An earbud that does ANC, supports multiple different audio standard including low battery standby, is somewhat resistant to interference, can send and receive over many meters. That's awesome for the the price. That it has enough processing to run a 33 year old game.. well, that's just technological progression.

A single modern smartphone has more compute than all global conpute of 1980 combined.

ck211 hours ago

I need that in lunar-lander exponents

(imagine the lunar lander computer being an earbud ha)

danielbln11 hours ago

Well, current smartphone would be about 10^8 times faster/more than the lunar lander.

A single Airpod would be about 10^4 times as powerful as the entire lunar lander guidance system.

Or to put another way: a single Airpod would outcompute the entire Soviet Union's space program.

varjag14 hours ago

Earbuds often have features like mic beam forming and noise cancellation which require a substantial degree of processing power. It's hardly unjustified compared to your Teams instance making fans spin or Home Assistant bringing down an RPi to its knees.

grishka6 hours ago

These sorts of things feel like they would be quite inefficient on a general-purpose CPU so you would want to do them on some sort of dedicated DSP hardware instead. So I would expect an earbud to use some sort of specialized microcontroller with a slow-ish CPU core but extra peripherals to do all the signal processing and bluetooth-related stuff.

nehalem14 hours ago

No doubt, maybe should I have emphasised the "general" part of "general purpose" more. Not a hardware person myself, I wonder whether there would be purpose-built hardware that could do the same more cheaply – think F(P)GA.

Aurornis11 hours ago

> I wonder whether there would be purpose-built hardware that could do the same more cheaply – think F(P)GA.

FPGAs are not cost efficient at all for something like this.

MCUs are so cheap that you’d never get to a cheaper solution by building out a team to iterate on custom hardware until it was bug free and ready to scale. You’d basically be reinventing the MCU that can be bought for $0.10, but with tens of millions of dollars of engineering and without economies of scale that the MCU companies have.

nicoburns10 hours ago

> I wonder whether there would be purpose-built hardware that could do the same more cheaply

Where are you imagining costy savings coming from? Custom anything is almost always vastly more expensive than using a standardised product.

gpm13 hours ago

Neither - it's a triumph of our ability to do increasing complex things in both software and hardware. An earbud should be able to make good use of the extra computing capacity, whether it is to run more sophisticated compression saving bandwidth, or for features like more sophisticated noise cancelling/microphone isolation algorithms. There are really very few devices that shouldn't be able to be better given more (free) compute.

It's also a triumph of the previous generation of programmers to be able to make interesting games that took so little compute.

buildbot12 hours ago

Plus there’s actually less waste, I would imagine, by using a generic, very efficiently mass produced, but way overkill part. vs. a one off or very specific, rare but perfectly matched part.

echelon12 hours ago

There are enough atoms in that earbud to replace all of the world's computers.

We've got a long way to go.

Waterluvian11 hours ago

I imagine it’s far more economical to have one foundry that can make a general purpose chip that’s overpowered for 95% of uses than to try to make a ton of different chips. It speaks to how a lot of the actual cost is the manufacturing and R&D.

sdenton411 hours ago

The only real problem I could see is if the general purpose microcontroller is significantly more power-hungry than a specialized chip, impacting the battery life of the earbuds.

On every other axis, though, it's likely a very clear win: reusable chips means cheaper units, which often translates into real resource savings (in the extreme case, it may save an entire additional factory for the custom chips, saving untold energy and effort.)

tracerbulletx4 hours ago

Less computing power is not necessarily cheaper.

__MatrixMan__14 hours ago

If it can run Doom it can run malware.

tobinc11 hours ago

I think it's just indicative of the fact that general purpose hardware has more applications, and can thus be mass produced for cheaper at a greater scale and used for more applications.

mlyle12 hours ago

Marginal cost of a small microprocessor in an ASIC is nothing.

The RAM costs a little bit, but if you want to firmware update in a friendly way, etc, you need some RAM to stage the updates.

notarobot12312 hours ago

It's intuitive to think of wasted compute capacity as correlating with a waste of material resources. Is this really the case though?

mathgeek11 hours ago

Waste is subjective or, at best, hard to define. It's the classic "get rid of all the humans and nothing would be wasted" aphorism.

daft_pink11 hours ago

If you look at the bottom of the page, it’s an advertisement for someone looking for a job to show off his technical skill.

ornornor11 hours ago

Okay? Is that good or bad or what?

gjsman-10008 hours ago

I will never understand people who treat MHz like a rationed resource.

arin-s18 hours ago

Hi, I ported DOOM to the Pinebuds Pro earbuds. It's accessible over the internet, so you can join the queue and play DOOM on my earbuds from your PC! More info as well as links to the github repos can be found on the site.

RandomTeaParty11 hours ago

What compression ratio does your jpeg encoding achieve?

arin-s10 hours ago

It ranges from 5.8:1 to 4.7:1 depending on scene complexity. Keep in mind I calculated these values using the 8-bit pallete-based framebuffer that DOOM uses, not a 24-bit one that a regular RGB buffer would use.

neonmagenta18 minutes ago

Have we successfully ported Doom to a beeper yet?

linehedonist3 hours ago

The Doom port itself is pretty fun, but I love the presentation of it. Brilliant idea to let people play the game themselves on the actual hardware.

7777777phil15 hours ago
omoikane11 hours ago

Subreddit of Doom ports: https://www.reddit.com/r/itrunsdoom/

ryan-duve3 hours ago

[666]

smi-nvidia14 hours ago

[dead]

npsomaratna14 hours ago

On a tangent: I remember reading John Carmak saying that as game engines became more complex, he had to relinquish the idea of writing all the (engine) code himself, and start to rely on other folks contributions as well (this was in an interview after the release of Doom 3).

I wonder what his feelings are in this age of AI.

Insanity14 hours ago

John is now on a mission to make AGI a reality. I’d say given his own investment there, he’s probably positive about it.

Just speculation on my part of course.

Also, “masters of doom” is such a good book. Recommend it for anyone who wants to peek behind the scenes of how Carmack, Romero, and iD software built Doom (and Wolf3D etc).

lgvld10 hours ago

Yes such a fantastic book. I thought about it recently while reading this article about the three teenagers who created the Mirai botnet, same vibes, you would probably like it: https://www.wired.com/story/mirai-untold-story-three-young-h...

nortlov13 hours ago

Carmak made extensive use of AI during Doom development: Approximate Interpolation.

shevy-java13 hours ago

I am a bit said that it is always Doom.

Now ... I played the game when I was young. It was addictive. I don't think it was a good game but it was addictive. And somewhat simple.

So what is the problem then? Well ... games have gotten a lot bigger, often more complicated. Trying to port that to small platforms is close to impossible. This makes me sad. I think the industry, excluding indie tech/startups, totally lost the focus here. The games that are now en vogue, do not interest me at all. Sometimes they have interesting ideas - I liked little nightmares here - but they are huge and very different from the older games. And often much more boring too.

One of my favourite DOS games was master of orion 1 for instance. I could, despite its numerous flaws, play that again and again and again. Master of Orion 2 was not bad either, but it was nowhere near as addictive and the gameplay was also more convoluted and slower.

(Sometimes semi-new games are also ok such as Warcraft 3. I am not saying ALL new games are bad, but it seems as if games were kind of dumbed down to be more like a video to watch, with semi-few interactive elements as you watch it. That's IMO not really a game. And just XP grinding for the big bad wolf to scale to the next level, deal out more damage, as your HP grows ... that's not really playing either. That's just wasting your time.)

RadiozRadioz13 hours ago

It's Doom in part because it's a significantly popular game, that was open sourced, with low resource requirements (but not too low to be trivial), with an innovative custom engine that people find interesting, originally created by a person who many respect or admired growing up, and the game itself is cool. And now there is enough inertia to keep choosing it.

m-p-313 hours ago

I wish there were more ports of Duke Nukem 3D :(

Guvante13 hours ago

Most people don't realize that games were small back then because they had to be.

The value of being small for most users almost doesn't exist. If you have bandwidth limits then yeah download size is important but most don't.

So the only meaningful change optimizations make is "will it run well enough" and "does it fit on my disk".

Put more plainly "if it works at all it doesn't matter" is how most consumers (probably correctly) treat performance optimizations/installation size.

The sacrifices you talk about were made at explicit request of consumers. Games have to be "long enough" and the difference between enough game loop and grinding is a taste thing. Games have to be "pretty" and for better or worse stylized takes effort and is a taste thing (see Wind Waker) while fancy high res lighting engines are generally recognized as good.

I will say though while being made by indies means they are optimized terribly the number of stylized short games is phenomenally high it can just be hard to find them.

Especially since it is difficult for an hour or two game to be as impactful as a similar length movie so they tend to not be brought up as frequently.

bitmasher912 hours ago

Storage space is at a premium. The PS5 has about 650gb of usable space. At ~100gb/game which is not uncommon you can store 6 games on the console without needing to free up hard drive space.

Filesize matters, especially to people with limited bandwidth and data caps. The increasing cost of SSDs only makes this situation more hardware constrained.

dclowd990113 hours ago

Im with you. I want to play Freespace 2 on earbuds.

branon16 hours ago

How are the PineBuds Pro, anyone have them? The Pine64 IRC network doesn't have a channel for PineBuds discussion so I haven't had an easy opportunity to ask.

arin-s16 hours ago

To be honest, I've never actually used them for their intended purpose. No idea what the comfort or audio quality is like. There's a Pinebuds channel on the Pine64 discord, you can ask questions there :)

utopiah15 hours ago

Was using them just this morning. I've been using them since they are out. Great device but battery is quite limited, ~2hrs top with ANC on.

TheCraiggers15 hours ago

I'm also curious. I used to be a big supporter of Pine64 but the e-ink tablet and phone debacles have kinda soured me on them.

yjftsjthsd-h10 hours ago

Mine have been great. Full disclosure, I deliberately don't use ANC... in fact, I may have installed firmware that doesn't have it. So I can't comment on that. But just as Bluetooth earbuds, they do their job.

tqi5 hours ago

There's gotta be a Moore's law corollary for "Doom ported to [blank]" milestones. I wonder where this all ends? Doom ported to a mechanical pencil! Doom ported to a clipper card! To a lightbulb??

utopcell1 hour ago

It all ends with it is ported to a paperclip machine [1].

[1] https://www.decisionproblem.com/paperclips/index2.html

neurostimulant13 hours ago

> Earbuds don't have displays, so the only way to transfer data to/from them is either via bluetooth, or the UART contact pads. Bluetooth is pretty slow, you'd be lucky to get a consistent 1mbps connection, UART is easily the better option.

Does this means you can run a doom instance on each bud? Is it viable to make a distributed app to use the computing power of both buds at once?

arin-s13 hours ago

This was a stretch goal, multiplayer. One earbuds versus the other. It's not that hard to implement but I've got a few other things to clear away first.

Using them for distributed computation though? interesting use of free will xD

RandomTeaParty11 hours ago

Compute one half of the screen on each

Left ear for the right eye and vice versa

jentulman11 hours ago

Single player, but stereoscopic? One display from each bud.

"VR Doom has been ported to an earbud(s)" ;)

WXLCKNO13 hours ago

A few more years and some more ram on these earbuds and we'll be able to run some nice local earbud kubernetes clusters

KellyCriterion15 hours ago

Im waiting for the post "Doom ported to disposable Vape chip" :-D

primitivesuave13 hours ago

The Puya PY32 series MCUs found in most vapes have 3kb of RAM and 24kb of ROM, whereas Doom requires at least 4MB of RAM. Assuming Moore's law also applies to the computing power inside a disposable vape, we should be seeing that post in around a decade :)

KellyCriterion14 hours ago

Good catch! Though it misses my primary condition: "disposable" - ha! :-D (this one is a refillable one, and it looks like he is streaming the content from his PC?)

But a very cool link, thanks for sharing! :)

arin-s14 hours ago

The standalone viewer (connected directly to the earbuds) also works on mobile: https://files.catbox.moe/pdvphj.mp4

No touch controls though, it just plays the intro loop

guerrilla7 hours ago

Awesome advertising for the Pinebunds Pro. No chance the Fairbuds can do this? I don't know much about them.

Also, with DOOM running on all these things now, is it still impossible to get it to run well on a 386?

theragra2 hours ago

I think there was a port that was much less demanding, and likely suitable for 386, but needs to be backported to x86

automatic613115 hours ago

Do we have Doom on a USB-C plug microcontroller yet?

KellyCriterion15 hours ago

Disposable Vape CPU!

TheCraiggers15 hours ago

At first I thought you found a way to control/view the game acoustically and I was very curious how that worked.

But, this probably makes more sense.

wolvoleo10 hours ago

But can it run crysis?

nacozarina5 hours ago

someone made a crude web server out of a vape pen a few weeks ago, we can’t be too far from running doom on one

catlifeonmars11 hours ago

As an aside, I really like the style of the page. I wish it was available as a classless css dropin stylesheet.

moktonar13 hours ago

We should definitely send a playable copy of doom to aliens on a golden record on the next Voyager mission

listeria12 hours ago

and risk having them interpret it as a declaration of war?

jurakis18 hours ago

This is awesome! the amount of devices doom has not been run on shrinks by the day haha

anthk12 hours ago

It's possible to run Zork I-III Frotz under a pen, some FPGA and even interpreting a PostScript file. Even the Game Boy, the C64, MSX... So, Doom is not the most ported game ever.

j1elo11 hours ago
frizlab10 hours ago

> wow this front end code is atrocious, state management is everywhe-

> shhhh don't look don't look it's ok just join the queue

love it

Yiin4 hours ago

I'm more impressed it wasn't written by llm than I can be judgemental about the code itself

epenn13 hours ago

In light of this I propose "Doom's Law" as the ultimate expression of late stage capitalism:

- Society continues to produce more and more powerful devices.

- More and more of these devices begin running Doom.

- When this reaches the saturation point, society becomes Doom.

optimalsolver14 hours ago

Relevant SMBC, "Computer scientist vs computer engineer": https://www.smbc-comics.com/comic/2011-02-17

lombasihir15 hours ago

can we run doom on water pump?