5 phút đọc
Repository Droid-Deck/DroidDeck hiện thu hút sự chú ý lớn từ cộng đồng phát triển phần mềm và giả lập trên Android khi đạt 17.853 stars cùng 906 forks trên GitHub. Được phát triển chủ yếu bằng ngôn ngữ Kotlin, dự án này hướng tới mục tiêu đưa giao diện và hệ sinh thái của SteamOS lên các thiết bị di động chạy hệ điều hành Android.
Hệ sinh thái tính năng: Từ Steam Gaming Mode đến Linux Desktop
DroidDeck không chỉ dừng lại ở việc mô phỏng giao diện chơi game đơn thuần mà cung cấp một môi trường tương tác đa dụng. Theo thông tin công bố từ nhóm phát triển, repository hỗ trợ danh sách tính năng phong phú bao gồm:
- Steam Gaming Mode và Linux Desktop: Cho phép thiết bị khởi chạy chế độ chơi game tập trung của Steam hoặc chuyển sang không gian làm việc Linux desktop hoàn chỉnh.
- Tích hợp nhiều cửa hàng game: Hỗ trợ kết nối trực tiếp với các nền tảng phân phối game phổ biến như GOG, Epic Games, Xbox và các cửa hàng khác, đi kèm khả năng làm việc với Steam VR.
- Hỗ trợ thiết bị đeo thông minh: Trong bảng ma trận hỗ trợ (support matrix), dự án đã cập nhật quy trình thiết lập dành cho các dòng kính thông minh (smart glasses).
Dự án cam kết tinh thần mã nguồn mở toàn diện khi phát hành theo giấy phép GPL-3.0, hoàn toàn không chứa quảng cáo, không tích hợp mã thu thập dữ liệu người dùng (telemetry) và không giữ lại bất kỳ phần mã nguồn ẩn nào. Nhóm tác giả nhấn mạnh DroidDeck không có website riêng; người dùng được khuyến cáo chỉ nên tải bản cài đặt duy nhất từ mục Releases trên repository GitHub của dự án.
Mọi hoạt động hỗ trợ kỹ thuật, phát hành bản thử nghiệm (Preview builds) và báo cáo tương thích phần cứng đều được quản lý qua máy chủ Discord. Khi gặp sự cố kỹ thuật, người dùng cần trích xuất tập tin nén từ tính năng “Share logs” và gửi vào kênh #bug-reports để nhận sự trợ giúp.
Môi trường phát triển và quy trình đóng gói phần mềm
Để tiến hành biên dịch phần mềm từ mã nguồn gốc, nhà phát triển cần chuẩn bị môi trường làm việc khá phức tạp bao gồm Docker, Java 17, Android SDK và NDK, Rust (cài đặt qua rustup), GitHub CLI, Python 3 và công cụ nén zstd.
Quy trình đóng gói APK, cài đặt và kiểm thử được hỗ trợ qua các công cụ kịch bản sẵn có:
- Xuất bản APK: Tập tin APK sau khi biên dịch sẽ nằm tại đường dẫn
app/build/outputs/apk/release/. Việc cài đặt lần đầu có thể thực thi qua kịch bảntools/deploy_local.sh. Ở các lần xây dựng tiếp theo, lệnh./gradlew :app:assembleReleasesẽ tái sử dụng các dữ liệu đầu vào đã chuẩn bị trước đó để tối ưu thời gian. - Kiểm thử hệ thống: Bộ kiểm thử đơn vị (unit test) chạy độc lập qua câu lệnh
./gradlew -PskipRust=true :app:testDebugUnitTest, trong khi các kiểm thử bổ trợ và preload suite được kích hoạt bằng lệnhbash tools/test_local.sh. - Hỗ trợ hệ điều hành Windows: Dự án cung cấp sẵn hai tập tin kịch bản
tools/run_windows.ps1vàtools/prepare_windows_runtime.pyđể phục vụ cho việc thiết lập môi trường thực thi trên nền tảng Windows.
Hạn chế kỹ thuật và điểm cần lưu ý về tương thích
Mặc dù sở hữu tham vọng lớn, DroidDeck vẫn tồn tại những rào cản kỹ thuật được chính tác giả minh bạch trong tài liệu dự án:
Hiệu năng và khả năng tương thích của ứng dụng biến động phụ thuộc vào từng loại thiết bị Android cụ thể. Hiện tại, tính năng dựng hình giao diện desktop (desktop compositing) mới dừng lại ở mức xử lý bằng phần mềm (software rendered). Đồng thời, cơ chế cô lập an toàn (sandboxing) của trình duyệt Firefox sẽ bị giảm cấp khi vận hành trong môi trường proot.
Ngoài ra, dự án có tham chiếu và làm việc với thiết bị hoặc nhãn hiệu của Valve Corporation (Steam, Proton), các hãng kính thông minh (VITURE, RayNeo, XREAL, Rokid), thiết bị REDMAGIC, Nintendo Switch cũng như tay cầm Joy-Con. Tuy nhiên, DroidDeck khẳng định hoàn toàn không có mối liên kết hay thuộc quyền sở hữu của bất kỳ thương hiệu nào kể trên.
Những điều còn bỏ ngỏ
Hiện tại, thông tin từ repository chưa đề cập đến điểm số hiệu năng thực tế (benchmark) trên các chipset di động phổ biến, danh sách chính thức các phiên bản Android tối thiểu được hỗ trợ, cũng như kế hoạch tích hợp cơ chế tăng tốc phần cứng cho giao diện desktop trong các bản phát hành tương lai.
Nguồn tham khảo: Xem bài gốc