Ryujinx هو محاكي Nintendo Switch مفتوح المصدر، تم إنشاؤه بواسطة gdkchan، ومكتوب بلغة C#. يهدف هذا المحاكي إلى توفير دقة وأداء ممتازين وواجهة سهلة الاستخدام وتصميمات متسقة. تمت كتابته من الصفر وبدأ تطوير المشروع في سبتمبر 2017. Ryujinx متاح على Github بموجب ترخيص MIT.
اعتبارًا من مايو 2024، تم اختبار Ryujinx على ما يقرب من 4300 عنوان؛ أكثر من 4,100 قائمة تمهيد ودخول إلى طريقة اللعب، مع اعتبار ما يقرب من 3,550 منها قابلة للتشغيل.
يمكنك التحقق من قائمة التوافق هنا.
يحق لأي شخص إرسال اختبار لعبة جديد أو تحديث إدخال اختبار اللعبة الحالي؛ ما عليك سوى اتباع نموذج المشكلة الجديدة وإرشادات الاختبار، أو النشر كرد على مشكلة اللعبة المعمول بها. استخدم وظيفة البحث لمعرفة ما إذا كان قد تم اختبار اللعبة بالفعل!
لتشغيل هذا المحاكي، يجب أن يكون جهاز الكمبيوتر الخاص بك مزودًا بذاكرة وصول عشوائي (RAM) تبلغ سعتها 8 جيجا بايت على الأقل؛ قد يؤدي الفشل في تلبية هذا المطلب إلى تجربة لعب سيئة أو أعطال غير متوقعة.
راجع دليل الإعداد والتكوين الخاص بنا حول كيفية إعداد المحاكي.
للتعرف على إصدارات الشبكة اللاسلكية المحلية (LDN) الخاصة بنا، راجع دليل اللاعبين المتعددين: التشغيل المحلي/اللاسلكي المحلي.
تأتي واجهة Avalonia UI مع ترجمات لمختلف اللغات. انظر كراودين لمزيد من المعلومات.
يتم تجميع هذه البنيات تلقائيًا لكل التزام على الفرع الرئيسي. بينما نسعى جاهدين لضمان الاستقرار والأداء الأمثل قبل دفع التحديث، قد تكون إصداراتنا التلقائية غير مستقرة أو معطلة تمامًا .
يمكن العثور على أحدث إصدار تلقائي لأنظمة التشغيل Windows وmacOS وLinux في إصدارات Github.
إذا كنت تخطط للمساهمة أو تريد فقط معرفة المزيد عن هذا المشروع، فيرجى قراءة وثائقنا.
إذا كنت ترغب في بناء المحاكي بنفسك، فاتبع الخطوات التالية:
قم بتثبيت .NET 8.0 (أو أعلى) SDK. تأكد من أن إصدار SDK الخاص بك أعلى أو يساوي الإصدار المطلوب المحدد في global.json.
إما أن تستخدم git clone https://github.com/Ryujinx/Ryujinx
في سطر الأوامر لاستنساخ المستودع أو تستخدم الكود --> زر التنزيل المضغوط للحصول على الملفات.
لإنشاء Ryujinx، افتح موجه الأوامر داخل دليل المشروع. يمكنك الوصول إليه بسرعة على نظام التشغيل Windows عن طريق الضغط على مفتاح Shift في File Explorer، ثم النقر بزر الماوس الأيمن واختيار Open command window here
. ثم اكتب الأمر التالي: dotnet build -c Release -o build
سيتم العثور على الملفات المضمنة في دليل البناء الذي تم إنشاؤه حديثًا.
يتم تخزين ملفات نظام Ryujinx في مجلد Ryujinx
. يقع هذا المجلد في مجلد المستخدم، والذي يمكن الوصول إليه عن طريق النقر Open Ryujinx Folder
ضمن قائمة File في واجهة المستخدم الرسومية.
صوتي
يتم دعم إخراج الصوت بالكامل، ولا يتم دعم إدخال الصوت (الميكروفون). نحن نستخدم مغلفات C# لـ OpenAL وSDL2 وlibsoundio كبديل.
وحدة المعالجة المركزية
يحاكي محاكي وحدة المعالجة المركزية، ARMeilleure، وحدة المعالجة المركزية ARMv8 ويدعم حاليًا معظم تعليمات ARMv8 ذات 64 بت وبعض تعليمات ARMv7 (والإصدارات الأقدم)، بما في ذلك الدعم الجزئي لـ 32 بت. يقوم بترجمة كود ARM إلى IR مخصص، وإجراء بعض التحسينات، وتحويل ذلك إلى كود x86. هناك ثلاثة خيارات متاحة لإدارة الذاكرة اعتمادًا على تفضيلات المستخدم، مع الاستفادة من الأوضاع المستندة إلى البرامج (الأبطأ) والأوضاع المعينة للمضيف (أسرع بكثير). يتم تعيين الخيار الأسرع (المضيف، غير محدد) بشكل افتراضي. يتميز Ryujinx أيضًا بذاكرة تخزين مؤقت اختيارية للترجمة المستمرة، والتي تقوم بشكل أساسي بتخزين الوظائف المترجمة بشكل مؤقت بحيث لا تحتاج إلى ترجمتها في كل مرة يتم فيها تحميل اللعبة. والنتيجة النهائية هي انخفاض كبير في أوقات التحميل (مقدار الوقت بين إطلاق اللعبة والوصول إلى شاشة العنوان) لكل لعبة تقريبًا. ملاحظة: يتم تمكين هذه الميزة افتراضيًا في قائمة الخيارات > علامة تبويب النظام. يجب عليك تشغيل اللعبة مرتين على الأقل على شاشة العنوان أو بعدها قبل فتح تحسينات الأداء عند الإطلاق الثالث! هذه التحسينات دائمة ولا تتطلب أي عمليات إطلاق إضافية في المستقبل.
GPU
يحاكي محاكي GPU Maxwell GPU الخاص بـ Switch باستخدام واجهات برمجة التطبيقات OpenGL (الإصدار 4.5 كحد أدنى) أو Vulkan أو Metal (عبر MoltenVK) من خلال إنشاء مخصص لـ OpenTK أو Silk.NET على التوالي. توجد حاليًا ستة تحسينات للرسومات متاحة للمستخدم النهائي في Ryujinx: التخزين المؤقت لتظليل القرص، وقياس الدقة، ومكافحة التعرج، ومرشحات القياس (بما في ذلك FSR)، والتصفية متباينة الخواص، وتعديل نسبة العرض إلى الارتفاع. يمكن تعديل هذه التحسينات أو تبديلها حسب الرغبة في واجهة المستخدم الرسومية.
مدخل
لدينا حاليًا دعم للوحة المفاتيح والماوس والإدخال باللمس ودعم إدخال JoyCon وجميع وحدات التحكم تقريبًا. يتم دعم عناصر التحكم في الحركة أصلاً في معظم الحالات؛ لدعم حركة JoyCon المزدوجة، يلزم حاليًا استخدام DS4Windows أو BetterJoy. في جميع السيناريوهات، يمكنك إعداد كل شيء داخل قائمة تكوين الإدخال.
المحتوى القابل للتنزيل والتعديلات
Ryujinx قادر على إدارة المحتوى الإضافي/المحتوى القابل للتنزيل من خلال واجهة المستخدم الرسومية. يتم أيضًا دعم التعديلات (romfs وexefs وتعديلات وقت التشغيل مثل الغش)؛ تحتوي واجهة المستخدم الرسومية على اختصار لفتح مجلد التعديلات الخاص بلعبة معينة.
إعدادات
يحتوي المحاكي على إعدادات لتمكين أو تعطيل بعض عمليات التسجيل وإعادة تعيين وحدات التحكم والمزيد. يمكنك تكوينها جميعًا من خلال الواجهة الرسومية أو يدويًا من خلال ملف التكوين، Config.json
، الموجود في مجلد المستخدم والذي يمكن الوصول إليه عن طريق النقر Open Ryujinx Folder
ضمن قائمة "ملف" في واجهة المستخدم الرسومية.
جميع المطورين العاملين في المشروع يقومون بذلك في أوقات فراغهم، لكن المشروع له عدة مصاريف:
جميع الأموال المستلمة من خلال Patreon تعتبر تبرعًا لدعم المشروع. يحصل المستفيدون على إمكانية الوصول المبكر إلى التقارير المرحلية والوصول الحصري إلى مقابلات المطورين.
تم ترخيص هذا البرنامج بموجب شروط ترخيص MIT. يستخدم هذا المشروع التعليمات البرمجية التي ألفها مشروع libvpx، المرخص بموجب BSD ومشروع ffmpeg، المرخص بموجب LGPLv3. راجع LICENSE.txt وTHIRDPARTY.md لمزيد من التفاصيل.