최근 수정 시각 : 2025-11-09 02:39:14

Skyline(에뮬레이터)


#!wiki style="margin: -5px -10px; padding: 5px 10px;
{{{+1 {{{#fff '''닌텐도 에뮬레이터'''}}}}}}
{{{#!wiki style="margin: 0 -10px -5px; min-height: calc(1.5em + 5px)"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin: -5px -1px -11px; word-break: keep-all"
<colbgcolor=#e60012><colcolor=#ffffff>
별도 문서가 있는 에뮬레이터
취소선은 개발 중지 상태
가정용 패밀리컴퓨터 파이널번 네오 · higan
슈퍼 패미컴 ares · bsnes · higan · ZSNES
게임큐브 · Wii Dolphin
Wii U Cemu
휴대용 게임보이 · 게임보이 컬러 Virtual GameBoy · VisualBoyAdvance · higan
게임보이 어드밴스 VisualBoyAdvance · NO$GBA · higan
닌텐도 DS DeSmuME · NO$GBA · melonDS · DraStic · iNDS · Delta
닌텐도 3DS Citra[1] · Azahar
하이브리드 Nintendo Switch Ryujinx[2] · yuzu · Skyline
비고 [1] : 단, 비공식 버전의 업데이트는 계속되고 있다.
[2] : 사용 편의성 업데이트는 다른 개발자에 의해 유지되고 있다.
}}}}}}}}} ||


1. 개요2. yuzu와의 비교3. 상세4. 사용법

1. 개요

Skyline은 닌텐도 스위치 게임을 안드로이드 기기에서 돌릴 수 있는 오픈 소스 호환성 레이어/에뮬레이터이다.

Yuzu가 닌텐도에게 고소당해 프로젝트가 폐쇄된 이후 Skyline도 몸을 사리면서 알아서 프로젝트를 중단했다. 덕분에 다른 개발자가 소스코드를 포크한 Strato가 대신 개발을 이어가게 되었으나, Strato는 첫 빌드를 릴리도 하기 전에 2024년 4월 28일 마지막 커밋을 끝으로 소스코드 업데이트가 멈췄고, 다른 유저가 포크한 버전이 2024년 7월 19일 첫 빌드되어 시험해볼 수 있으나 이 역시도 결국 2024년 9월 10일 마지막 커밋#을 끝으로 소스코드 업데이트가 멈췄다.

2. yuzu와의 비교

SkylineYuzu(PC용)Yuzu(안드로이드용)
타겟 시스템Android
(Arm)
Windows
(x86)
Android
(Arm)
CPU 처리NCE
(호환성 레이어)
JIT
(에뮬레이션)
NCE + JIT 혼합
(호환성 레이어 + 에뮬레이션)
GPU 처리에뮬레이션
(OpenGL/Vulkan)
에뮬레이션
(OpenGL/Vulkan)
에뮬레이션
(Vulkan 기반)[1]
업데이트 적용불가가능가능

Skyline은 처음부터 ARM64 기반인 닌텐도 스위치를 같은 ARM64 기반인 Android에서 구동하는 것이기 때문에 CPU 처리 과정에서 NCE(네이티브 코드 실행) 방식으로 단순히 언어만 번역하는 것이라 비교적 성능 손실이 적은 편이며, 따라서 CPU는 호환성 레이어, GPU만 에뮬레이션 방식으로 작동한다. 이 방식은 성능적으로는 이점이 있으나, 호환성 적인 측면에서는 단점이기 때문에 yuzu 에 비해서는 돌아가는 게임이 적다.

Yuzu는 본래 PC용으로 만들어진 것 이므로 ARM64 기반인 닌텐도 스위치를 x86 기반인 PC에서 돌리기 위해서 CPU 에서 NCE가 아닌 JIT을 사용하여 언어를 변환하였다. 즉 호환성 레이어가 아닌 CPU, GPU 모두 100% 전통적인 에뮬레이터 방식이다. 이 과정에서 성능 손실이 발생하기는 하지만 보통 PC의 성능이 더 강력하기에 크게 문제가 되진 않았고, 더 넓은 호환성을 자랑한다.

이후 Yuzu가 Android 용으로 이식될때는 Skyline과 같이 CPU 에서는 NCE(ARM64 -> ARM64)를 우선 사용하고, 불가능할 경우만 기존 처럼 JIT을 사용하는 하이브리드 방식으로 호환성과 성능 모두를 크게 개선하였다. 따라서 안드로이드용 Yuzu는 CPU는 NCE + JIT를 혼합해서 사용하는, 호환성 레이어와 에뮬레이터의 하이브리드 방식이라고 볼 수 있다.### 예를들어 JIT 기반으로 야숨을 돌릴때 10 FPS가 나오던 것이 NCE로 돌리자 30FPS 까지 3배 가까운 성능 향상을 보여주었다.#

skyline이 yuzu와 다른 점은 DLC나 업데이트를 적용할 수 없다는 점. 즉 원본 .nsp 파일과 업데이트 .nsp 파일이 나뉘어져 있다면 업데이트는 적용할 수 없고 원본 .nsp 파일만 실행 가능하다. 이 경우 Yanu란 프로그램을 사용해 원본과 업데이트 파일을 합친 nsp 파일을 만들어서 돌려야한다.

3. 상세

Ryujinx 소스 코드를 많이 참고해서 개발되었다.(포크한 수준은 아니라고 한다.)[2] 또한 yuzu의 소스 코드도 일부 포크했다.[3] yuzu 개발자들 중 일부가 Skyline 프로젝트에 일부 참여하기도 했다.

무료 버전(메인라인)과 패트리온 후원자들이 받을 수 있는 'Edge' 버전이 따로 존재했다. 엣지 버전은 추후 업데이트를 미리 받아볼 수 있는 테스트 버전을 먼저 제공받는다. 메인라인의 가장 마지막 버전은 2023년 5월 2일 출시된 2513 버전##이며, Edge의 경우 4월 28일에 출시된 v72가 숫자상 가장 크나 실제론 5월 6일에 출시된 v69#가 가장 마지막 버전이다. 따라서 가장 최신 버전은 엣지 v69 이다. 이는 v69 버전이 개발 종료 직전 후원자들에게 가장 마지막으로 보내는 헌정 버전이었기 때문.

4. 사용법

최소 사양으로는 64비트 소프트웨어[4], 안드로이드 10 이상, 퀄컴 스냅드래곤 845 이상[5]가 요구되는데, 퀄컴 스냅드래곤 845 미만이어도 작동은 되긴 하나 개발자들이 845 미만 기기에서 나는 버그의 해결은 우선순위가 매우 낮아진다고 한다. 또한 램의 경우는 게임에 따라서 달라지나 평균적으로 따졌을 때 6GB가 필요하다고 한다.

Skyline 공식 사이트에서 Skyline을 설치 후 거기에 닌텐도 스위치의 title.keys 파일과 prod.keys 파일을 자신의 닌텐도 스위치에서 덤프해야 하며, 자신이 구입한 게임의 롬 파일 역시 자신의 닌텐도 스위치에서 덤프 해야 한다.

즉, 이 에뮬레이터를 합법적으로 사용하려면 닌텐도 스위치가 필수적으로 있어야 한다는 것이다. 물론 위 파일들에 대한 불법 복제로 설치하면 닌텐도 스위치가 없어도 플레이 할 수 있긴 하지만 일부 게임은 바로 튕기며 Skyline 로그 파일에 로그가 남으며 어떠한 지원도 받을 수 없게 된다. 개발자들도 제발 합법적인 방법으로 플레이하라고 강하게 말한다.
[1] Turnip/Adreno/Xclipse/Mali 등 다양한 드라이버 지원[2] 포크로 취급해도 문제는 없는 게 Ryujinx는 MIT 라이선스다.[3] 그냥 포크하는 건 이 프로젝트들은 서로 라이선스가 호환되지 않아 라이선스 위반이나 yuzu 개발자들이 Skyline 프로젝트에서 자신들의 소스 코드를 포크하는 것을 흔쾌히 허락했다고 한다. 그래서 Skyline 프로젝트가 포크한 것은 합법이다.

하지만 불법 에뮬레이터인 Eggns는 허락받지 않고 무단으로 도용했다.
[4] 64비트 프로세서가 있어도 소프트웨어가 64비트를 지원하지 않으면 안된다.[5] 다른 라인업이면 845 이후에 출시된 프로세서