5 phút đọc
Trong bối cảnh công nghệ tương thích hệ điều hành ngày càng phát triển, kho lưu trữ mã nguồn boykopovar/AnyPS5 đang thu hút sự chú ý lớn từ cộng đồng lập trình viên toàn cầu. Với 3.802 stars và 310 forks tính đến lần cập nhật vào ngày 04/10/2026, dự án mã nguồn mở viết bằng ngôn ngữ C++ này mang tới một giải pháp đột phá: tự động chuyển đổi trực tiếp các tệp thực thi của PlayStation 5 (PS5) để chạy trên hệ điều hành Linux và Windows mà không cần thông qua trình giả lập truyền thống.
Cơ chế chuyển đổi trực tiếp không thông qua giả lập
Điểm khác biệt cốt lõi của AnyPS5 so với các dự án giả lập thông thường là việc loại bỏ hoàn toàn môi trường chạy riêng biệt (separate runtime) hoặc các lớp giả lập trung gian. Thay vào đó, dự án sử dụng một bộ liên kết lại (relinker) chuyên biệt. Bộ liên kết này có nhiệm vụ chuyển đổi cấu trúc của tệp thực thi gốc từ hệ máy PS5 sang định dạng bản địa (native format) tương thích hoàn toàn với hệ điều hành đích là Linux hoặc Windows.
Để hỗ trợ quá trình này, nhà phát triển đã xây dựng và tái triển khai các thư viện hệ thống dưới dạng thư viện PRX (PRX libraries) phù hợp cho việc liên kết động. Nhờ cơ chế này, các ứng dụng sau khi chuyển đổi có thể giao tiếp trực tiếp với tài nguyên hệ thống thông qua các thư viện liên kết động được tái cấu trúc, mang lại hiệu năng tối ưu và giảm thiểu độ trễ tối đa.
Khả năng xử lý đồ họa, điều khiển và hiệu năng thực tế
Hiệu quả của AnyPS5 được chứng minh cụ thể qua khả năng vận hành thực tế của trò chơi 2D platformer Dreaming Sarah. Dự án ghi nhận tựa game này có thể chạy ổn định ở tốc độ 60 khung hình trên giây (60 fps) trên một cấu hình phần cứng tương đối phổ thông, cụ thể là card đồ họa NVIDIA GeForce GTX 1050 Ti kết hợp cùng bộ vi xử lý Intel Core i5-7500 xung nhịp 3.4GHz. Đây là một minh chứng rõ nét cho thấy hướng tiếp cận không giả lập giúp tiết kiệm đáng kể tài nguyên phần cứng.
Về mặt đồ họa, công cụ tích hợp một trình biên dịch lại shader (shader recompiler) có khả năng chuyển đổi và xuất ra định dạng mã SPIR-V thành công. Người dùng khi biên dịch dự án có thể kích hoạt tùy chọn ANYPS5_ENABLE_SPIRV_TOOLS để tiến hành kiểm chứng chất lượng thông qua công cụ Spirv-Tools.
Hệ thống điều khiển cũng được hoàn thiện thông qua việc hỗ trợ các thiết bị tay cầm được ánh xạ bằng thư viện SDL, bao gồm cả các cần gạt analog và nút kích hoạt (triggers). Đối với người dùng sử dụng bàn phím và chuột, AnyPS5 cho phép thiết lập và tùy chỉnh sơ đồ phím bấm thông qua tệp cấu hình anyps5-input.ini chuyên dụng.
Quy chuẩn xử lý lỗi và tính pháp lý của dự án
Về mặt kỹ thuật, AnyPS5 áp dụng quy chuẩn xử lý lỗi vô cùng nghiêm ngặt. Khi hệ thống gặp phải các trạng thái không được hỗ trợ hoặc phát sinh lỗi ngoài dự kiến, chương trình sẽ lập tức ném ra ngoại lệ std::runtime_error. Thông tin chi tiết về lỗi (được trả về qua phương thức what()) sẽ được in trực tiếp ra luồng xuất lỗi tiêu chuẩn (stderr) trước khi tiến trình bị chấm dứt hoàn toàn nhằm bảo vệ tính toàn vẹn dữ liệu.
Nhà phát triển khẳng định dự án được xây dựng hoàn toàn vì mục đích nghiên cứu học thuật, tăng khả năng tương thích liên điều hành, bảo tồn phần mềm và thử nghiệm khả năng tương thích. Kho lưu trữ hoàn toàn sạch, không chứa, không phân phối cũng như không yêu cầu bất kỳ phần mềm có bản quyền, mã nguồn đóng, khóa mật mã (cryptographic keys) hay thư viện độc quyền nào từ nhà sản xuất. Người dùng tự chịu trách nhiệm pháp lý trong việc thu thập và sử dụng các tệp tin nhị phân gốc theo đúng quy định pháp luật sở tại và điều khoản cấp phép của bên thứ ba.
Những điểm hạn chế và lộ trình phát triển phía trước
Tỷ lệ phần trăm các hàm hệ thống được biết đến trong dự án hiện chỉ được tính dựa trên số lượng hàm đã được khai báo chính thức trong thư mục core/libs/prx, chứ không phải là toàn bộ các hàm hệ thống hiện có của PS5.
Mặc dù đạt được những bước tiến đáng kể, AnyPS5 vẫn là một dự án đang trong quá trình phát triển tích cực với các khoản nợ kỹ thuật (technical debt) cần được giải quyết liên tục. Số lượng các hàm hệ thống được hỗ trợ hiện tại vẫn chưa bao phủ toàn bộ thư viện của PS5. Tuy thế, tổng số hàm được hỗ trợ đang tăng dần theo thời gian khi cộng đồng đóng góp thêm các khai báo mới vào mã nguồn.
Hiện tại, người dùng quan tâm có thể tham khảo danh sách tương thích trò chơi (compatibility list) để cập nhật thông tin về các tựa game đã được thử nghiệm thành công cũng như các lỗi tồn tại đã biết. Dự án AnyPS5 hiện được phát hành công khai dưới dạng mã nguồn mở theo điều khoản của giấy phép GNU General Public License phiên bản 2 (GPL v2) duy nhất.
Nguồn tham khảo: Xem bài gốc