Fedora Linux 42 chính thức ra mắt với một tính năng đột phá: lớp giả lập x86 cho các máy tính sử dụng chip ARM, tương tự như công nghệ Rosetta 2 của Apple dành cho máy Mac dùng chip Apple Silicon. Điều này cho phép các thiết bị ARM chạy Linux có thể vận hành nhiều ứng dụng và trò chơi chưa được biên dịch riêng cho kiến trúc ARM, bao gồm cả phần mềm Windows thông qua lớp tương thích Wine. Đây là một bước tiến quan trọng, mở rộng đáng kể khả năng tương thích phần mềm và nâng cao trải nghiệm người dùng trên nền tảng ARM.
Ban đầu, công nghệ giả lập x86 này được phát triển cho Fedora Asahi Remix – phiên bản Linux dành riêng cho máy Mac với chip Apple Silicon. Phiên bản này đã chứng minh khả năng chạy các trò chơi Windows phổ biến như Control, Hollow Knight, Fallout 4, The Witcher 3 và Portal 2 với hiệu suất ấn tượng trên máy Mac M1. Giờ đây, nhóm phát triển Fedora đã chuyển đổi thành quả này sang các phiên bản Fedora Linux ARM tiêu chuẩn dưới dạng một gói cài đặt. Đặc biệt, tính năng này được cài đặt mặc định trong Fedora KDE Plasma Desktop 42, mang lại sự tiện lợi tối đa cho người dùng.
Nguồn Gốc và Công Nghệ Đằng Sau Lớp Giả Lập x86
Lớp giả lập tiên tiến này được xây dựng dựa trên sự kết hợp của ba công cụ chính, mỗi công cụ đóng một vai trò thiết yếu trong việc chuyển đổi và thực thi mã lệnh:
- FEX emulator: Trình giả lập FEX chịu trách nhiệm chính trong việc dịch các lệnh x86 sang lệnh ARM. Đây là trái tim của hệ thống giả lập, đảm bảo rằng các ứng dụng được viết cho kiến trúc x86 có thể được hiểu và thực thi trên phần cứng ARM.
- nuvm: Công cụ nuvm cho phép chạy phần mềm trong các máy ảo siêu nhỏ (micro virtual machines). Điều này cung cấp một môi trường cô lập và hiệu quả để thực thi các ứng dụng, đặc biệt hữu ích cho các trường hợp cần môi trường kernel có kích thước trang (page-size) khác biệt.
- binfmt-dispatcher: Công cụ binfmt-dispatcher có nhiệm vụ lựa chọn trình giả lập phù hợp nhất khi một ứng dụng x86 được mở. Nó hoạt động thông qua giao diện binfmt_misc của kernel, tự động xác định trình giả lập tối ưu dựa trên chương trình, hệ thống đang chạy và cấu hình của nó.
Hệ thống này hỗ trợ cả phần mềm x86 32-bit và x86_64 (còn được gọi là ‘amd64’) 64-bit. Đối với phần mềm Windows x86, Wine (hoặc các phiên bản phát triển từ Wine như Proton) cũng được thêm vào chuỗi công nghệ, đóng vai trò là lớp tương thích cho phép ứng dụng Windows chạy trên Linux. Ngoài ra, người dùng còn có thể linh hoạt thay thế FEX bằng các trình giả lập khác như box64 hoặc QEMU nếu cần, tùy thuộc vào yêu cầu cụ thể và hiệu suất mong muốn.
Biểu tượng Fedora Linux, đại diện cho hệ điều hành mã nguồn mở đang tích hợp tính năng giả lập x86 mạnh mẽ cho các thiết bị ARM.
Theo nhóm Fedora, “Với thiết lập này, khi một chương trình không phải bản native được chạy, kernel sẽ gọi binfmt-dispatcher thông qua giao diện binfmt_misc. Dispatcher chọn trình giả lập tốt nhất để sử dụng, dựa trên chương trình, hệ thống đang chạy và cấu hình của nó. Theo mặc định, chúng tôi sử dụng trình giả lập FEX, cung cấp sự cân bằng tốt nhất giữa hiệu suất và khả năng tương thích cho hầu hết các chương trình. FEX chỉ hỗ trợ các hệ thống chủ chạy kernel có kích thước trang 4k. Do đó, khi chạy trên một hệ thống có kích thước trang khác (chẳng hạn như Apple Silicon Mac chạy Fedora Asahi Remix 42, sử dụng kích thước trang 16k), dispatcher sẽ tự động chạy FEX bên trong muvm. Điều này sẽ khởi động một microVM với kernel kích thước trang 4k để đảm bảo khả năng tương thích.”
Tại Sao Cần Giả Lập x86 Trên Nền Tảng ARM?
Mặc dù nhiều ứng dụng và tiện ích Linux phổ biến đã cung cấp các phiên bản native cho kiến trúc ARM trong nhiều năm qua, chủ yếu nhờ vào sự phổ biến của Raspberry Pi và các bo mạch ARM khác, cũng như sự phát triển của máy Mac dùng chip Apple Silicon và máy chủ ARM, vẫn còn một lượng lớn phần mềm chỉ có sẵn cho x86.
Đặc biệt, hầu hết các ứng dụng độc quyền dành cho Linux như Discord, Slack và Steam chỉ có phiên bản x86. Phần mềm Windows vẫn chủ yếu chỉ khả dụng cho bộ xử lý x86, bao gồm gần như tất cả các trò chơi Windows. Giả lập giúp lấp đầy những khoảng trống về chức năng này trên phần cứng ARM, tương tự như cách nó hoạt động với các máy tính Windows dựa trên ARM.
Mặc dù việc giả lập có thể đi kèm với những hạn chế về hiệu suất và độ ổn định, nhưng đây vẫn là một giải pháp cực kỳ hữu ích và đáng để thử nghiệm nếu bạn sở hữu một thiết bị ARM chạy Linux. Khả năng này còn mở rộng ra ngoài thiết lập máy tính truyền thống – ví dụ, trò chơi Celeste dành cho Windows đã được chứng minh có thể chạy trên điện thoại sử dụng postmarketOS Linux, cho thấy tiềm năng rộng lớn của công nghệ này.
Cách Thức Trải Nghiệm Lớp Giả Lập x86
Để trải nghiệm tính năng giả lập x86 trên Fedora Linux 42, bạn có thể tham khảo các cách sau:
- Cài đặt sẵn: Lớp giả lập x86 được cài đặt sẵn trên Fedora KDE Plasma Desktop 42, cũng như trên các phiên bản KDE và GNOME của Fedora Asahi Remix.
- Cài đặt thủ công: Đối với các phiên bản Fedora ARM khác, bạn có thể dễ dàng cài đặt tính năng này bằng cách chạy lệnh sau trong Terminal:
sudo dnf install @x86-emulation
Cần lưu ý rằng tính năng này hiện tại được thiết kế đặc biệt cho việc giả lập x86 trên các máy chủ ARM. Tuy nhiên, như nhóm phát triển Fedora đã đề cập trong bài đăng trên blog, “mặc dù chúng tôi đặc biệt nhắm mục tiêu giả lập x86 trên các máy chủ ARM, cùng một phương pháp này có thể được sử dụng cho các máy chủ và mục tiêu khác trong tương lai.” Điều này mở ra triển vọng cho việc mở rộng khả năng giả lập sang các kiến trúc và nền tảng khác trong tương lai.
Với khả năng giả lập x86 mạnh mẽ này, Fedora Linux 42 không chỉ củng cố vị thế là một hệ điều hành tiên phong mà còn mang lại giá trị to lớn cho cộng đồng người dùng ARM, giúp họ tiếp cận một kho ứng dụng rộng lớn hơn. Hãy khám phá và chia sẻ trải nghiệm của bạn với tính năng đột phá này để cùng cộng đồng Linux phát triển hơn nữa!
Nguồn tham khảo: Fedora Magazine