سخت‌افزار و رایانش ابری

تحلیل فنی پروژه AnyPS5: دستیابی به پوشش کامل دستورالعمل‌های GPU در مسیر اجرای بومی بازی‌های پلی‌استیشن ۵ روی PC

پروژه متن‌باز AnyPS5 اخیراً به یک نقطه عطف حیاتی در مهندسی معکوس و شبیه‌سازی دست یافته است: دستیابی به پوشش ۱۰۰ درصدی دستورالعمل‌های سایه‌زن (Shader) پردازنده گرافیکی (GPU). این دستاورد، اگرچه گام بزرگی برای اجرای بومی (Native) بازی‌های کنسول نسل نهمی سونی روی ویندوز و لینوکس محسوب می‌شود، اما همچنان با چالش‌های فنی متعددی برای دستیابی به تجربه بازی روان روبرو است.

معماری AnyPS5: تمایز میان شبیه‌سازی کلاسیک و تبدیل باینری

برخلاف شبیه‌سازهای سنتی که سعی در بازسازی کل سخت‌افزار کنسول در یک محیط مجازی دارند، پروژه AnyPS5 از رویکرد «پورت بومی از طریق تبدیل باینری» استفاده می‌کند. این ابزار فایل‌های اجرایی بازی (که به فرمت ELF هستند) را دریافت کرده و آن‌ها را به فایل‌های اجرایی بومی x86-64 برای لینوکس یا PE برای ویندوز بازنویسی (Relink) می‌کند. این رویکرد نیازی به سورس‌کد بازی ندارد و در عوض، کتابخانه‌های سیستم‌عامل کنسول را با جایگزین‌های بومی برای معماری کامپیوترهای شخصی جایگزین می‌کند.

چالش‌های گرافیکی: از دستورالعمل‌های RDNA تا SPIR-V

در قلب این دستاورد، شناسایی ۱۱۶۶ دستورالعمل اختصاصی معماری AMD RDNA 1 و RDNA 2 قرار دارد. نکته کلیدی در اینجا این است که «شناسایی» به معنای «اجرای کامل» نیست. پروژه باید این دستورات را به فرمت استاندارد گرافیکی SPIR-V ترجمه کند تا امکان اجرا روی رابط‌های گرافیکی مدرن مانند Vulkan فراهم شود. سیستم فعلی قادر است دستورات را دیکود (Decode) کند، اما تضمینی برای رفتار صحیح این دستورات در تمامی سناریوهای رندرینگ وجود ندارد؛ موضوعی که در حال حاضر به عنوان «بدهی فنی» در مستندات پروژه ثبت شده است.

وضعیت کتابخانه‌های سیستمی و نیازمندی‌های سخت‌افزاری

علاوه بر بخش گرافیک، AnyPS5 بر بازسازی کتابخانه‌های سیستمی سونی تمرکز دارد. در حال حاضر ۸۴.۶۹٪ از توابع شناسایی شده در دیتابیس پروژه پیاده‌سازی شده‌اند. با این حال، تفاوت فاحشی میان پیاده‌سازی یک تابع و عملکرد دقیق آن در شرایط واقعی وجود دارد؛ برای مثال، کتابخانه libSceHttp با وجود پیاده‌سازی ۹۵ درصدی، هنوز قادر به برقراری ارتباط شبکه نیست. از سوی دیگر، نیازمندی‌های حافظه RAM بسیار بالاست؛ برخی بازی‌ها ممکن است بیش از ۱۳.۵ گیگابایت حافظه اختصاصی (Commit Limit) طلب کنند که این موضوع برای سیستم‌های خانگی با ۱۶ گیگابایت حافظه، چالش‌برانگیز است.

مشخصات و وضعیت فعلی پروژه

  • پوشش دستورالعمل‌های GPU: ۱۰۰٪ (دیکودینگ)
  • میزان پیاده‌سازی کتابخانه‌های سیستم: ۸۴.۶۹٪ (۲۵۷۸ از ۳۰۴۴ تابع)
  • رویکرد: تبدیل باینری (Binary Transformation) و جایگزینی API
  • پیش‌نیاز اجرا: استخراج دستی فایل‌های ELF و منابع (فاقد ابزار Decryption داخلی)
  • خروجی نهایی: پورت بومی غیررسمی، نه شبیه‌ساز کنسول

چشم‌انداز آینده: فراتر از یک شبیه‌ساز

پروژه AnyPS5 بیشتر از آنکه به یک شبیه‌ساز کلاسیک شباهت داشته باشد، در حال تبدیل شدن به یک چارچوب (Framework) قدرتمند برای پورت‌های بومی غیررسمی است. اگرچه در پاییز ۱۴۰۳ (۲۰۲۴ میلادی) هنوز تنها بازی‌های بسیار ساده مثل «Dreaming Sarah» به صورت کامل قابل اجرا هستند، اما توسعه‌دهندگان بر روی عناوین پیچیده‌تر تمرکز کرده‌اند. این پروژه نشان می‌دهد که در آینده نزدیک، ممکن است نیاز به انتظار برای پورت‌های رسمی بازی‌ها از سوی ناشران از بین برود و جامعه متن‌باز مسیر اجرای بومی را هموار کند.

📌 منبع و مطالعه بیشتر: Tom’s Hardware – AnyPS5 GPU Milestone Analysis
حامد

حامد

مسئول مجله فناوری آسمان نقره‌ای