처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
테크 뉴스
Hacker News 2026.08.11 32

에뮬레이터 없이 퀘스트 VR 앱을 비전 프로에서 돌린다 — 호환 레이어 Klepton

Hacker News 원문 보기
에뮬레이터 없이 퀘스트 VR 앱을 비전 프로에서 돌린다 — 호환 레이어 Klepton

애플 비전 프로의 가장 큰 약점이 뭘까요? 하드웨어는 훌륭한데 쓸만한 앱, 특히 VR 게임이 부족하다는 거예요. 반대로 메타 퀘스트에는 수년간 쌓인 방대한 게임 라이브러리가 있고요. 그래서 한 개발자가 재미있는 도전을 시작했어요. 퀘스트용으로 만들어진 안드로이드 ARM64 APK를 비전 프로에서 그대로 실행하는 오픈소스 프로젝트, Klepton인데요. 접근 방식이 기술적으로 정말 흥미로워요.

에뮬레이터가 아니라 '와인(Wine)' 방식이에요

Klepton은 스스로를 '에뮬레이터가 아니라 호환 레이어'라고 소개해요. 이 둘의 차이가 뭐냐면, 에뮬레이터는 다른 CPU의 기계어를 소프트웨어로 한 줄 한 줄 흉내 내느라 느려지는 반면, 호환 레이어는 기계어는 그대로 실행하고 운영체제에 요청하는 함수 호출만 중간에서 번역해요. 리눅스에서 윈도우 게임을 돌리는 Wine이 대표적이죠. 여기서 핵심 통찰이 나오는데요. 퀘스트도 비전 프로도 똑같은 ARM64 아키텍처 CPU를 쓰거든요. 그러니 안드로이드 앱의 네이티브 코드는 애플 M 시리즈 칩에서 번역 없이 그대로 돌 수 있어요. 문제는 코드 자체가 아니라 코드가 기대하는 '주변 환경'이고, Klepton은 그 환경을 통째로 속임수로 재현해요.

겹겹이 쌓인 속임수의 기술

동작 방식을 뜯어보면 시스템 프로그래밍 교과서 같아요. 먼저 로더가 APK를 파싱해서 ELF 형식의 .so 라이브러리를 메모리에 매핑하고, 재배치를 적용한 뒤, 안드로이드의 C 라이브러리인 Bionic 호출을 macOS 계열의 Darwin libSystem으로 연결하는 심(shim) 테이블로 임포트를 해석해요. 심이 뭐냐면, 앱이 부르는 함수와 실제 시스템 사이에 끼어드는 얇은 번역 어댑터라고 보면 돼요.

가장 재치 있는 부분은 개발자가 'JNI 연극'이라고 부르는 층이에요. 안드로이드 앱은 자바 실행 환경(ART 런타임)이 있다고 가정하고 JNI라는 통로로 대화하는데, 비전 프로에는 당연히 그런 게 없거든요. 그래서 Unity 엔진의 시작 과정이 속아 넘어갈 만큼만 그럴듯하게 거짓말하는 가짜 JNIEnv를 만들었어요. 진짜 JVM 대신 네이티브 재구현이 뒤를 받치는 최소한의 무대장치인 거죠. VR 기능은 표준 API인 OpenXR을 visionOS의 CompositorServices와 ARKit 위에 재구현했고, 손 추적은 visionOS 핸드 앵커에 매핑하고 컨트롤러 입력은 손 제스처로 에뮬레이션해요. 그래픽은 ANGLE이라는 변환 라이브러리로 GLES를 Metal로 번역하고, 오디오는 AAudio를 AVAudioEngine에 연결하고요.

현재는 OpenXR 로더를 쓰는 Unity 기반 퀘스트 앱, 그중에서도 il2cpp로 빌드된 타이틀이 대상이에요. il2cpp가 뭐냐면 Unity가 C# 코드를 C++을 거쳐 네이티브 코드로 미리 컴파일해버리는 방식인데, 자바 의존이 적어서 이 구조에 딱 맞거든요. 몇몇 타이틀이 72Hz로 돌아가는 게 확인됐고, 자바로 게임 로직을 짠 앱과 DRM이 걸린 타이틀은 지원 범위 밖이에요. 본인이 소유한 APK만 쓰라는 원칙과 DRM 우회는 다루지 않는다는 선도 명확히 그어놨고요.

업계 맥락과 시사점

이런 호환 레이어에는 플랫폼 장벽을 허물어온 유서 깊은 계보가 있어요. Wine과 그 후손인 Proton은 스팀덱에서 수만 개의 윈도우 게임을 돌리며 리눅스 게이밍을 살려냈고, 애플의 Rosetta 2도 비슷한 철학으로 인텔에서 ARM으로의 전환을 성공시켰죠. Klepton은 아직 매우 실험적이고 충돌도 잦다지만, 방향 자체가 비전 프로의 콘텐츠 가뭄에 대한 커뮤니티발 해답이라는 점에서 의미가 있어요. 그리고 실무 관점에서는 링커와 로더, ABI, 그래픽 API 번역이 실제로 어떻게 맞물리는지 보여주는 살아있는 교재예요. 저수준 시스템에 관심 있다면 코드를 훑어보는 것만으로도 배우는 게 많을 거예요.

한 줄 정리: 같은 ARM64라는 점을 지렛대 삼아, 에뮬레이션 없이 API 번역만으로 퀘스트 앱을 비전 프로에서 돌리는 Wine식 호환 레이어가 등장했어요. 여러분은 이런 플랫폼 간 호환 레이어가 생태계에 결국 득이 된다고 보시나요, 아니면 각 플랫폼의 질서를 흔드는 일이라고 보시나요?


🔗 출처: Hacker News

이 뉴스가 유용했나요?

TTJ 코딩클래스 정규반

월급 외 수입,
코딩으로 만들 수 있습니다

17가지 수익 모델을 직접 실습하고, 1,300만원 상당의 자동화 도구와 소스코드를 받아가세요.

144+실전 강의
17개수익 모델
4.9수강생 평점
정규반 자세히 보기

"비전공 직장인인데 반년 만에 수익 파이프라인을 여러 개 만들었습니다"

실제 수강생 후기
  • 비전공자도 6개월이면 첫 수익
  • 20년 경력 개발자 직강
  • 자동화 프로그램 + 소스코드 제공

매일 AI·개발 뉴스를 받아보세요

주요 테크 뉴스를 매일 아침 이메일로 전해드립니다.

스팸 없이, 언제든 구독 취소 가능합니다.