Ryujinx는 gdkchan이 만들고 C#으로 작성된 오픈 소스 Nintendo Switch 에뮬레이터입니다. 이 에뮬레이터는 탁월한 정확성과 성능, 사용자 친화적인 인터페이스 및 일관된 빌드를 제공하는 것을 목표로 합니다. 이 문서는 처음부터 작성되었으며 프로젝트 개발은 2017년 9월에 시작되었습니다. Ryujinx는 MIT 라이선스에 따라 Github에서 사용할 수 있습니다.
2024년 5월 현재 Ryujinx는 약 4,300개의 타이틀에서 테스트되었습니다. 4,100개가 넘는 부팅 메뉴와 게임 플레이가 있으며 그 중 대략 3,550개가 플레이 가능한 것으로 간주됩니다.
여기에서 호환성 목록을 확인할 수 있습니다.
누구나 자유롭게 새로운 게임 테스트를 제출하거나 기존 게임 테스트 항목을 업데이트할 수 있습니다. 새로운 문제 템플릿과 테스트 지침을 따르거나 해당 게임 문제에 대한 답변을 게시하면 됩니다. 게임이 이미 테스트되었는지 확인하려면 검색 기능을 사용하세요!
이 에뮬레이터를 실행하려면 PC에 최소 8GiB RAM이 장착되어 있어야 합니다. 이 요구 사항을 충족하지 못하면 게임 플레이 경험이 저하되거나 예상치 못한 충돌이 발생할 수 있습니다.
에뮬레이터 설정 방법은 설정 및 구성 가이드를 참조하세요.
LDN(로컬 무선) 빌드에 대해서는 멀티플레이어: 로컬 재생/로컬 무선 가이드를 참조하세요.
Avalonia UI는 다양한 언어로 번역되어 제공됩니다. 자세한 내용은 Crowdin을 참조하세요.
이러한 빌드는 마스터 브랜치의 각 커밋에 대해 자동으로 컴파일됩니다. 업데이트를 추진하기 전에 최적의 안정성과 성능을 보장하기 위해 노력하는 동안 자동화된 빌드가 불안정하거나 완전히 손상될 수 있습니다 .
Windows, macOS 및 Linux용 최신 자동 빌드는 Github 릴리스에서 찾을 수 있습니다.
이 프로젝트에 기여할 계획이거나 이 프로젝트에 대해 자세히 알아보고 싶다면 설명서를 읽어보세요.
에뮬레이터를 직접 빌드하려면 다음 단계를 따르세요.
.NET 8.0(또는 이상) SDK를 설치합니다. SDK 버전이 global.json에 지정된 필수 버전보다 높거나 같은지 확인하세요.
명령줄에서 git clone https://github.com/Ryujinx/Ryujinx
사용하여 저장소를 복제하거나 코드 --> zip 다운로드 버튼을 사용하여 파일을 가져옵니다.
Ryujinx를 빌드하려면 프로젝트 디렉터리 내에서 명령 프롬프트를 엽니다. Windows에서는 파일 탐색기에서 Shift 키를 누른 채 마우스 오른쪽 버튼을 클릭하고 Open command window here
선택하면 빠르게 액세스할 수 있습니다. 그런 다음 다음 명령을 입력합니다. dotnet build -c Release -o build
빌드된 파일은 새로 생성된 빌드 디렉터리에서 찾을 수 있습니다.
Ryujinx 시스템 파일은 Ryujinx
폴더에 저장됩니다. 이 폴더는 사용자 폴더에 있으며, GUI의 파일 메뉴에서 Open Ryujinx Folder
클릭하면 액세스할 수 있습니다.
오디오
오디오 출력은 완전히 지원되며, 오디오 입력(마이크)은 지원되지 않습니다. 우리는 OpenAL용 C# 래퍼, SDL2 및 libsoundio를 대체 수단으로 사용합니다.
CPU
CPU 에뮬레이터인 ARMeilleure는 ARMv8 CPU를 에뮬레이트하며 현재 부분적인 32비트 지원을 포함하여 대부분의 64비트 ARMv8과 일부 ARMv7(및 이전) 명령어를 지원합니다. ARM 코드를 사용자 정의 IR로 변환하고 몇 가지 최적화를 수행한 후 이를 x86 코드로 변환합니다. 사용자 기본 설정에 따라 소프트웨어 기반(느림) 및 호스트 매핑 모드(훨씬 빠름)를 모두 활용하는 세 가지 메모리 관리자 옵션을 사용할 수 있습니다. 가장 빠른 옵션(호스트, 선택 해제)이 기본적으로 설정됩니다. Ryujinx는 또한 선택적인 프로필 영구 번역 캐시 기능을 갖추고 있습니다. 이 캐시는 본질적으로 게임이 로드될 때마다 번역할 필요가 없도록 번역된 기능을 캐시합니다. 그 결과 거의 모든 게임의 로드 시간(게임을 시작하고 타이틀 화면에 도달하는 데 걸리는 시간)이 크게 단축되었습니다. 참고: 이 기능은 옵션 메뉴 > 시스템 탭에서 기본적으로 활성화되어 있습니다. 세 번째 실행 시 성능 개선이 잠금 해제되기 전에 게임을 타이틀 화면까지 두 번 이상 실행해야 합니다! 이러한 개선 사항은 영구적이며 앞으로 추가 출시가 필요하지 않습니다.
GPU
GPU 에뮬레이터는 각각 OpenTK 또는 Silk.NET의 맞춤형 빌드를 통해 OpenGL(최소 버전 4.5), Vulkan 또는 Metal(MoltenVK를 통해) API를 사용하여 스위치의 Maxwell GPU를 에뮬레이션합니다. 현재 Ryujinx에는 최종 사용자가 사용할 수 있는 6가지 그래픽 향상 기능이 있습니다: 디스크 셰이더 캐싱, 해상도 스케일링, 앤티앨리어싱, 스케일링 필터(FSR 포함), 이방성 필터링 및 화면 비율 조정. 이러한 향상된 기능은 GUI에서 원하는 대로 조정하거나 전환할 수 있습니다.
입력
현재 키보드, 마우스, 터치 입력, JoyCon 입력 지원 및 거의 모든 컨트롤러를 지원합니다. 모션 컨트롤은 대부분의 경우 기본적으로 지원됩니다. 듀얼 JoyCon 모션 지원을 위해서는 현재 DS4Windows 또는 BetterJoy가 필요합니다. 모든 시나리오에서 입력 구성 메뉴 내에서 모든 것을 설정할 수 있습니다.
DLC 및 수정
Ryujinx는 GUI를 통해 추가 콘텐츠/다운로드 가능한 콘텐츠를 관리할 수 있습니다. 모드(romfs, exefs 및 치트와 같은 런타임 모드)도 지원됩니다. GUI에는 특정 게임에 대한 해당 모드 폴더를 여는 바로가기가 포함되어 있습니다.
구성
에뮬레이터에는 일부 로깅을 활성화 또는 비활성화하고 컨트롤러를 다시 매핑하는 등의 설정이 있습니다. 그래픽 인터페이스를 통해 또는 GUI의 파일 메뉴에서 Open Ryujinx Folder
클릭하여 액세스할 수 있는 사용자 폴더에 있는 구성 파일 Config.json
통해 수동으로 모든 항목을 구성할 수 있습니다.
프로젝트에 참여하는 모든 개발자는 자유 시간에 작업을 수행하지만 프로젝트에는 몇 가지 비용이 발생합니다.
Patreon을 통해 받은 모든 자금은 프로젝트 지원을 위한 기부로 간주됩니다. 후원자는 진행 보고서에 대한 조기 액세스 권한과 개발자 인터뷰에 대한 독점 액세스 권한을 받습니다.
이 소프트웨어는 MIT 라이센스 조건에 따라 라이센스가 부여됩니다. 이 프로젝트는 BSD에 따라 라이센스가 부여된 libvpx 프로젝트와 LGPLv3에 따라 라이센스가 부여된 ffmpeg 프로젝트에서 작성된 코드를 사용합니다. 자세한 내용은 LICENSE.txt 및 THIRDPARTY.md를 참조하세요.