Trong số rất nhiều ứng dụng và trò chơi, Lossless Scaling (Lossless Scaling) luôn là một trong những rào cản chính khiến việc chuyển đổi sang Linux trở nên khó khăn đối với nhiều game thủ. Trớ trêu thay, đây lại là ứng dụng cần thiết hơn trên Linux so với Windows, bởi cả AMD và Nvidia đều chưa cung cấp tính năng tạo khung hình (frame generation) ở cấp độ driver cho hệ điều hành mã nguồn mở này. Mặc dù Lossless Scaling chính thức chỉ hỗ trợ Windows, nhưng một nhà phát triển tài năng, với sự hỗ trợ từ chính đội ngũ Lossless Scaling, đã và đang phát triển một dự án mã nguồn mở đầy hứa hẹn để đưa tính năng tạo khung hình xuất sắc này lên Linux.
Dự án này đã đạt được những thành công đáng kể, cho phép bạn trải nghiệm Lossless Scaling trên Linux ngay bây giờ, miễn là bạn sở hữu ứng dụng này trên Steam. Mặc dù vẫn còn là một sản phẩm đang trong quá trình phát triển, việc tạo khung hình trên Linux đã có những bước tiến dài chỉ trong vài tuần. Bài viết này của 360congnghe.com sẽ đi sâu vào cách thức hoạt động, hướng dẫn cài đặt, cấu hình và đánh giá thực tế về khả năng mang Lossless Scaling trên Linux để bạn có thể tận hưởng trải nghiệm chơi game mượt mà hơn.
Thiết lập Dual GPU với RTX 3080 Ti và GTX 1080 cho Lossless Scaling
Lossless Scaling Hoạt Động Trên Linux Bằng Cách Nào?
Vượt Qua Giới Hạn Của Proton Với Cách Tiếp Cận Độc Đáo
Lossless Scaling là một ứng dụng đặc biệt khó nhằn. Về cơ bản, nó là một ứng dụng DirectX 11, nhưng không phải là một trò chơi và không thực hiện bất kỳ quá trình render đồ họa nào. Mặc dù nhiều người có thể nghĩ rằng chỉ cần “ném Proton vào là giải quyết được vấn đề”, nhưng thực tế lại không đơn giản như vậy. Lossless Scaling sẽ không hoạt động trên Linux ngay cả khi sử dụng Proton.
Nhà phát triển của lsfg-vk
– dự án đang port tính năng tạo khung hình của Lossless Scaling lên Linux – giải thích rằng họ đã hoàn thành việc port này theo hai phần. Đầu tiên, các shader DirectX 11 được dịch sang Vulkan bằng DXVK, vốn là xương sống của Proton. Sau đó, họ phải viết lại pipeline shader trong DirectX 11 để nó có thể được chuyển đổi bằng DXVK sang Vulkan.
Theo lời nhà phát triển: “Bước đầu tiên để dịch D3D11 sang Vulkan, là không dịch D3D11 sang Vulkan. Thay vào đó, là dịch D3D11 sang D3D11, và sau đó sang Vulkan.” Cách tiếp cận độc đáo này cho thấy sự phức tạp và sáng tạo trong việc vượt qua các rào cản kỹ thuật.
Hướng Dẫn Cài Đặt và Cấu Hình lsfg-vk
Nếu bạn đã từng sử dụng Lossless Scaling trên Windows, quá trình thiết lập trên Linux sẽ có một chút khác biệt. Đầu tiên, bạn cần cài đặt Lossless Scaling thông qua Steam. Sau khi hoàn tất, bạn có thể tải script shell bằng lệnh sau (hoặc clone repo trên GitHub):
curl -sSf https://pancake.gay/lsfg-vk.sh | sh
Có một vài tùy chọn cho các bản phân phối Linux khác nhau, bao gồm Arch, Debian và các bản phân phối dựa trên Fedora. Dự án này được bắt đầu trên Arch, và tác giả bài viết gốc đã sử dụng CachyOS, một bản phân phối dựa trên Arch. Nếu bạn đang sử dụng một bản phân phối khác, bạn có thể gặp phải một số vấn đề.
Đó là tất cả những gì bạn cần làm để cài đặt dự án. Việc cấu hình sẽ phức tạp hơn một chút. Tất cả các tùy chọn cấu hình được xử lý dưới dạng biến môi trường, mà bạn có thể thiết lập thông qua dòng lệnh hoặc dưới dạng tùy chọn khởi chạy trong Steam. May mắn thay, nhà phát triển đã cung cấp một tài liệu chi tiết về tất cả các biến, đầy đủ các cài đặt tối ưu, ghi chú và thậm chí là một hướng dẫn ngắn gọn về cách thiết lập biến môi trường.
Cách dễ nhất để cấu hình là thiết lập các tùy chọn khởi chạy trong Steam. Đây là thiết lập ổn định nhất mà tác giả bài viết gốc đã có trong quá trình thử nghiệm:
ENABLE_LSFG=1 LSFG_MULTIPLIER=4 DXVK_FRAME_RATE=60 %COMMAND%
Tác giả đã sử dụng màn hình 240Hz, vì vậy đã đặt giới hạn FPS ở 60 và sử dụng hệ số nhân 4x với Lossless Scaling. Mục đích chính là kiểm tra xem tính năng tạo khung hình 4x có hoạt động trên Linux hay không, và nó đã hoạt động. Tuy nhiên, tác giả có thể sẽ quay lại với tính năng tạo khung hình 2x và đặt giới hạn DXVK ở 120. Có sẵn các biến cho các tính năng quan trọng trong Lossless Scaling, bao gồm Flow Scale, Performance Mode và hỗ trợ HDR. Tuy nhiên, càng thêm nhiều biến, Lossless Scaling sẽ hoạt động càng kém ổn định. Bạn có thể cần điều chỉnh cài đặt cho từng trò chơi, nhưng những thiết lập cơ bản nên là bật LSFG, đặt hệ số nhân và đặt giới hạn FPS.
Steam Deck OLED chơi game với Proton GE
Hiệu Quả Thực Tế: Khi Nào Hoạt Động, Khi Nào Gặp Vấn Đề
Mức Độ Tương Thích và Các Hạn Chế Ban Đầu
Ngay trên trang GitHub của lsfg-vk
đã ghi rõ: “Đây là một dự án đang trong quá trình phát triển. Mặc dù tính năng tạo khung hình đã hoạt động trong khá nhiều trò chơi, nhưng khả năng tương thích với nhiều game cũng như các vấn đề về độ ổn định khung hình (frame pacing) vẫn cần được khắc phục.” Thật đáng kinh ngạc khi dự án này hoạt động tốt đến vậy, xét đến mức độ phức tạp đằng sau nó. Tuy nhiên, nó sẽ không “chỉ cần bật là chạy” trên mọi trò chơi như Lossless Scaling trên Windows. Sẽ có những vấn đề phát sinh, và tùy thuộc vào GPU, bản phân phối Linux, màn hình, trò chơi, cài đặt LSFG, và thậm chí cả cài đặt trong game, bạn có thể gặp phải các trục trặc.
Tác giả đã thử nghiệm với các tựa game Elden Ring: Nightreign, Lies of P và Stellar Blade. Tính năng tạo khung hình đã hoạt động hoàn hảo trong Nightreign và Stellar Blade. Phàn nàn lớn nhất là không có cách nào để biết liệu tính năng tạo khung hình có đang hoạt động hay không. Khi sử dụng tỷ lệ 4x để tăng từ 60 lên 240 FPS, thì rất rõ ràng là tính năng tạo khung hình đang bật. Tuy nhiên, trong trường hợp bạn tăng từ 120 lên 240 FPS, rất khó để nhận biết. Trò chơi khởi chạy với LSFG được bật ngay từ đầu, vì vậy không có điểm tham chiếu khi bạn chuyển từ tốc độ khung hình vốn đã cao lên cao hơn nữa.
Ảnh chụp màn hình game Nightreign hiển thị hiệu ứng tạo khung hình Lossless Scaling trên Linux
Thách Thức và Giải Pháp Khắc Phục
Tác giả đã không thể khiến tính năng này hoạt động trong Lies of P, mặc dù trò chơi này nằm trong danh sách các game tương thích. May mắn thay, bạn có thể xuất một tệp nhật ký (log), và nhà phát triển dường như rất tích cực hoạt động trên Discord của Lossless Scaling. Tuy nhiên, nếu bạn mong đợi một trải nghiệm liền mạch, bạn sẽ không tìm thấy điều đó vào lúc này. Nhà phát triển có danh sách các “quirks” trên GitHub, bao gồm mọi thứ từ việc đặt giới hạn FPS cho đến chạy trò chơi ở chế độ cửa sổ.
Thành thật mà nói, dự án này hoạt động tốt hơn nhiều so với kỳ vọng. Tại thời điểm viết bài, dự án mới chỉ tồn tại chưa đầy một tháng nhưng đã có tới 143 commit trên GitHub (con số này có thể còn nhiều hơn tùy thuộc vào thời điểm bạn đọc bài). Điều này cực kỳ ấn tượng, đặc biệt khi đây là dự án của một nhà phát triển độc lập vẫn còn đang đi học. Hơn nữa, họ rất tích cực trên Discord của Lossless Scaling và đã thành công trong việc đưa LSFG 3.1 và cài đặt Flow Scale hoạt động, với sự giúp đỡ từ chính nhà phát triển Lossless Scaling. Lsfg-vk chưa nhận được sự chứng nhận hoàn toàn, nhưng với đủ các bản vá lỗi, nó có thể sẽ được tích hợp vào Lossless Scaling chính thức trong tương lai.
Ảnh chụp màn hình game Lies of P không hoạt động với Lossless Scaling Linux
Tương Lai Nào Cho lsfg-vk?
Những Cải Tiến Sắp Tới và Tiềm Năng Phát Triển
Bản cập nhật gần đây nhất của PancakeTAS về lsfg-vk
đã hé lộ rằng một số “thay đổi khá lớn” sẽ sớm đến với dự án, nhưng không rõ những thay đổi đó là gì hoặc khi nào chúng sẽ được phát hành. Tác giả bài viết gốc nghi ngờ rằng bản cập nhật tiếp theo sẽ tập trung vào các vấn đề về độ ổn định khung hình (frame pacing). Rõ ràng, do cách dự án hoạt động hiện tại, bạn sẽ gặp phải hiện tượng giật hình và các vấn đề về độ ổn định khung hình tùy thuộc vào trò chơi bạn đang chơi và tốc độ khung hình bạn đang thiết lập. Có thể sẽ có những nỗ lực để làm cho quá trình inject trở nên nhất quán hơn, và hy vọng sẽ ít phụ thuộc vào các trò chơi và cấu hình cụ thể hơn.
Tuy nhiên, đó chỉ là phỏng đoán. Điều đáng quan tâm hơn là dự án này sẽ đi đến đâu trong vài tháng tới. Một trong những bước tiếp theo rõ ràng sẽ là một giao diện người dùng đồ họa (GUI), ngay cả khi nó chỉ có thể xuất ra một chuỗi các biến khởi chạy cho Steam dựa trên những gì bạn đã thiết lập. Không giống như Lossless Scaling chính thức, đây là một dự án mã nguồn mở, vì vậy nếu bạn có thể tạo ra một GUI đơn giản, bạn biết nơi để đóng góp.
Màn hình hiển thị các thay đổi và cập nhật dự án lsfg-vk
Hỗ Trợ Chính Thức Từ Lossless Scaling?
Việc có hỗ trợ chính thức cho Linux trong tương lai cũng là một điều tuyệt vời. Đó có thể là kế hoạch, xét đến việc nhà phát triển của Lossless Scaling đang giúp đỡ dự án lsfg-vk
, nhưng đây chỉ là suy đoán. Có thể không thể có trải nghiệm liền mạch trên Linux như Lossless Scaling cung cấp trên Windows. Tác giả cũng không chắc chắn việc hỗ trợ chính thức sẽ đến như thế nào, vì lsfg-vk
là một dự án mã nguồn mở.
Chúng Ta Đã Khởi Đầu Thuận Lợi
Đã có rất nhiều tiến bộ đáng kinh ngạc trong dự án lsfg-vk
chỉ trong vài tuần, điều này rất đáng mừng. Chắc chắn tác giả bài viết gốc không phải là người duy nhất mong muốn Lossless Scaling hoạt động trên Linux, và lsfg-vk
đã biến điều tưởng chừng như một giấc mơ xa vời thành hiện thực. Dù còn xa mới đạt đến sự hoàn hảo, nhưng lsfg-vk
đã hoạt động đủ tốt để xứng đáng để bạn cài đặt và trải nghiệm ngay bây giờ. Hãy cùng theo dõi sự phát triển của dự án này và hy vọng vào một tương lai chơi game trên Linux với tốc độ khung hình mượt mà hơn bao giờ hết.
Lossless Scaling