💡 Đội ngũ RetroLab đánh giá cao nỗ lực của đội ngũ Libretro trong việc mang đến những cải tiến thực sự có ý nghĩa cho cộng đồng giả lập, đặc biệt là shader CRT mới – một bước tiến lớn về chất lượng hiển thị. Việc bổ sung cảm biến ánh sáng trên Linux cũng cho thấy sự quan tâm đến trải nghiệm chơi game đích thực, điều mà ít phần mềm giả lập nào chú trọng.
RetroArch 1.20.0 vừa chính thức được phát hành, mang đến nhiều cải tiến đáng chú ý cho cộng đồng giả lập. Phiên bản này tiếp tục khẳng định cam kết của đội ngũ phát triển: không quảng cáo, không khóa tính năng sau paywall, và luôn đặt trải nghiệm người dùng lên hàng đầu. Nếu muốn ủng hộ dự án, bạn có thể donate qua Patreon, GitHub Sponsors, hoặc mua hàng từ Teespring store.
Điểm nhấn chính
Shader mô phỏng tia quét CRT (Shader Subframes)
Một trong những tính năng nổi bật nhất của RetroArch 1.20.0 là shader CRT beam simulation do Mark Rejhon (BlurBusters) và Timothy Lottes (người tạo FXAA gốc và shader crt-lottes) phát triển. Shader này tận dụng khả năng “subframe” mới của RetroArch để cải thiện đáng kể độ rõ nét chuyển động trên màn hình hiện đại, mà không gặp các nhược điểm thường thấy ở kỹ thuật Black-Frame Insertion (BFI) như giảm độ sáng, màu sắc nhạt nhòa hay nguy cơ lưu ảnh tạm thời (image persistence) trên nhiều loại tấm nền LCD.

Bạn có thể đọc bài viết riêng về shader này tại đây.
Hỗ trợ cảm biến ánh sáng trên Linux
Jesse Talavera tiếp tục đóng góp với tính năng hỗ trợ cảm biến ánh sáng (illuminance sensor) cho các driver input trên Linux: linuxraw, sdl2, udev và x11. Nhờ đó, bạn có thể chơi các tựa game như Boktai hoặc Lunar Knights với ánh sáng thực tế – đúng như ý đồ ban đầu của nhà phát triển. Hình ảnh dưới đây ghi lại cảnh Lunar Knights chạy trên Steam Deck khi điều chỉnh độ sáng.

Danh sách thay đổi chi tiết (Changelog 1.20.0)
- Âm thanh: Sửa lỗi xử lý audio khi dùng RARCH_NETPLAY_CTL_USE_CORE_PACKET_INTERFACE; bổ sung bộ lọc audio bị thiếu trên một số nền tảng; thêm driver PipeWire cho cả audio và microphone.
- Apple: Ẩn tùy chọn threaded video; dùng driver joypad mfi mặc định; bổ sung các core holani, noods, mrboom, yabause, bsnes-jg vào bản App Store.
- Cheevos: Thêm rarity và points vào widget mở khóa thành tựu; thêm rank vào thông báo leaderboard; cập nhật lên rcheevos 11.5 và 11.6; hiển thị ảnh game trong Discord rich presence; dùng chuỗi đã dịch cho thông báo thành tựu.
- CloudSync: Cho phép đồng bộ tùy chọn save và config; thêm driver iCloud; tăng tốc bằng cách upload/download song song; hỗ trợ thumbnail và thư mục system; kích hoạt CloudSync trên Android (non-SSL) và Windows; sửa lỗi xác thực lại và đồng bộ song song; sửa lỗi phục hồi file.
- CRT/SwitchRes: Cập nhật switchres lên 2.2.1.
- Tổng quát: Hỗ trợ mbedtls v3; tái cấu trúc Automatic Frame Delay; loại bỏ Frame Rest (đã bị thay thế); tự động tăng chỉ số save state khi giới hạn số lượng; bật CHD hashing cho Switch và DOS; tự động lưu save state khi tải nội dung mới; cải thiện Preemptive Frames khi dùng thiết bị trỏ; sửa lỗi build khi tắt menu.
- Haiku: Khôi phục build cho Haiku.
- Input: Cho phép chọn thiết bị ưu tiên/dành riêng cho mỗi người chơi; hỗ trợ modifier Caps, Num, Scroll Lock trên nhiều nền tảng; mở rộng autoconfig với tên/vid/pid thay thế; sửa lỗi lưu profile autoconfig khi thiết bị không ở cổng mặc định; thay đổi turbo cổ điển để hoạt động độc lập với phím nhấn trước; chuẩn hóa xử lý pointer và lightgun trên Windows và Linux desktop; sửa lỗi phát hiện phím shift nhanh trên DInput; sửa crash trên macOS khi ngắt kết nối controller lần thứ hai; thêm hỗ trợ cảm biến ánh sáng cho linuxraw, sdl2, udev, x11; sắp xếp và áp dụng remaps dựa trên controller cụ thể; bật chuột button 4 và 5 trên udev, Wayland, X11; thêm hỗ trợ cuộn ngang và button 4,5 trên Wayland; mô phỏng lightgun cho core trên Wayland; hỗ trợ giao thức cursor-shape-v1 và content-type-v1.
- iOS: Bật rung mặc định; xử lý chuột vật lý/trackpad Magic Keyboard tốt hơn; sửa lỗi mouse grab; sửa lỗi di chuyển con trỏ khi giữ nút; sửa lỗi yêu cầu microphone; cho phép biên dịch trở lại iOS 12; sửa lỗi OpenGL ES context trên iOS 9; thêm Opera vào bản App Store; đưa NEON defines về đúng với ARM64; flush save file khi vào nền.
- Libretro: Hỗ trợ RETRO_ENVIRONMENT_GET_FILE_BROWSER_START_DIRECTORY; hỗ trợ “/” như một phần mở rộng file để tải thư mục làm nội dung.
- FFmpeg: Sửa lỗi crash khi phát file audio 96 kHz.
- macOS: Server hiển thị mới, hỗ trợ ProMotion 120Hz V-Sync; tạo bản App Store; tạo key up events cho phím command.
- MIDI: Sửa lỗi tin nhắn dài (SysEx) trong driver WinMM; sửa lỗi nốt kéo dài khi đóng driver Alsa.
- Menu: Hỗ trợ thumbnail cục bộ ở định dạng khác ngoài png (jpg/jpeg, bmp, tga); xóa thumbnail savestate khi dọn rác; tùy chọn tắt điều hướng menu bằng analog stick; sửa lỗi pause toggle không xóa fast forward; sửa lỗi tìm kiếm playlist index trong XMB/Ozone; sửa lỗi hiển thị mục đã đổi tên; lọc extension lạ trong file zip; thêm icon cho firmware hiện có/thiếu trên trang core info; bỏ qua hotkey khác khi bật menu toggle; sửa lỗi menu nhảy khi dùng combo L3+R3; System Information chỉ hiển thị tính năng liên quan đến nền tảng; GLUI: làm hiệu lực Show Sublabels, sửa icon; XMB: cho phép tùy chỉnh icon playlist riêng lẻ qua thư mục Named_Logos; Ozone: thêm theme Selenium, cải thiện cảm ứng, thêm nút Resume chạm ở góc dưới phải.
- Netplay: Thêm relay server Đông Á.
- Overlay: Thêm tùy chọn tải overlay dựa trên tên hệ thống.
- PS2: Sửa một số core bị hỏng phụ thuộc pthread.
- Qt: Cho phép build với Qt6; sửa lỗi input panel.
- Recording: Driver ghi WAV mới (chỉ audio).
- Remote RetroPad: Thêm màn hình kiểm tra gyro/acceleration/light sensor; thêm màn hình kiểm tra pointer.
- Replay: Mở rộng định dạng replay để hỗ trợ công cụ bên ngoài.
- tvOS: Hỗ trợ bàn phím Bluetooth; sửa lỗi chạy trên tvOS13; xử lý Siri remote tốt hơn; thêm WebDAV server để thêm file dễ dàng; thêm tùy chọn reset retroarch.cfg trong Settings; hạ yêu cầu tvOS tối thiểu xuống 13.0.
- Video: Hiển thị và sử dụng tần số quét chính xác (3 số thập phân) và interlace/doublestrike nếu có; cho phép đặt viewport bias để dịch viewport ngang/dọc; hỗ trợ viewport bias với integer overscale và tỷ lệ tùy chỉnh; dùng đường dẫn shader từ CLI để cycle shader; cải thiện pixel perfect integer scaling: tùy chọn trục, chế độ smart; thêm bộ lọc upscale 1.66x; sửa lỗi chụp màn hình GPU trên D3D; buộc fullscreen khi dùng KMS; cải thiện độ chi tiết version directive trên OpenGLES; sửa lỗi rò rỉ bộ nhớ khi shader parameter step = 0.0; thêm 2 uniform OriginalAspect và OriginalAspectRot; thêm uniform CoreFPS và FrameTimeDelta; hỗ trợ include tùy chọn trong Slang; sửa lỗi đóng băng Vulkan window khi swapchain trở nên suboptimal; ưu tiên chế độ IMMEDIATE khi không vsync; hỗ trợ inhibit screensaver Xss trên X11.
- Vita: Bật trigger L2/R2 analog khi dùng DS3 với PS Vita.
- Wayland: Sửa lỗi segfault khi không hỗ trợ relative pointer; dùng reverse DNS name cho desktop file và icon; commit viewport resize để hiển thị phản hồi nhanh hơn khi thay đổi kích thước cửa sổ.
- Windows: Sửa lỗi restart nếu đường dẫn chứa ký tự non-ASCII; ẩn thư mục bắt đầu bằng $ khỏi file browser.
Bạn có thể tải RetroArch 1.20.0 ngay tại trang chủ.
Nguồn: RetroArch Blog - https://www.libretro.com/index.php/tag/android/

