```
RPCS3 يدعم كروت ATI Radeon TeraScale القديمة

دعم كروت 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.

هذا الدعم يعمل على Linux فقط باستخدام تعريف Mesa r600 ومحرك الرسوميات OpenGL. تعريفات Windows القديمة لهذه الكروت غير مدعومة.

ما أهمية هذا التطوير؟

كروت TeraScale التي يشملها التطوير صدرت خلال الفترة من 2007 إلى 2011 تقريبًا، وأصبحت بعض هذه الكروت قادرة الآن على تهيئة RPCS3 وعرض ألعاب PlayStation 3 بصورة صحيحة.

HD 2000 TeraScale 1
HD 3000 TeraScale 1
HD 4000 TeraScale 1
  • التشغيل يعتمد على تعريف r600 المفتوح المصدر ضمن Mesa.
  • محرك الرسوميات المطلوب داخل المحاكي هو OpenGL.
  • كروت TeraScale 1 تحتاج إلى تجاوز إصدار OpenGL وGLSL المعلن.
  • الدعم التقني لا يعني ضمان أداء مناسب في جميع الألعاب.

TeraScale 2 واختبار Radeon HD 5850

كان RPCS3 يدعم كروت Radeon HD 5000 وHD 6000 المبنية على TeraScale 2 منذ عام 2021. هذه الكروت تدعم مستويات OpenGL وGLSL المطلوبة، ولذلك يمكن تشغيل RPCS3 عليها دون متغيرات تجاوز إضافية.

أعاد الفريق اختبار كرت 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 القديم على Radeon HD 5850
اختبار الأداء باستخدام أحد إصدارات RPCS3 السابقة.
اختبار RPCS3 الحديث على Radeon HD 5850
اختبار الأداء باستخدام إصدار RPCS3 الحديث.
أداء Persona 5 داخل قصر كاموشيدا
اختبار Persona 5 داخل قصر كاموشيدا.
أداء Persona 5 داخل ممر المدرسة
اختبار Persona 5 في منطقة ممر المدرسة الأكثر ضغطًا.
ارتفع الأداء في قصر كاموشيدا من 35 FPS إلى 49 FPS، كما ارتفع في ممر المدرسة من 19 FPS إلى 25 FPS.

توضح النتيجة أن تحسينات 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.

تشغيل RPCS3 على كرت TeraScale 1

بداية اختبار محرك OpenGL على كروت TeraScale 1.

في البداية كان المحاكي يتوقف أثناء إنشاء Ring Buffer باستخدام NamedBufferStorage، ويعيد مؤشرًا فارغًا أثناء تهيئة محرك الرسوميات.

مشكلة تهيئة محرك OpenGL على TeraScale 1

الاختبارات الأولية وتحديد موضع فشل تهيئة محرك OpenGL.

بعد التحقيق اتضح أن السبب هو عدم دعم هذه الكروت لميزة Shader Storage Buffer Objects المعروفة اختصارًا باسم SSBO.

ARB_shader_storage_buffer_object

كان كود RPCS3 يفترض أن كل كرت مدعومة توفر هذه الميزة. أضاف المطورون فحصًا فعليًا للامتداد، وتعطيل المسار الذي يعتمد عليه عندما لا يكون متاحًا.

إصلاح دعم SSBO في RPCS3
اختبار المحاكي بعد تجاوز مشكلة SSBO.
عرض ألعاب RPCS3 على كرت ATI قديمة
نجاح تهيئة محرك OpenGL وعرض الرسوميات.
تم تنفيذ الإصلاح الأساسي ضمن Pull Request #18874 .

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
تشغيل لعبة على ATI Radeon HD 4890
إحدى الألعاب أثناء تشغيلها على Radeon HD 4890.
أداء RPCS3 على Radeon HD 4890
اختبار إضافي لأداء RPCS3 على الكرت.
نتيجة تشغيل RPCS3 على ATI Radeon HD 4890

الألعاب البسيطة يمكن أن تصل إلى أداء قابل للعب على HD 4890.

استطاعت الكرت تشغيل الألعاب البسيطة بمستوى أداء قابل للعب، لكن الألعاب ذات الرسوميات المعقدة أصبحت محدودة بقوة كرت الشاشة.

لماذا تعاني الكرت رغم أنها أقوى من RSX؟

  • شيفرات Shader التي يولدها RPCS3 معقدة وغير محسنة بالكامل لمعمارية TeraScale القديمة.
  • يستخدم المحاكي كرت الشاشة في فك ترميز Textures وتحويل صيغ الصور لتخفيف بعض العمليات عن المعالج المركزي.
  • الحاسب يستخدم ذاكرة منفصلة بين VRAM وذاكرة النظام، ولذلك يحتاج إلى نقل كميات من البيانات عبر PCI Express.
  • تصميم ذاكرة PS3 يسمح بالوصول إلى مجموعات الذاكرة بطريقة أقرب إلى UMA مقارنة بالحاسب المكتبي التقليدي.
هذا الدعم هو نقطة بداية لعرض الألعاب بصورة صحيحة. ويمكن أن تتحسن النتائج مستقبلًا مع تحسين مسارات Shader ونقل البيانات وانتر ريزلوشن.

ATI Radeon HD 3870

انتقل الفريق بعد ذلك إلى كرت ATI Radeon HD 3870 من سلسلة Radeon HD 3000، والتي صدرت عام 2007 وتعتمد على المعالج الرسومي RV670.

المواصفة ATI Radeon HD 3870
المعالج الرسومي RV670
ذاكرة الرسوميات 512 MB VRAM
وحدات التظليل 320
وحدات الحوسبة 4
سنة الإصدار 2007

رغم أنها أضعف بكثير من HD 4890، استطاعت الكرت عرض الألعاب البسيطة وتشغيل بعضها بمستوى أداء مقبول عند خفض انتر ريزلوشن.

OutRun Online Arcade على ATI Radeon HD 3870 بدقتي 720p و273p

لعبة OutRun Online Arcade بدقة 720p بسرعة 18.5 FPS، مقارنة بدقة 273p بسرعة 22.8 FPS.

اختبار لعبة على Radeon HD 3870

اختبار إضافي لتشغيل الألعاب على Radeon HD 3870.

خفض انتر ريزلوشن يساعد عندما تكون كرت الشاشة هي عنق الزجاجة، لكنه لا يعالج ضعف المعالج المركزي أو بطء ترجمة تعليمات PPU وSPU.

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
اختبار ATI Radeon HD 2600 XT في RPCS3
الكرت تعرض الرسوميات بصورة صحيحة، لكن الأداء منخفض جدًا.
لعبة Portal على Radeon HD 2600 XT
اختبار Portal مع خفض انتر ريزلوشن إلى 273p.
حتى عند خفض انتر ريزلوشن إلى 273p، حققت Portal نحو 12.9 FPS فقط على HD 2600 XT، مقابل نحو 26.7 FPS على HD 3870 بدقة 720p.

الكرت مدعومة من الناحية التقنية ويستطيع المحاكي عرض الرسوميات عليها، لكنها أضعف من أن تقدم تجربة لعب عملية حتى في السيناريوهات البسيطة.

تحديث الحد الأدنى لمتطلبات 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 يستهدف قدرة العتاد على بدء المحاكي وتشغيل الألعاب تقنيًا، ولا يعني الحصول على سرعة كاملة أو تجربة مناسبة في جميع الألعاب.

طريقة تشغيل RPCS3 على كروت TeraScale

المتطلبات

  • توزيعة Linux متوافقة وحديثة.
  • تعريف Mesa المفتوح المصدر.
  • استخدام برنامج التشغيل r600.
  • اختيار محرك OpenGL داخل RPCS3.
  • استخدام أحدث إصدار متاح من المحاكي.

كروت TeraScale 1

تشمل Radeon HD 2000 وHD 3000 وHD 4000. شغّل نسخة AppImage باستخدام الأمر التالي:

MESA_GL_VERSION_OVERRIDE=4.3 MESA_GLSL_VERSION_OVERRIDE=440 ./rpcs3.AppImage

المتغير الأول يجعل Mesa يبلغ المحاكي عن OpenGL 4.3، بينما يحدد المتغير الثاني GLSL 4.40.

كروت TeraScale 2

تشمل Radeon HD 5000 وHD 6000، ولا تحتاج عادة إلى متغيرات تجاوز إضافية. يمكن تشغيل المحاكي مباشرة:

./rpcs3.AppImage
لا تستخدم متغيرات تجاوز OpenGL عشوائيًا على كروت أخرى؛ هذه الطريقة مخصصة لكروت TeraScale 1 مع تعريف Mesa r600.

إعداد Shader المقترح

عند مواجهة انهيارات أو مشاكل استقرار أثناء بناء Shaders، يوصي فريق RPCS3 باستخدام الوضع التالي:

Settings → GPU → Shader Mode → Legacy Recompiler (single-threaded)

قد يكون هذا الوضع أبطأ من الخيارات الحديثة، لكنه قد يقدم استقرارًا أفضل مع كروت TeraScale القديمة.

هل يعمل هذا الدعم على Windows؟

لا. الدعم المعلن لكروت TeraScale القديمة مخصص لنظام Linux باستخدام تعريف Mesa r600 ومحرك OpenGL.

أوضح الفريق أن تعريف OpenGL القديم الذي استخدمته AMD على Windows، والمعروف باسم Orca، لا يقدم الوظائف والاستقرار والأداء المطلوب لتشغيل RPCS3 بصورة صحيحة.

لذلك لا يكفي امتلاك كرت Radeon HD قديمة؛ يجب استخدام Linux وتعريف Mesa المتوافق.

الخلاصة

لا يعني هذا التطوير أن كرت صدرت عام 2007 ستشغل جميع ألعاب PlayStation 3 بسرعة كاملة، لكنه يثبت قدرة RPCS3 على العمل فوق عتاد قديم جدًا عندما تتوفر تعريفات مفتوحة المصدر تسمح بإصلاح المشاكل وإضافة المسارات البديلة المطلوبة.

  • كروت Radeon HD 2000 وHD 3000 وHD 4000 أصبحت مدعومة تقنيًا.
  • التشغيل متاح على Linux باستخدام Mesa r600 وOpenGL.
  • كروت TeraScale 1 تحتاج إلى تجاوز إصدارات 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.

هل توقعت أن تتمكن كرت رسوميات صدرت عام 2007 من تشغيل محاكي PlayStation 3؟ شاركنا رأيك وتجربتك في التعليقات.

```