Nintendo Switch là một trong những hệ máy console thành công nhất mọi thời đại. Với việc phiên bản kế nhiệm cuối cùng đã được hé lộ, đã đến lúc chúng ta nói lời tạm biệt với chiếc Switch đời đầu. Hay không? Nintendo cho rằng người dùng vẫn có thể mua phiên bản gốc nếu thế hệ mới quá đắt, và với kho game khổng lồ tuyệt vời, Switch vẫn chưa hề lỗi thời. Hơn nữa, nếu bạn sở hữu một trong những chiếc Switch đời đầu đã cũ, việc cài đặt firmware tùy chỉnh… hay cả Linux, sẽ trở nên cực kỳ dễ dàng.
Trong một hành động có thể mô tả là điên rồ, tôi đã cài đặt Ubuntu lên Nintendo Switch của mình. “Tại sao ư?”, tôi nghe bạn hỏi. “Vì tôi có thể”, là câu trả lời của tôi. Bạn thấy đấy, Nintendo và Nvidia đã để lại một lỗ hổng khá lớn trong bootROM của Nintendo Switch đời đầu. Chỉ cần một jig in 3D nhỏ gọn gắn vào thanh Joy-Con (hoặc thậm chí dùng giấy bạc nếu bạn liều lĩnh, dù có thể làm hỏng Switch), bạn có thể khởi động hầu hết mọi thứ trên thiết bị này. Với Switch 2 sắp ra mắt, tôi đã mang chiếc Nintendo Switch đời đầu của mình ra khỏi “nghỉ hưu” để vui vẻ với nó lần cuối.
Nhưng trước hết, hãy cùng tìm hiểu một chút về lịch sử.
Lỗi lầm của Nintendo (hay Nvidia?) với Switch đời đầu
Lỗ hổng Fusée Gelée và chip Tegra-X1
Switchroot LineageOS 15.1 Android trên Nintendo Switch
Năm 2018, một chuỗi khai thác đã được tạo ra bởi Katherine Temkin và “ReSwitched” – một nhóm hacker tập trung vào Nintendo Switch – được đặt tên là Fusée Gelée. Fusée Gelée là một lỗ hổng khai thác coldboot trong bootROM của Nintendo Switch, và không thể vá hay sửa đổi một khi thiết bị đã được xuất xưởng. Đây là đoạn mã đầu tiên mà console chạy khi khởi động, và lỗ hổng này ảnh hưởng đến tất cả các SoC Tegra-X1 vào thời điểm đó. Chip Tegra-X1 có chế độ khôi phục qua USB, chế độ này đã bỏ qua các biện pháp bảo vệ khác của hệ thống. Mặc dù trên lý thuyết, bất kỳ mã nào gửi qua đó vẫn phải được xác thực là đã được ký chính thức, nhưng có nhiều lỗi trong việc triển khai bảo mật của nó cho phép gửi tới 65.535 byte, dẫn đến tràn bộ đệm đáng kể.
Các console bị ảnh hưởng không thể sửa lỗi, và lỗ hổng trên các thiết bị này đã tồn tại trong suốt vòng đời của Switch kể từ khi được phát hiện. Tuy nhiên, điều này đã được vá trong các phiên bản phần cứng sau này, bao gồm Switch v2 (với thời lượng pin tốt hơn), Switch Lite và Switch OLED. Chiếc Nintendo Switch đầu tiên mà tôi mua là một máy cũ có số sê-ri nằm trong phạm vi các thiết bị có thể khai thác, cho phép tôi cài đặt firmware tùy chỉnh, các bản mod, và dĩ nhiên, cả Linux. Điều này được thực hiện bởi đội Switchroot, những người cũng đã port LineageOS (tức là Android) sang nó.
Chỉ đơn giản bằng cách phân vùng thẻ SD của bạn, tải xuống hình ảnh của hệ điều hành bạn muốn cài đặt và gửi đúng payload, bạn có thể khởi động bất kỳ thứ gì trên Switch. Tất cả là nhờ vào lỗ hổng đặc biệt này; nó mở toang bảo mật của Switch khi khởi động, cho phép bạn khởi động hệ điều hành của riêng mình thay thế. Và vì Tegra-X1 là một chip Arm được tài liệu hóa tốt với các driver Linux chính thức được Nvidia phân phối, việc khởi động Linux và thực sự sử dụng nó lại dễ dàng đến bất ngờ.
Bạn có thể làm gì với Linux trên Nintendo Switch?
Mở rộng khả năng chơi game và phần mềm
Với Linux trên Nintendo Switch, thực sự có rất ít giới hạn. Bạn có thể chơi game, duyệt web, và bạn có thể gắn dock để sử dụng nó như một máy tính nếu muốn. Nó hoàn toàn mở khóa console để bạn làm bất cứ điều gì mình muốn, và bạn sẽ bị giới hạn bởi hiệu suất yếu hơn của Tegra X1 hơn bất cứ điều gì khác. Nếu bạn cài đặt Linux, điều đầu tiên bạn nên làm là tải L4T Megascript, một script sẽ xử lý việc cài đặt và cập nhật mọi thứ cho bạn. Một số bản phân phối Linux đi kèm với nó, và tôi đang sử dụng Ubuntu 24.04 Noble, được duy trì bởi theofficialgman. Hướng dẫn cài đặt và chạy cũng có sẵn ở đó.
Có rất nhiều ứng dụng bạn có thể cài đặt bằng script này, bao gồm Moonlight, Steam, Discord, VS Code, Box64, Dolphin Emulator và nhiều hơn nữa. Thậm chí còn có trình cài đặt Pi Apps, có bộ chương trình riêng được thiết kế để chạy trên Raspberry Pi. Và nếu chúng chạy được trên Raspberry Pi, bạn có thể chắc chắn rằng chúng cũng sẽ chạy được trên Switch. Tôi đã khởi động Sunshine trên PC để thử nghiệm Moonlight, và nó hoạt động tốt như mong đợi.
Half-Life-2 trên Nintendo Switch qua Moonlight
Không ngạc nhiên, nó chỉ đơn giản là hoạt động. Dĩ nhiên, tôi nói vậy, nhưng tôi không thể làm cho âm thanh hoạt động. Điều này không liên quan gì đến Moonlight. Tôi chỉ không thể kết nối nó với giao diện âm thanh của mình để xuất âm thanh đúng cách, vì vậy trừ khi bạn cũng có giao diện âm thanh, thì nó sẽ hoạt động bình thường cho bạn. Các nút điều khiển được nhận diện như một tay cầm thông thường, và không có độ trễ đáng kể nào cả. Hơn nữa, vì tất cả được xử lý trên PC của tôi, không có giảm khung hình hay các vấn đề khác. Tôi thậm chí có thể chơi Cyberpunk 2077 ngay bây giờ trên Switch của mình, điều này có thể tạo ra một tiêu đề giật gân đáng kinh ngạc nếu tôi chọn đưa nó vào.
Mặc dù lần này tôi không thử nghiệm, nhưng tôi đã từng sử dụng Linux trong quá khứ để có trải nghiệm giả lập GameCube tốt hơn. The Legend of Zelda: Wind Waker có thể sắp ra mắt trên Nintendo Switch 2, nhưng nó cũng chạy hoàn hảo trên Switch bằng Dolphin. Đối với việc này, bạn nên sử dụng một hệ điều hành như Lakka, đây là một hệ điều hành dựa trên Linux mà bạn có thể cài đặt trên Switch và được thiết kế đặc biệt cho việc chơi game.
Docker chạy trên Nintendo Switch Linux
Điều mà tôi đã thử nghiệm là hỗ trợ Docker. Tại sao lại không? Tôi đã biến Steam Deck của mình thành một máy chủ gia đình, và mặc dù tôi không đi xa đến mức đó với Switch, tôi đã cài Docker và làm cho nó hoạt động. Không có gì ở đây cho thấy bạn không thể triển khai các chồng ứng dụng phức tạp hơn trên Switch, và tôi rất muốn xem liệu có thể chạy Proxmox trên đó hay không. Không có giải pháp có sẵn nào mà tôi có thể thấy để chạy nó, nhưng sẽ rất thú vị nếu bạn có thể phải không?
Nếu bạn định chạy Linux trên Nintendo Switch, tôi khuyên bạn nên có sẵn một bàn phím để kết nối với nó. Mặc dù nhấn nút + sẽ hiển thị bàn phím ảo trên màn hình, nhưng việc gõ trên màn hình nhỏ như vậy không mấy tiện lợi, đặc biệt nếu bạn đang thực hiện các bước cài đặt và cấu hình Docker. Như tôi đã đề cập, bạn có thể sử dụng thiết bị này như một PC, vì vậy bạn có thể chỉ cần gắn nó vào dock và kết nối các thiết bị ngoại vi của bạn để tiện lợi hơn.
Có nên cài Linux cho Nintendo Switch của bạn không?
Nếu có thể, tại sao không?
Tùy chọn ép xung (Overclock) trên Nintendo Switch chạy Linux
Nếu bạn có một chiếc Nintendo Switch đời cũ, chưa được vá lỗi, tại sao lại không thử? Nó rất dễ thiết lập, không làm hỏng hệ điều hành gốc, và bạn luôn có thể phân vùng lại thẻ nhớ microSD của mình về trạng thái bình thường nếu không muốn chiếm dung lượng bởi phân vùng Linux ext4. Đây là một dự án nhỏ thú vị mà bạn sẽ không mất quá nhiều thời gian để thiết lập, và bạn thậm chí có thể tìm thấy một số công dụng cho nó nếu khám phá kỹ hơn.
Trong những trường hợp tương tự, tôi thường nói nó “ổn định một cách đáng ngạc nhiên”, nhưng sự thật là Linux trên Tegra X1 đã được hỗ trợ rồi. Việc nó hoạt động trơn tru như vậy không quá đáng ngạc nhiên, nhưng chính cái sự không đáng ngạc nhiên đó lại là lý do tại sao nó đáng ngạc nhiên. Nó sẽ không mở khóa một cấp độ hiệu suất khiến Switch đột nhiên trở thành một console mạnh mẽ, nhưng bạn có thể bật các tùy chọn ép xung (overclock) để ít nhất cải thiện hiệu suất một cách đáng kể.
Bây giờ, xin thứ lỗi, tôi sẽ tiếp tục mày mò với Docker trên Nintendo Switch. Vì không có trò chơi nào thú vị hơn Docker.