Ryujinx เป็นโปรแกรมจำลอง Nintendo Switch แบบโอเพ่นซอร์ส สร้างโดย gdkchan เขียนด้วยภาษา C# โปรแกรมจำลองนี้มุ่งหวังที่จะมอบความแม่นยำและประสิทธิภาพที่ยอดเยี่ยม อินเทอร์เฟซที่ใช้งานง่าย และการสร้างที่สม่ำเสมอ เขียนขึ้นตั้งแต่เริ่มต้นและการพัฒนาโครงการเริ่มขึ้นในเดือนกันยายน 2017 Ryujinx พร้อมใช้งานบน Github ภายใต้ใบอนุญาต MIT
ณ เดือนพฤษภาคม พ.ศ. 2567 Ryujinx ได้รับการทดสอบกับเกมประมาณ 4,300 รายการ; เมนูบูตมากกว่า 4,100 รายการและเข้าสู่การเล่นเกม โดยประมาณ 3,550 รายการถือว่าสามารถเล่นได้
คุณสามารถตรวจสอบรายการความเข้ากันได้ได้ที่นี่
ทุกคนมีอิสระที่จะส่งการทดสอบเกมใหม่หรืออัปเดตรายการทดสอบเกมที่มีอยู่ เพียงปฏิบัติตามเทมเพลตปัญหาใหม่และแนวทางการทดสอบ หรือโพสต์เป็นการตอบกลับปัญหาเกมที่เกี่ยวข้อง ใช้ฟังก์ชันการค้นหาเพื่อดูว่าเกมได้รับการทดสอบแล้วหรือไม่!
เพื่อรันโปรแกรมจำลองนี้ พีซีของคุณต้องมี RAM อย่างน้อย 8GiB การไม่ปฏิบัติตามข้อกำหนดนี้อาจส่งผลให้ประสบการณ์การเล่นเกมไม่ดีหรือเกิดข้อขัดข้องที่ไม่คาดคิด
ดูคู่มือการตั้งค่าและการกำหนดค่าของเราเกี่ยวกับวิธีการตั้งค่าโปรแกรมจำลอง
สำหรับรุ่น Local Wireless (LDN) ของเรา โปรดดูผู้เล่นหลายคน: Local Play/Local Wireless Guide
Avalonia UI มาพร้อมกับคำแปลสำหรับภาษาต่างๆ ดู Crowdin สำหรับข้อมูลเพิ่มเติม
บิลด์เหล่านี้จะถูกคอมไพล์โดยอัตโนมัติสำหรับแต่ละคอมมิตในสาขาหลัก แม้ว่าเรามุ่งมั่นที่จะรับประกันความเสถียรและประสิทธิภาพสูงสุดก่อนที่จะพุชการอัปเดต แต่บิลด์อัตโนมัติของเรา อาจไม่เสถียรหรือใช้งานไม่ได้โดยสิ้นเชิง
บิลด์อัตโนมัติล่าสุดสำหรับ Windows, macOS และ Linux มีอยู่ใน Github Releases
หากคุณกำลังวางแผนที่จะมีส่วนร่วมหรือเพียงต้องการเรียนรู้เพิ่มเติมเกี่ยวกับโครงการนี้ โปรดอ่านเอกสารของเรา
หากคุณต้องการสร้างโปรแกรมจำลองด้วยตนเอง ให้ทำตามขั้นตอนเหล่านี้:
ติดตั้ง .NET 8.0 (หรือสูงกว่า) SDK ตรวจสอบให้แน่ใจว่าเวอร์ชัน SDK ของคุณสูงกว่าหรือเท่ากับเวอร์ชันที่ต้องการซึ่งระบุไว้ใน global.json
ใช้ git clone https://github.com/Ryujinx/Ryujinx
บนบรรทัดคำสั่งเพื่อโคลนที่เก็บหรือใช้รหัส -> ปุ่มดาวน์โหลด zip เพื่อรับไฟล์
หากต้องการสร้าง Ryujinx ให้เปิดพรอมต์คำสั่งภายในไดเร็กทอรีโปรเจ็กต์ คุณสามารถเข้าถึงได้อย่างรวดเร็วบน Windows โดยกด shift ค้างไว้ใน File Explorer จากนั้นคลิกขวาและเลือก Open command window here
จากนั้นพิมพ์คำสั่งต่อไปนี้: dotnet build -c Release -o build
ไฟล์ที่สร้างขึ้นจะพบได้ในไดเร็กทอรี build ที่สร้างขึ้นใหม่
ไฟล์ระบบ Ryujinx จะถูกเก็บไว้ในโฟลเดอร์ Ryujinx
โฟลเดอร์นี้อยู่ในโฟลเดอร์ผู้ใช้ ซึ่งสามารถเข้าถึงได้โดยการคลิก Open Ryujinx Folder
ใต้เมนูไฟล์ใน GUI
เสียง
รองรับเอาต์พุตเสียงทั้งหมด ไม่รองรับอินพุตเสียง (ไมโครโฟน) เราใช้ C# wrapper สำหรับ OpenAL และ SDL2 และ libsoundio เป็นทางเลือก
ซีพียู
โปรแกรมจำลอง CPU ARMeilleure จำลอง CPU ARMv8 และปัจจุบันรองรับ ARMv8 64 บิตส่วนใหญ่และคำสั่ง ARMv7 บางส่วน (และเก่ากว่า) บางส่วน รวมถึงการรองรับ 32 บิตบางส่วน โดยจะแปลโค้ด ARM เป็น IR แบบกำหนดเอง ดำเนินการปรับแต่งบางอย่าง และเปลี่ยนให้เป็นโค้ด x86 มีตัวเลือกการจัดการหน่วยความจำสามตัวเลือกให้เลือก ขึ้นอยู่กับความต้องการของผู้ใช้ โดยใช้ประโยชน์จากทั้งโหมดที่ใช้ซอฟต์แวร์ (ช้ากว่า) และโหมดแมปโฮสต์ (เร็วกว่ามาก) ตัวเลือกที่เร็วที่สุด (โฮสต์ ไม่เลือก) ถูกกำหนดไว้ตามค่าเริ่มต้น Ryujinx ยังมีคุณสมบัติเสริม Profiled Persistent Translation Cache ซึ่งแคชฟังก์ชันที่แปลไว้เป็นหลัก ดังนั้นจึงไม่จำเป็นต้องแปลทุกครั้งที่โหลดเกม ผลลัพธ์สุทธิคือเวลาในการโหลดลดลงอย่างเห็นได้ชัด (ระยะเวลาระหว่างการเปิดเกมจนถึงหน้าจอชื่อ) ในเกือบทุกเกม หมายเหตุ: คุณสมบัตินี้เปิดใช้งานตามค่าเริ่มต้นในเมนูตัวเลือก > แท็บระบบ คุณต้องเปิดเกมอย่างน้อยสองครั้งบนหน้าจอไตเติ้ลหรือนานกว่านั้น ก่อนที่จะปลดล็อคการปรับปรุงประสิทธิภาพในการเปิดตัวครั้งที่สาม! การปรับปรุงเหล่านี้จะมีผลถาวรและไม่จำเป็นต้องมีการเปิดตัวเพิ่มเติมใดๆ ในอนาคต
จีพียู
โปรแกรมจำลอง GPU จำลอง Maxwell GPU ของ Switch โดยใช้ API ของ OpenGL (เวอร์ชัน 4.5 ขั้นต่ำ), Vulkan หรือ Metal (ผ่าน MoltenVK) ผ่านโครงสร้างที่กำหนดเองของ OpenTK หรือ Silk.NET ตามลำดับ ขณะนี้มีการปรับปรุงกราฟิกหกแบบสำหรับผู้ใช้ปลายทางใน Ryujinx: Disk Shader Caching, Resolution Scaling, Anti-Aliasing, Scaling Filters (รวมถึง FSR), Anisotropic Filtering และ Aspect Ratio Adjustment การปรับปรุงเหล่านี้สามารถปรับหรือสลับได้ตามต้องการใน GUI
ป้อนข้อมูล
ขณะนี้เรามีการรองรับคีย์บอร์ด เมาส์ การป้อนข้อมูลแบบสัมผัส การรองรับการป้อนข้อมูล JoyCon และคอนโทรลเลอร์เกือบทั้งหมด การควบคุมการเคลื่อนไหวได้รับการสนับสนุนโดยกำเนิดในกรณีส่วนใหญ่ สำหรับการรองรับการเคลื่อนไหวแบบ dual-JoyCon จำเป็นต้องใช้ DS4Windows หรือ BetterJoy ในปัจจุบัน ในทุกสถานการณ์ คุณสามารถตั้งค่าทุกอย่างภายในเมนูการกำหนดค่าอินพุตได้
DLC และการปรับเปลี่ยน
Ryujinx สามารถจัดการเนื้อหาส่วนเสริม/เนื้อหาที่ดาวน์โหลดได้ผ่าน GUI รองรับ Mods (romfs, exefs และ runtime mods เช่น cheats) ด้วยเช่นกัน GUI มีทางลัดเพื่อเปิดโฟลเดอร์ mods ที่เกี่ยวข้องสำหรับเกมใดเกมหนึ่ง
การกำหนดค่า
โปรแกรมจำลองมีการตั้งค่าสำหรับเปิดหรือปิดใช้งานการบันทึก การแมปตัวควบคุมใหม่ และอื่นๆ อีกมากมาย คุณสามารถกำหนดค่าทั้งหมดผ่านอินเทอร์เฟซแบบกราฟิกหรือด้วยตนเองผ่านไฟล์กำหนดค่า Config.json
ซึ่งอยู่ในโฟลเดอร์ผู้ใช้ซึ่งสามารถเข้าถึงได้โดยการคลิก Open Ryujinx Folder
ใต้เมนูไฟล์ใน GUI
นักพัฒนาทุกคนที่ทำงานในโครงการนี้จะทำเช่นนั้นในเวลาว่าง แต่โครงการนี้มีค่าใช้จ่ายหลายประการ:
เงินทั้งหมดที่ได้รับผ่าน Patreon ถือเป็นการบริจาคเพื่อสนับสนุนโครงการ ผู้อุปถัมภ์จะได้รับสิทธิ์เข้าถึงรายงานความคืบหน้าก่อนใครและสิทธิพิเศษในการเข้าถึงการสัมภาษณ์นักพัฒนาซอฟต์แวร์
ซอฟต์แวร์นี้ได้รับอนุญาตภายใต้เงื่อนไขของใบอนุญาต MIT โปรเจ็กต์นี้ใช้โค้ดที่เขียนโดยโปรเจ็กต์ libvpx ซึ่งได้รับอนุญาตภายใต้ BSD และโปรเจ็กต์ ffmpeg ซึ่งได้รับอนุญาตภายใต้ LGPLv3 ดู LICENSE.txt และ THIRDPARTY.md สำหรับรายละเอียดเพิ่มเติม