- E-ink 기기는 컬러 화면과 앱스토어 대신 저전력·저성능 제약을 받아들이며, 80~90년대 컴퓨터처럼 직접 만지고 고치는 재미를 줌
- 선호되는 형태는 디스플레이 서버나 대용량 RAM 없이 Linux를 실행하는 저전력 ARM 장치로, 앱이 입력과 framebuffer에 가깝게 붙어 동작함
- reMarkable과 Kobo 주변에는 런처, 터미널, 인터랙티브 픽션, 대체 전자책 리더, Doom 포트 같은 홈브루 소프트웨어가 자라고 있음
- 시작은 reMarkable의 Toltec, Kobo의 KoboStuff·devmodeon·SSH 설정에서 출발하지만, 기기마다 드라이버·배터리·패키지 관리 제약이 다름
- Kindle, Onyx, Pine Note는 각각 jailbreak 필요, GPL 논란, 미성숙한 소프트웨어 상태가 있어 해킹용 기기로 고를 때 주의가 필요함
E-ink가 주는 레트로펑크 감각
- E-ink 기기는 80~90년대 컴퓨터의 마법 같은 느낌을 되살리는 장치에 가까움
- Windows나 Mac OS X 같은 거대한 데스크톱 환경보다, 추상화를 적게 쌓은 단순한 컴퓨팅 환경에 가까움
- DOS의 2020년대 버전이자 성인을 위한 그래프 계산기 같은 위치를 차지함
선호되는 E-ink 기기의 조건
- 핵심은 디스플레이 서버나 수 GB RAM 없이 Linux를 실행하는 저전력 ARM 장치임
- 매력은 성능보다 제약과 단순함에서 나옴
- E-ink 디스플레이는 낮에도 화면을 볼 수 있음
- 저전력 특성 덕분에 한 번 충전해 몇 주 동안 사용할 수 있음
- ARM은 명령어 수가 적고 비용도 낮은 단순한 아키텍처임
- Linux는 Android보다 단순한 환경으로 다뤄짐
- 앱은 커널과 직접 통신해 입력을 읽고 framebuffer에 직접 그림
- 낮은 RAM과 느린 CPU 때문에 복잡한 소프트웨어 스택, 창 관리자, 브라우저, Electron 앱을 올릴 여지가 적음
- 90년대 초반 컴퓨터와 닮았지만, 현재 기기다운 장점도 있음
- 해상도는 과거 컴퓨터보다 훨씬 높고 PPI는 200~300 수준임
- 모든 기기가 터치 이벤트를 지원하며, 일부는 펜 스타일러스도 지원함
- 무게는 200~400g, 화면 크기는 6~10인치로 휴대성이 높음
홈브루 중심의 소프트웨어 문화
- E-ink 기기는 틈새 장치라 소프트웨어 생태계가 Homebrew Computing Club 같은 홈브루 문화에 가까움
- 사용자는 컬러 디스플레이, 앱스토어, 추적 픽셀, pay-to-play 기능, 지속적인 방해 요소를 포기하고 저성능 장치에서 작업하는 애호가들임
- 이메일, 채팅, 소셜 네트워크가 없고 단순한 애플리케이션만 남아 있음
- 제약이 많지만, 바로 그 제약 때문에 흥미롭고 독특한 소프트웨어가 나옴
reMarkable 생태계의 예시
- reMarkable 생태계에는 기기의 제약을 활용한 여러 애플리케이션이 있음
- oxide와 remux: 멀티태스킹 애플리케이션 런처
- terminal emulators: 터미널 에뮬레이터
- folly: 인터랙티브 픽션 인터프리터
- sill: 직접 쓸 수 있는 실험적 에디터와 셸
- harmony: 레이어를 지원하는 절차적 드로잉 앱
- koreader와 plato: 대체 전자책 리더
- sas: Unix 철학을 따르는 단순 앱 스크립트
- chessmarkable: 체스 보드
- doomarkable: Doom 포트
- rmkit.dev와 Toltec stable에서도 더 많은 소프트웨어를 볼 수 있음
Kobo 쪽 해킹 흐름
- Kobo 쪽에서는 NiLuJE, pgaskin 등이 해킹을 이어가고 있음
- 대표적인 소프트웨어는 다음과 같음
- InkBox: 여러 내장 애플리케이션을 포함한 대체 OS
- KoReader: 거의 모든 E-ink 플랫폼에서 지원되는 전자책 리더이며 Kobo에서도 동작함
- NickelMenu: Kobo UI 시스템에 여러 기능을 추가하는 도구
- E-ink는 아직 틈새 영역이라 생태계를 채울 애플리케이션을 만들 여지가 큼
해킹을 시작하는 방법
- E-ink 기기 해킹은 reMarkable이나 Kobo를 준비하고 커뮤니티에 참여하는 데서 시작할 수 있음
-
reMarkable
- Toltec repository가 좋은 시작점임
- Toltec 메인테이너 Eeems의 tutorial과 awesome reMarkable 저장소도 참고할 수 있음
-
Kobo
- NiLuJE의 KoboStuff가 주요 시작점임
- KoboStuff에는 telnet 대신 SSH를 켜는 데 사용할 수 있는 tarball이 포함됨
- devmodeon을 켜서 telnet 접속을 가능하게 한 뒤 SSH를 활성화하는 흐름이며, 복잡해 보여도 크게 어렵지는 않음
기기별 제약과 주의점
- reMarkable 2는 독점 디스플레이 드라이버 SWTCON을 사용하며, 이 드라이버는 UI인 Xochitl 안에 있음
- rM2에서 애플리케이션이 동작하도록 Xochitl 안의 드라이버를 재사용하는 shim이 만들어짐
- 이 shim은 정확한 바이너리 주소에 hook을 걸어야 해서 릴리스마다 업데이트가 필요함
- 대체 디스플레이 드라이버 waved가 개발 중임
- rM1은 이 이유로 rM2보다 선호될 수 있지만, 배터리 수명은 더 좋지 않음
- 주변장치인 Wacom 디스플레이가 regulator에 연결되지 않은 것처럼 보이며, 유휴 배터리 수명은 며칠 수준임
- Kobo는 강력한 패키지 관리가 없음
- 일반적으로 KoboRoot.tgz를 제공하고 다음 재부팅 후 압축이 풀리는 방식으로 소프트웨어를 설치함
- 제거할 때는 개발자가 제공한 지침이나 제거 스크립트에 의존해야 함
왜 지금 E-ink 이야기를 하는가
- 몇 년 전부터 E-ink 기기를 해킹하며 애플리케이션을 만들고, 다른 사람이 만든 것을 보는 데 큰 재미를 느낌
- 실제 작업, 배운 점, E-ink 앱 개발 시 고려할 점에 대한 글을 여러 번 시도했지만, E-ink에 대한 열정이 잘 드러나지 않아 완성하지 못함
- 이번에는 E-ink가 왜 멋진지 자체를 분명히 말하는 데 초점을 둠
해킹용으로 까다로운 기기들
-
Kindle
- Kindle은 사용하려면 jailbreak가 필요함
- Kindle Fire는 수정된 Android OS를 실행함
- 최신 펌웨어는 jailbreak에 저항할 수 있으며, Kindle Scribe는 아직 보안이 유지된 상태임
- 이런 이유로 Kindle 기기는 특별히 추천되지 않음
-
Onyx
- Onyx는 E-ink 관련 글타래마다 GPL을 따르지 않는 사례로 거론됨
- 수정된 Linux 커널을 사용하면서 소스를 공개하지 않았다는 지적이 있음
-
Pine Note
- Pine Note는 멋지고 개방적이지만 소프트웨어가 아직 개발 중임
- 초기 사용자와 개발자를 대상으로 한 초기 제품을 감수할 수 있을 때만 사용해야 함
- 너무 해커 친화적인 기기일 수 있음
HN 댓글에서 나온 보충
- rM2를 만지다 벽돌이 될 수 있느냐는 질문에는 일종의 soft brick이 가능하다는 답이 붙음
- 화면이 표시되지 않는 상태가 될 수 있지만 SSH가 살아 있으면 되돌릴 수 있음
- SSH를 잃어도 복구는 가능하지만 더 많은 작업이 필요함
- SSH 키를 설치해 둔 상태에서는 직접 벽돌로 만든 적이 없다고 함
- 가격이 해커 영역과 맞지 않는다는 반응에는 rM1은 eBay에서 200달러 미만, Kobo Clara는 100달러 미만으로 구할 수 있다는 답이 나옴
- 가격 우려는 이해하지만 해킹은 가격과 직교한다고 봄
- “retro”와 “punk”의 적용 여부를 두고 댓글에서 논의가 이어짐
- “retropunk”라는 표현은 80년대부터 오늘날까지 컴퓨팅이 다른 경로를 택했다면 어땠을지를 떠올린 말임