
كروت Radeon عمرها 19 سنة تشغّل محاكي PS3 عبر RPCS3
دعم كروت ATI Radeon HD المبنية على معماريتي TeraScale 1 وTeraScale 2.
RPCS3 صار يدعم كروت ATI Radeon HD من عام 2007
فريق RPCS3 أضاف دعم كروت ATI Radeon HD 2000 وHD 3000 وHD 4000 المبنية على معمارية TeraScale 1.
وهذا يجي فوق الدعم الموجود من قبل لكروت Radeon HD 5000 وHD 6000 المبنية على TeraScale 2.
Mesa r600 ومحرك OpenGL.
تعريفات Windows القديمة لهذه الكروت ما هي مدعومة.
ليش التطوير هذا مهم؟
كروت TeraScale اللي دخلت ضمن الدعم نزلت تقريبًا بين 2007 و 2011. بعض هذه الكروت صار يقدر يفتح RPCS3 ويعرض ألعاب PlayStation 3 بصورة صحيحة.
- التشغيل يعتمد على تعريف
r600المفتوح المصدر داخل Mesa. - لازم تختار
OpenGLمن إعدادات الرسوم داخل المحاكي. - كروت TeraScale 1 تحتاج Override لإصدار OpenGL وGLSL.
- الدعم التقني ما يعني أن الأداء بيكون ممتاز في كل الألعاب.
TeraScale 2 واختبار Radeon HD 5850
RPCS3 يدعم كروت Radeon HD 5000 وHD 6000 المبنية على TeraScale 2 من سنة 2021. هذه الكروت تدعم مستويات OpenGL وGLSL المطلوبة، لذلك غالبًا ما تحتاج متغيرات Override إضافية.
الفريق رجع اختبر كرت ATI Radeon HD 5850 وقارن نسخة قديمة من RPCS3 مع نسخة حديثة بعد حوالي 5 سنوات من التحسينات.
| عنصر الاختبار | المواصفات |
|---|---|
| المعالج | AMD FX-8350 @ 4.6 GHz |
| كرت الشاشة | ATI Radeon HD 5850 |
| الذاكرة | 8 GB RAM |
| نواة Linux | Linux Kernel 7.0 |
| تعريف Mesa | Mesa 26.0.5 |
| الإصدار القديم | RPCS3 v0.0.19-12988 |
| الإصدار الحديث | RPCS3 v0.0.40-19391 |
النتيجة تبين أن تحسينات RPCS3 ما تفيد الكروت الحديثة فقط؛ حتى الكروت القديمة جدًا تقدر تستفيد من التطوير المستمر.
كيف صار دعم TeraScale 1 ممكن؟
كروت Radeon HD 2000 وHD 3000 وHD 4000 تعلن افتراضيًا عن دعم
OpenGL 3.3 وGLSL 3.30 فقط.
RPCS3 يحتاج مستوى أعلى عشان يبدأ محرك OpenGL، لذلك استخدم المطورون
متغيرات Mesa عشان يعلن النظام عن
OpenGL 4.3 وGLSL 4.40.
بداية اختبار محرك OpenGL على كروت TeraScale 1.
أول مشكلة ظهرت كانت أثناء إنشاء Ring Buffer باستخدام
NamedBufferStorage، وكان المحاكي يرجع مؤشرًا فارغًا وقت
تهيئة محرك الرسوم.
الاختبارات الأولى وتحديد مكان فشل تهيئة OpenGL.
بعد الفحص طلع السبب أن هذه الكروت ما تدعم
Shader Storage Buffer Objects أو اختصارًا
SSBO.
كود RPCS3 كان يفترض أن كل كرت مدعومة توفر الميزة. المطورون أضافوا فحصًا فعليًا للامتداد، وعطلوا المسار اللي يعتمد عليه لما يكون غير متوفر.
ATI Radeon HD 4890
كرت ATI Radeon HD 4890 كانت أول كرت TeraScale 1 يتم اختبارها مع RPCS3.
الكرت نزلت سنة 2009، وتعتمد على
RV790، وتعتبر أقوى كرت TeraScale 1 أطلقتها ATI.
| المواصفة | ATI Radeon HD 4890 |
|---|---|
| المعالج الرسومي | RV790 |
| ذاكرة الرسوميات | 1024 MB VRAM |
| وحدات التظليل | 800 |
| وحدات الحوسبة | 10 |
| سنة الإصدار | 2009 |
الألعاب البسيطة تقدر توصل لأداء قابل للعب على HD 4890.
الألعاب البسيطة اشتغلت بأداء قابل للعب، لكن الألعاب الثقيلة صارت محدودة بقوة كرت الشاشة نفسها.
ليش الكرت تتعب رغم أنها أقوى من RSX؟
- Shaders اللي يولدها RPCS3 معقدة وما هي محسنة بالكامل لمعمارية TeraScale القديمة.
- المحاكي يستخدم GPU في فك Textures وتحويل صيغ الصور لتخفيف بعض الشغل عن CPU.
- الكمبيوتر يستخدم VRAM وRAM منفصلتين، لذلك يحتاج ينقل بيانات عبر PCI Express.
- تصميم ذاكرة PS3 أقرب إلى UMA مقارنة بالكمبيوتر المكتبي التقليدي.
ATI Radeon HD 3870
بعدها انتقل الفريق إلى ATI Radeon HD 3870 من سلسلة HD 3000.
الكرت نزلت سنة 2007 وتعتمد على
RV670.
| المواصفة | ATI Radeon HD 3870 |
|---|---|
| المعالج الرسومي | RV670 |
| ذاكرة الرسوميات | 512 MB VRAM |
| وحدات التظليل | 320 |
| وحدات الحوسبة | 4 |
| سنة الإصدار | 2007 |
رغم أنها أضعف بكثير من HD 4890، قدرت تعرض الألعاب البسيطة وتشغل بعضها بأداء مقبول بعد خفض انتر ريزلوشن.
OutRun Online Arcade بدقة 720p بسرعة 18.5 FPS، مقابل 273p بسرعة 22.8 FPS.
اختبار إضافي على Radeon HD 3870.
ATI Radeon HD 2600 XT
الفريق اختبر أيضًا ATI Radeon HD 2600 XT، وهي من أضعف كروت TeraScale 1، وحتى أضعف من RSX الموجود داخل PlayStation 3.
| المواصفة | ATI Radeon HD 2600 XT |
|---|---|
| المعالج الرسومي | RV630 |
| ذاكرة الرسوميات | 256 MB VRAM |
| وحدات التظليل | 120 |
| وحدات الحوسبة | 3 |
| سنة الإصدار | 2007 |
الكرت مدعومة تقنيًا ويقدر المحاكي يعرض الرسوميات عليها، لكن قوتها ما تكفي لتجربة لعب عملية حتى في الألعاب البسيطة.
تحديث الحد الأدنى لمتطلبات RPCS3
فريق RPCS3 خفّض الحد الأدنى المستهدف لكروت AMD القديمة من ATI Radeon HD 5550 المبنية على Redwood إلى ATI Radeon HD 2900 XT المبنية على R600.
| الحالة | كرت الشاشة | المعمارية | الملاحظة |
|---|---|---|---|
| الحد الأدنى السابق | ATI Radeon HD 5550 | Redwood | TeraScale 2 |
| الحد الأدنى الجديد | ATI Radeon HD 2900 XT | R600 | TeraScale 1 |
| مدعومة تقنيًا فقط | ATI Radeon HD 2600 XT | RV630 | أضعف من أنها تكون حدًا أدنى عمليًا |
طريقة تشغيل RPCS3 على كروت TeraScale
المتطلبات
- توزيعة Linux حديثة ومتوافقة.
- تعريف Mesa المفتوح المصدر.
- استخدام تعريف
r600. - اختيار
OpenGLداخل RPCS3. - استخدام أحدث إصدار متوفر من المحاكي.
كروت TeraScale 1
تشمل Radeon HD 2000 وHD 3000 وHD 4000. تشغيل AppImage يكون بهذا الأمر:
المتغير الأول يخلي Mesa يعلن عن
OpenGL 4.3، والثاني يحدد
GLSL 4.40.
كروت TeraScale 2
تشمل Radeon HD 5000 وHD 6000، وعادة ما تحتاج متغيرات Override إضافية:
إعداد Shader المقترح
لو واجهت Crash أو مشاكل وقت بناء Shaders، فريق RPCS3 يقترح استخدام:
الوضع هذا ممكن يكون أبطأ من الخيارات الحديثة، لكنه أحيانًا يعطي ثبات أفضل مع كروت TeraScale القديمة.
هل الدعم يشتغل على Windows؟
فريق RPCS3 وضح أن تعريف OpenGL القديم من AMD على Windows، المعروف باسم
Orca، ما يوفر الوظائف والثبات والأداء المطلوب لتشغيل
المحاكي بصورة صحيحة.
يعني وجود كرت Radeon HD قديمة لحاله ما يكفي؛ لازم Linux وتعريف Mesa المتوافق.
الخلاصة
التطوير هذا ما يعني أن كرت من سنة 2007 بتشغل كل ألعاب PlayStation 3 بسرعة كاملة، لكنه يثبت أن RPCS3 يقدر يشتغل على عتاد قديم جدًا لما تكون التعريفات مفتوحة المصدر وقابلة للتعديل.
- Radeon HD 2000 وHD 3000 وHD 4000 صارت مدعومة تقنيًا.
- التشغيل متوفر على Linux باستخدام Mesa r600 وOpenGL.
- TeraScale 1 تحتاج Override لـ OpenGL وGLSL.
- Radeon HD 4890 تقدر تشغل بعض الألعاب البسيطة بأداء قابل للعب.
- Radeon HD 3870 تستفيد من خفض انتر ريزلوشن.
- Radeon HD 2600 XT تعرض الرسوميات، لكن أداءها غير عملي.
- الحد الأدنى الجديد صار ATI Radeon HD 2900 XT.
شكر للمطورين
- AniLeo: وفر كروت TeraScale وسوى الاختبارات وعمليات Debugging.
- kd-11: طور الإصلاحات المطلوبة داخل محرك OpenGL في RPCS3.
المقال الأصلي كتبه AniLeo وراجعه المطور kd-11.