# 둠(DOOM)이 무선 이어버드로 포팅됨

> Clean Markdown view of GeekNews topic #26130. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=26130](https://news.hada.io/topic?id=26130)
- GeekNews Markdown: [https://news.hada.io/topic/26130.md](https://news.hada.io/topic/26130.md)
- Type: GN+
- Author: [neo](https://news.hada.io/@neo)
- Published: 2026-01-26T10:00:53+09:00
- Updated: 2026-01-26T10:00:53+09:00
- Original source: [doombuds.com](https://doombuds.com)
- Points: 7
- Comments: 5

## Summary

1993년 고전 게임 **DOOM**이 오픈소스 펌웨어를 지원하는 **PineBuds Pro 무선 이어버드**에서 구동되도록 이식되었습니다. UART 기반 2.4Mbps 전송과 **MJPEG 스트림** 방식을 결합해 최대 27FPS의 영상 출력을 구현했으며, CPU 오버클럭과 경량화된 **Squashware WAD**로 메모리·저장 한계를 극복했습니다. 이어버드와 웹 서버, 브라우저를 잇는 구조 덕분에 사용자는 웹을 통해 원격으로 플레이할 수 있어, 초소형 하드웨어에서의 오픈소스 실험 가능성을 보여줍니다.

## Topic Body

- 1993년 고전 게임 **DOOM**을 **무선 이어버드 PineBuds Pro**에서 실행하도록 이식한 프로젝트로, 웹을 통해 원격 플레이 가능  
- 이어버드와 웹 서버를 연결하는 **직렬 서버(serial server)** , **웹 서버**, **정적 웹페이지**, 그리고 **DOOM 포트**의 네 구성 요소로 이루어짐  
- **UART 연결**을 통해 약 2.4Mbps 대역폭을 확보하고, **MJPEG 스트림**으로 영상을 전송해 최대 27FPS 이론 성능을 달성  
- CPU를 100MHz에서 300MHz로 오버클럭하고, **JPEG 인코딩** 한계로 약 18FPS 수준의 실제 성능 확보  
- **RAM·FLASH 제약**을 최적화와 경량화된 **Squashware WAD 파일**로 해결해, 오픈소스 펌웨어 기반 하드웨어 실험의 가능성 제시  
  
---  
### 프로젝트 개요  
- 1993년 출시된 **DOOM**을 **PineBuds Pro** 이어버드에서 실행하도록 이식  
  - PineBuds Pro는 **오픈소스 펌웨어**를 지원하는 유일한 무선 이어버드로 언급  
  - 웹사이트 방문자는 대기열에 등록해 원격으로 게임을 플레이할 수 있음  
- 프로젝트는 네 부분으로 구성  
  - 이어버드에서 실행되는 DOOM 포트  
  - 이어버드와 웹 서버를 연결하고 MJPEG 스트림을 Twitch로 변환하는 **직렬 서버**  
  - 자산 제공, 대기열 관리, 키 입력 전달, 스트림 표시를 담당하는 **웹 서버**  
  - 브라우저 표시 및 서버 통신을 담당하는 **정적 웹페이지**  
  
### 하드웨어 및 연결 구조  
- 이어버드는 디스플레이가 없어 **Bluetooth** 또는 **UART 접점 패드**로 데이터 송수신  
  - Bluetooth는 약 1Mbps로 느려, **UART(2.4Mbps)** 가 더 적합  
- DOOM의 프레임버퍼는 320×200 해상도, 8비트 컬러로 약 **96KB**  
  - UART 대역폭 기준 약 **3FPS** 전송 가능  
  - 이를 개선하기 위해 **MJPEG 스트림** 방식 채택  
- **JPEG 인코더**로 [bitbank2/JPEGENC](https://github.com/bitbank2/JPEGENC) 사용  
  - 평균 JPEG 프레임 크기 11~13.5KB  
  - 이론상 최대 FPS는 22~27FPS 수준  
  
### CPU 성능 조정  
- 기본 펌웨어의 CPU 클럭은 100MHz이나, 이를 **300MHz로 상승**시키고 저전력 모드 비활성화  
- Cortex-M4F(300MHz)는 DOOM 실행에는 충분하지만 **JPEG 인코딩**에서 병목 발생  
  - 실제 프레임 속도는 약 **18FPS** 수준  
  
### 메모리(RAM) 최적화  
- 기본 접근 가능한 RAM은 **768KB**, 보조 프로세서 비활성화 시 **992KB** 확보  
- DOOM은 4MB RAM을 요구하므로 다양한 최적화 수행  
  - **룩업 테이블 사전 생성**, **const 변수 플래시 저장**, **캐싱 시스템 비활성화**, **불필요 변수 제거** 등으로 메모리 절감  
  
### 플래시(FLASH) 용량 문제  
- DOOM 1의 기본 **WAD 파일**은 4.2MB로, 이어버드의 4MB 저장 한도를 초과  
- **fragglet**의 경량화 버전 **Squashware WAD(1.7MB)** 사용으로 문제 해결  
  - 모든 자산이 플래시 내에 수용 가능  
  
### 오픈소스 및 접근성  
- 프로젝트 코드는 두 개의 GitHub 저장소에서 공개  
  - [DOOMBuds](https://github.com/arin-s/DOOMBuds): 이어버드용 DOOM 포트  
  - [DOOMBUDS-JS](https://github.com/arin-s/DOOMBUDS-JS): 브라우저와 이어버드 간 상호작용 지원  
- 웹사이트는 대기열 기반으로 운영되며, 5번째 순서부터 **Twitch 스트림**이 **저지연 MJPEG 스트림**으로 전환

## Comments



### Comment 49982

- Author: cybecho
- Created: 2026-01-27T09:06:04+09:00
- Points: 1

"It Runs DOOM"

### Comment 49940

- Author: pjh2568
- Created: 2026-01-26T15:09:38+09:00
- Points: 1

둠력자들은 진짜.. 대단하네요

### Comment 49929

- Author: tsboard
- Created: 2026-01-26T12:22:53+09:00
- Points: 1

와 이건 좀... ㅎㄷㄷㄷㄷㄷ

### Comment 49927

- Author: kimjoin2
- Created: 2026-01-26T11:53:36+09:00
- Points: 1

세상에맙소사

### Comment 49921

- Author: neo
- Created: 2026-01-26T10:00:53+09:00
- Points: 1

###### [Hacker News 의견들](https://news.ycombinator.com/item?id=46753484) 
- 어떤 단순한 기기에서도 **DOOM**이 돌아가는 걸 볼 때마다, 이게 소프트웨어의 승리인지 아니면 더 저렴한 **전용 하드웨어**를 만들지 못한 경제적 실패인지 고민하게 됨
  - PineBuds는 애초에 **오픈 펌웨어 플랫폼**으로 설계되어 실험을 위한 강력한 MCU를 탑재한 것임  
    ANC 블루투스 이어버드는 단순한 제품이 아니며, **노이즈 캔슬링**은 매우 복잡한 연산을 지속적으로 수행해야 함  
    빠른 MCU는 단순한 낭비가 아니라 **낮은 지연시간**과 효율적인 전력 관리의 이점이 있음  
    완벽한 ASIC을 만들기보다 범용 MCU로 업데이트 가능한 구조를 갖는 것이 훨씬 현실적임  
    결국, 검증된 MCU를 대량 구매하는 것이 맞춤형 칩을 만드는 것보다 훨씬 경제적임
  - 또 다른 관점으로 보면, 이는 **규모의 경제** 덕분에 고성능 하드웨어가 오히려 가장 저렴한 선택지가 된 **경제적 성공**의 사례임
  - 나는 이것을 **반도체 제조의 승리**로 봄  
    맞춤형 칩을 설계하고 생산하는 데 드는 인건비, 테스트, 교육, 소량 생산 비용이 오히려 더 비쌈  
    재료비보다 **비즈니스 프로세스 비용**이 훨씬 큰 부분을 차지함
  - 시장경제의 **엄청난 성공**을 경제적 실패로 해석하려는 시도가 놀라움  
    이어버드에서 DOOM이 돌아가는 세상인데, 이걸 부정적으로 볼 이유가 없음
  - CPU가 듀얼코어 300MHz ARM Cortex-M4F라니, DOOM 출시 이후의 **하드웨어 스케일링**이 정말 미쳤다고 생각함  
    과한 스펙이지만, 이 모든 게 귀 안에 들어간다는 게 놀라움

- 내가 **DOOM을 PineBuds Pro**에 포팅했음  
  인터넷을 통해 접속하면 내 이어버드에서 DOOM을 플레이할 수 있음  
  자세한 내용과 GitHub 링크는 내 사이트에 있음
  - JPEG 인코딩의 **압축률**이 어느 정도 되는지 궁금함

- 항상 DOOM만 포팅되는 게 조금 아쉬움  
  예전엔 단순하지만 **중독성 있는 게임**이 많았는데, 요즘 게임은 너무 크고 복잡해서 작은 플랫폼에 옮기기 어려움  
  산업이 인디를 제외하고는 방향을 잃은 것 같음  
  예전의 **Master of Orion 1** 같은 게임은 단순하지만 반복해서 즐길 수 있었음  
  요즘 게임은 영상처럼 **상호작용이 적고 XP 노가다** 중심이라 흥미가 떨어짐
  - DOOM이 자주 선택되는 이유는 **오픈소스**, 적당한 리소스 요구, 흥미로운 엔진, 그리고 존경받는 개발자 때문임  
    이미 전통처럼 이어지고 있음
  - 예전 게임이 작았던 건 기술적 제약 때문이었음  
    지금은 대부분의 유저가 용량이나 성능에 크게 신경 쓰지 않음  
    소비자들이 “잘 돌아가기만 하면 됨”이라는 태도를 가지면서 **최적화의 가치**가 줄어듦  
    그래도 인디 씬에는 짧고 **스타일리시한 게임**이 여전히 많음  
    다만 영화처럼 짧은 게임이 큰 인상을 주기 어려워서 잘 알려지지 않을 뿐임
  - 나도 공감함, 이어버드에서 **Freespace 2**를 돌려보고 싶음

- DOOM 포팅 리스트는 [위키피디아 페이지](https://en.wikipedia.org/wiki/List_of_Doom_ports)에서 볼 수 있음
  - 관련 서브레딧은 [r/itrunsdoom](https://www.reddit.com/r/itrunsdoom/)임

- PineBuds Pro에 대한 **멋진 홍보 효과**라고 생각함  
  Fairbuds는 이런 게 가능할까 궁금함  
  그런데 이렇게 많은 기기에서 DOOM이 돌아가는데, 왜 아직도 **386에서는 부드럽게 실행**되지 않는 걸까

- John Carmack이 DOOM 3 이후 인터뷰에서, 엔진이 복잡해지면서 **모든 코드를 혼자 작성할 수 없게 됐다**고 말한 게 떠오름  
  지금의 **AI 시대**에 그는 어떤 생각을 할지 궁금함
  - 그는 현재 **AGI 실현**에 집중하고 있음  
    개인적으로는 AI에 대해 긍정적일 것 같음  
    그리고 “Masters of Doom”은 정말 좋은 책이라 추천함
  - DOOM 개발 당시에도 Carmack은 **근사 보간(Approximate Interpolation)** 같은 형태로 AI적 접근을 활용했음

- PineBuds Pro를 써본 사람이 있는지 궁금함  
  Pine64 IRC에는 관련 채널이 없어서 물어보기 어려웠음
  - 솔직히 말하면, 본래 용도로는 써본 적이 없음  
    착용감이나 음질은 모르겠지만, Pine64 **디스코드 채널**에 Pinebuds 전용 방이 있음
  - 출시 이후 계속 사용 중인데, **배터리 지속시간**이 짧음 — ANC 켜면 최대 2시간 정도임
  - 예전엔 Pine64를 좋아했지만, **e-ink 태블릿과 폰 문제** 이후로 신뢰가 줄었음
  - 나는 만족스럽게 사용 중임  
    일부러 ANC 없는 펌웨어를 설치했지만, **블루투스 이어버드**로서는 충분히 제 역할을 함

- 몇 년 후, 이어버드에 램이 좀 더 늘어나면 **로컬 Kubernetes 클러스터**도 돌릴 수 있을 것 같음

- “**DOOM을 일회용 전자담배 칩에 포팅했다**”는 글을 기다리고 있음 😄
  - 대부분의 전자담배에 들어가는 Puya PY32 MCU는 **3KB RAM, 24KB ROM**이라 DOOM 실행엔 한참 부족함  
    무어의 법칙이 계속된다면, 약 **10년 후**쯤 가능할지도 모름
  - 관련 영상은 [YouTube 링크](https://www.youtube.com/watch?v=rVsvtEj9iqE)에서 볼 수 있음

- 이어버드에 직접 연결된 **독립 뷰어**도 모바일에서 작동함  
  [데모 영상](https://files.catbox.moe/pdvphj.mp4) 참고  
  터치 컨트롤은 없고, 인트로 루프만 재생됨
