Phần mềm

Dự án bbport chạy trực tiếp mã PS4 của Bloodborne trên Linux: Tối ưu CPU, đạt tới 150 fps

Dự án nguồn mở bbport cho phép chạy file thực thi x86-64 gốc của Bloodborne trực tiếp trên CPU Linux mà không cần giả lập, kết hợp renderer Vulkan đạt mốc 150 fps trên Radeon RX 7800 XT.

Tóm tắt nhanh

  • Chạy mã máy CPU gốc: bbport nạp trực tiếp file eboot x86-64 của Bloodborne trên Linux, không qua trình biên dịch chỉ thị JIT hay giả lập CPU.
  • Renderer Vulkan tùy biến: Đồ họa được xử lý qua lõi dựng hình chuyển đổi từ shadPS4, hỗ trợ FSR 3.1, FSR 4 và FSR 4.1.1 với khả năng tự tính vector chuyển động.
  • Hiệu năng ấn tượng: Thử nghiệm trên card đồ họa AMD Radeon RX 7800 XT ghi nhận khoảng 90 fps ở độ phân giải 4K và 150 fps ở 1440p.
  • Yêu cầu bản quyền nghiêm ngặt: Dự án không đi kèm dữ liệu game; người chơi cần tự trích xuất bản dump Bloodborne v1.09 từ máy PS4 cá nhân.

Chạy trực tiếp mã x86-64: Cách bbport giải phóng áp lực CPU

Kể từ khi ra mắt vào năm 2015, Bloodborne luôn là cái tên đứng đầu danh sách mong muốn của cộng đồng game thủ PC. Việc Sony liên tục trì hoãn kế hoạch đưa tựa game này lên máy tính đã thúc đẩy các nhóm phát triển độc lập tìm kiếm giải pháp giả lập. Thay vì đi theo hướng giả lập toàn bộ phần cứng PlayStation 4 như RPCSX hay shadPS4 thuần túy, lập trình viên deadinside28 đã công bố dự án mang tên bbport với cách tiếp cận hoàn toàn khác biệt.

Bản chất kiến trúc của PlayStation 4 sử dụng vi xử lý AMD Jaguar dựa trên tập lệnh x86-64, tương tự phần lớn CPU máy tính để bàn hiện nay. Tận dụng sự tương đồng này, bbport chuyển đổi file thực thi eboot gốc của Bloodborne (mã phát hành CUSA03173, phiên bản cập nhật 1.09) thành một ảnh bộ nhớ phẳng (flat memory image) và nạp trực tiếp vào RAM. Mã máy x86-64 của trò chơi được thực thi thẳng trên CPU của hệ điều hành Linux mà không cần bất kỳ lớp biên dịch động (JIT) hay mô phỏng tập chỉ thị nào.

Để thay thế môi trường phần mềm độc quyền của PlayStation 4, tác giả xây dựng một runtime nhỏ gọn viết bằng ngôn ngữ C với dung lượng khoảng 5.000 dòng mã. Runtime này liên kết trực tiếp các thư viện hệ thống thay thế như libc và libSceFios2 với tiến trình game. Nhờ triệt tiêu hoàn toàn gánh nặng phiên dịch lệnh máy ở tầng CPU, hiện tượng nghẽn cổ chai vi xử lý vốn là rào cản lớn nhất của các trình giả lập console thế hệ thứ tám đã được giải quyết triệt để.

Xử lý đồ họa qua Vulkan và thuật toán bù vector chuyển động

Gameplay Bloodborne hiển thị nhân vật thợ săn tại Hunter's Dream
Giao diện và thế giới Yharnam trong Bloodborne được dựng qua Vulkan; việc tách luồng giải mã lệnh vẽ giúp duy trì tốc độ khung hình ổn định.

Dù vi xử lý có thể chạy mã gốc mà không cần giả lập, bài toán đồ họa lại phức tạp hơn nhiều. Chip đồ họa của PS4 sử dụng kiến trúc AMD GCN cùng tập lệnh shader và các hàm gọi API đồ họa cấp thấp riêng biệt. GPU trên PC không thể đọc trực tiếp các luồng lệnh dựng hình này.

Giải pháp của bbport là tích hợp một renderer được tùy biến sâu từ dự án mã nguồn mở shadPS4 nhằm biên dịch các lệnh vẽ sang giao diện lập trình Vulkan 1.3. Hệ thống xử lý lệnh đồ họa được thiết kế theo mô hình pipeline hai giai đoạn đa luồng: một luồng chuyên trách giải mã luồng lệnh từ PS4, trong khi luồng còn lại thực hiện bind tài nguyên và ghi nhận lệnh vẽ Vulkan.

Một điểm đáng chú ý về mặt kỹ thuật là việc tích hợp các công nghệ nâng cấp hình ảnh hiện đại. Bloodborne phát hành từ năm 2015 không có bộ đệm vector chuyển động (velocity buffer) phục vụ các thuật toán khử răng cưa và upscale dạng temporal. Nhóm phát triển bbport đã tự xây dựng thuật toán trích xuất motion vector trong thời gian thực: vector chuyển động của camera được tính toán từ depth buffer kết hợp ma trận khung cảnh, còn vector chuyển động của vật thể được suy ra từ vị trí các đỉnh (vertex) ở khung hình liền trước. Cơ chế này cho phép trò chơi áp dụng mượt mà AMD FSR 3.1, FSR 4 (tận dụng phép tính số nguyên INT8) và FSR 4.1.1.

Hiệu năng thử nghiệm: Đạt 150 fps trên card đồ họa Radeon RX 7800 XT

Game gốc trên PS4 từng bị chỉ trích vì giới hạn cứng ở 30 fps kèm lỗi giật khung hình (frame pacing). Nhờ các bản vá từ cộng đồng cho phép mô phỏng vật lý đồng bộ theo thời gian thực (delta time), bbport có thể mở khóa hoàn toàn giới hạn khung hình.

Độ phân giải Thiết lập FSR Tốc độ khung hình (FPS) (cao hơn tốt hơn) Trạng thái vận hành
1440p (2560 x 1440) FSR 4 Quality ~150 Chạy mượt, vượt xa giới hạn 30 fps gốc
4K (3840 x 2160) FSR 4 Balanced ~90 Khung cảnh ổn định tại Hunter’s Dream và Yharnam
Tùy chọn cố định FSR 3.1 / FSR 4.1.1 30 / 60 / 90 Các mốc giới hạn khung hình qua bản vá

Số liệu: Thử nghiệm của deadinside28 công bố trên trang dự án GitHub

Con số 150 fps ở độ phân giải 1440p và 90 fps ở chuẩn 4K cho thấy tiềm năng tối ưu phần cứng của phương pháp native relinking. Dự án cũng đi kèm launcher giao diện GTK4 và hỗ trợ đóng gói định dạng AppImage dành riêng cho hệ điều hành SteamOS trên máy chơi game cầm tay Steam Deck. Việc giảm tải tiêu thụ tài nguyên CPU giúp các hệ thống APU di động tiết kiệm năng lượng đáng kể, mở ra cơ hội trải nghiệm Bloodborne ở mốc 60 fps ổn định trên thiết bị cầm tay.

Rào cản bản quyền và độ hoàn thiện trước khi đến tay người chơi đại trà

Thợ săn Bloodborne đối đầu quái thú trong Yharnam
Bloodborne vẫn là tựa game độc quyền PS4 chưa có bản PC chính thức; các dự án như bbport đòi hỏi người chơi tự trích xuất đĩa game gốc để tránh rủi ro pháp lý.

Mặc dù đạt được những bước tiến kỹ thuật rõ rệt, bbport vẫn được xếp vào nhóm phần mềm thử nghiệm (experimental). Các khu vực như Hunter’s Dream và một số phân đoạn đầu tại thành phố Yharnam đã có thể chơi ổn định với đầy đủ âm thanh, nhận diện tay cầm và cơ chế lưu game. Tuy nhiên, khả năng hoàn thành toàn bộ mạch truyện từ đầu đến cuối mà không gặp lỗi đồ họa hay crash vẫn chưa được kiểm chứng đầy đủ. Mặt khác, các thử nghiệm tính đến nay chủ yếu tập trung trên GPU AMD thông qua driver mã nguồn mở Mesa RADV; độ tương thích trên card đồ họa Nvidia và Intel vẫn là dấu hỏi mở.

Về khía cạnh pháp lý, bbport không chứa bất kỳ tệp dữ liệu game hay tài sản sở hữu trí tuệ nào thuộc về FromSoftware hoặc Sony Interactive Entertainment. Dự án hoàn toàn độc lập và không liên kết với các hãng phát hành. Người dùng muốn trải nghiệm bắt buộc phải tự trích xuất bản dump giải mã của đĩa game Bloodborne mã CUSA03173 phiên bản 1.09 từ máy PlayStation 4 của chính mình.

Tại thị trường Việt Nam, đĩa game Bloodborne PS4 đã qua sử dụng hiện được các cửa hàng máy chơi game như HALOSHOP phân phối với mức giá khoảng 550.000 đồng, trong khi bbport được phát hành hoàn toàn miễn phí trên GitHub cho người dùng Linux. Cách tiếp cận của bbport chứng minh rằng việc đưa các tựa game độc quyền console x86-64 sang PC có thể đạt hiệu suất vượt trội nhờ lược bỏ tầng giả lập CPU, tạo tiền đề cho những bước phát triển ổn định hơn trong tương lai.

Nguồn tham khảo: GitHub deadinside28, XDA Developers, VGTimes.

Bài viết mới nhất