운영체제 | Windows, Linux, macOS |
개발 언어 | C# |
라이선스 | MIT 라이선스 |
링크 |
[clearfix]
1. 개요
C# 기반의 닌텐도 스위치 에뮬레이터이다.이름은 류징스(Ree-You-Jinx)로 읽으며 이름의 어원은 용(일본식 발음)+ 닌텐도 스위치의 코드명의 일부분인 NX를 덧붙혀 만든 이름이다.
Windows와 Linux, macOS를 모두 지원한다. 2023년부터는 ARM 기반의 Apple Silicon을 네이티브 지원하기 시작했으며, Windows on ARM도 작업중에 있었으나 OpenGL과 Vulkan을 지원하는 CPU가 없어서 실패했다고 한다. 2024년에 출시된 Snapdragon X Elite를 탑재한 Windows on ARM에서는 원활하게 구동이 가능하게 되었다.#[1]
2024년 3월 5일, 다른 스위치 에뮬레이터인 yuzu가 닌텐도와의 소송 합의로 인해 개발 및 배포가 중단되었다. 이를 의식했는지 개발 현황 보고서 업로드와 트위터 운영을 반 년 이상 하지 않고 잠수함 패치만을 계속 진행하고 있었다.
2024년 10월 2일, 개발자인 gdkchan이 닌텐도로부터 프로젝트를 중단 및 관련 에셋을 모두 삭제하라는 압력을 받았고, 이를 받아들여 Ryujinx의 배포 역시 중단되었다. # 앞서 배포를 중단했던 yuzu와는 달리 소송을 당한 정황은 없다는 차이점이 있다.
이후 도메인은 닌텐도에서 가져갔다고 한다#
2. 기능
- 퀵 세이브, 배속처럼 특별한 기능은 아직 불가능하고 게임 구동 본연의 목적에만 충실한 편이며 API는 OpenGL에 더불어 2022년 7월부터 Vulkan을 공식 지원함으로써, AMD 라데온 이용자도 속도가 크게 증가되었다.
- 게임에서 로드된 셰이더 캐시를 저장해둬서 다음 구동 때 일일이 로딩하지 않도록 할 수 있다. 세팅에서 Enable Profiled Persistent Translation Cache를 체크하면 된다.
- 로그를 에뮬이 구동되면서 함께 나오는 명령 프롬프트에 나오게 할 수 있으며 에러 로그를 포함한 로그들도 남길 수 있지만 프레임 저하를 발생시킨다고 하여 로그 옵션을 끄는 게 좋다.
- Apple Silicon 기반 Mac에서는 ARMv8 명령어셋을 사용하는 게임은 별도의 명령어 인터프리터나 리컴파일러 작업 없이 네이티브로 구동된다. 다만 Apple SIlicon은 ARMv7 하위 호환을 제거했기 때문에 ARMv7 명령어셋을 사용하는 게임(마리오 카트 8 디럭스 등)은 리컴파일러로 구동되며, 네이티브로 구동되는 게임 중에서도 문제가 발생하는 경우가 있어(젤다의 전설 브레스 오브 더 와일드 등) 옵션으로 네이티브 구동 유무를 설정할 수 있다.
2.1. 멀티 플레이
2020년 8월 25일에 멀티 플레이를 지원할 것이란 예고가 등장했다. 링크 모여봐요 동물의 숲, 포켓몬스터 소드/실드, 마리오 카트를 포함한 그 외에 다른 게임도 멀티 플레이가 지원 된다고 한다. 아직은 테스트 단계이기 때문에 최신 버전 에뮬레이터엔 적용되지 않았다.12월 21일부터 ldn2 빌드가 LAN모드를 지원하게 됐다. 네트워크 설정을 해준 뒤 사용하는 와이파이만 일치하면 로컬 통신이 가능한 기능을 구현해놓았다. 실시간 호스팅 게임 목록에서 연결 가능한 게임, 호스트를 확인 할 수 있다.멀티플레이를 하기 위해선 상기한 링크에서 전용 빌드 에뮬레이터를 받아야 하며, 옵션 탭에서 Ryujinx Ldn 모드를 활성화 시키는 것만으로 세팅은 끝난다. 게임에서 호스트가 다른 플레이어를 받을 수 있게 준비하면 알아서 매칭된다.[2] 프레임 차이나 핑에 대해선 꽤 안정적인 편이며, 프레임이 2배 가까히 차이나도 잘 튕기지 않고 한국에서 중국. 유럽권, 미국, 인도, 멕시코까지 매칭되는게 확인됐다. 다만 아직 기능이 불안정한지 가끔 플레이어가 들어올 때나 호스트 측에 문제가 생기면 에러 로그가 뜨며 멀티방이 통째로 터진다.
이중 공유기나 특정 방화벽상의 문제로 호스트를 열 수 없을 경우 세팅에서 Disable P2P Network Hosting 옵션을 체크하여 Ryujinx의 프록시 서버로 대신 호스팅 할 수가 있다. 단 서버 지연이 발생할 수 있다.
단 멀티 플레이 방식이 실기하고 차이가 있어서 '인터넷 통신'이 아닌 '로컬 통신'으로 해야 연결된다. 그리고 통신하고자 하는 게임의 버전이 일치해야 한다. 모여봐요 동물의 숲으로 하고자 한다면 1.4버전으론 1.4.2 버전의 섬에 놀러갈 수 없다.
3. 호환성
현재 호환 가능한 게임 리스트(GitHub)개발진이 공개한 일부 게임 플레이 영상
해당 리스트에 있는 게임 대부분이 구동 가능하다.
출시 초기에 비해 호환성이나 그래픽 크래쉬가 많이 개선되어 현재 대부분의 게임이 구동은 가능해졌다.
게임을 구동할 때의 정확성(버그)와 안정성 등이 높지만[3] 요구 사양이 yuzu보다 높은 편이라서 PC 사양이 높은 유저들은 Ryujinx를 사용하지만, PC 사양이 낮은 유저들의 경우 게임 플레이 자체만이 목적이기 때문에 yuzu를 자주 사용한다.
yuzu와 세이브 파일이 서로 호환된다. 그래서 yuzu에서 게임을 구동하다가 특정 구간에서 문제가 발생한다면 Ryujinx로 문제가 되는 구간을 넘기고 yuzu에서 이어서 플레이하는 것도 가능하다.
언리얼 엔진 기반 게임 대부분이 yuzu에서는 버그가 나지만 Ryujinx에선 원할하게 돌아간다. 또한 yuzu는 언리얼 엔진 개발 게임을 실행하는데에 약하다는 말도 꽤나 돌기도 한다.
4. 문제 해결
4.1. dll 파일 부족 오류
실행 시 api-ms-win-core-winrt-l1-1-0.dll 파일이 없다는 오류가 나올 경우, 여기에서 해당 파일을 받아서 Ryujinx.exe가 있는 폴더에 같이 넣어주면 된다.5. 관련 문서
[1] 단, 공식 출시 버전은 아니기 때문에 ARM을 네이티브로 지원하기 위한 컴파일 버전을 이 깃허브 페이지에서 따로 다운로드 해야 한다. Ryujinx의 pre-compiled 버전은 여기서 다운받을 수 있으나, 이를 임의로 ARM버전으로 빌드하면 FFmpeg 오류가 발생한다. 깃허브에 올라온 버전은 이를 수정한 것이다.[2] 에뮬레이터를 구동할 때 게임 목록에서 LDN info 열에서 호스트, 참가한 플레이어 수를 표시해준다. 호스트 방이 없을시 N/A 표시.[3] 각종 스위치 게임의 MOD나 패치 등을 제작하는 유저들이 yuzu에서만 발생하는 버그에 대해 그만 좀 제보하라면서, 실기나 Ryujinx로 플레이하라고 할 정도다. 물론 yuzu와 Ryujinx, 두 에뮬레이터에서 전부 문제가 발생하는 게임들도 많다.