ミ田の備忘録

なんだこの自己満ブログ

【Nintendo Switch】スイッチにandroidを入れる【ぬるぬる】

2019/07/28ついに!!!!Switchrootがイニシャルビルド発表!!!!!!!!!!!

任天堂が誇るゲーム機のNintendoSwitchにAndroidを入れる方法を紹介するよ

割と簡単に入れられます。本体BANされてても使えます。かといってこれをしてBANされることも無いです。(でも責任はとれませんョ)

 

割と見られてるので追記(07/29)

 

 

前提

  • RCMモードに入れてペイロード送信が可能である未対策機であること
  • 16GB以上のmicroSDカード LakkaやL4TUbuntuなどの共存はたぶん無理
  • SDカードリーダーライター USB3.0の物が好ましい
  • Windows PCまたはペイロード送信できるドングル
  • Macは焼いた後にできるFAT32パーティションが見えないらしいのでできないっぽい

本体裏面の年が2017の場合100%未対策機、2018はほぼ対策機

Switch 対策機と未対策機の(大まかな)見分け方まとめ - ミ田の備忘録

本体のバージョンは関係ありません。最新でも問題ないです。BANも無関係です。

MicroSDカードはサイズごとに使用するイメージが異なるので、Lakkaなどの共存はできないと思う→できるかも

PCについては今までと同じ

 

RCMモードの入り方↓

Joy-con(左)を改造してジグを作った。 - ミ田の備忘録

を使ったり、Amazonとかで売ってるジグを買いましょう。ピンセットは全然安定しないのでまったくおすすめできません。

ジグを刺す→VOL+を押したまま電源ON 画面が暗いままだと成功。この状態でドングル、Androidスマホ、PCと接続する。

手順

SDカードの準備

 

  1. 公式ページからOSイメージをダウンロードする。

    forum.xda-developers.com

    f:id:wwwwwplane:20190728030536p:plainSDカードによって使用するイメージファイルも異なるのでそれに合わせたものをダウンロードする。
    Shield-ifierはSwitchをnVidiaShieldTVとして使う場合にDLする

  2. OpenGAPPSからGAPPSをダウンロードする

    opengapps.org


    f:id:wwwwwplane:20190728030926p:plain

    Switchにインストールする場合、[ARM64],[8.1]を選ぶ。

    OSイメージにはPlayStoreなどのGoogleサービスは含まれていないので別にダウンロードする必要がある。
    右のVariant:の項目は、picoならプレイストアと最小限の構成、StockだとPlayゲームやミュージックなどすべてのアプリが含まれる構成といったように色々選べるが、上に行く度ファイルサイズが大きくなるので自分はNanoにした。
    DLするとzipファイルが手に入る
  3. (オプション)Root化したい場合
    MagiskをDLしておく。同じようにZipが手に入る。
  4. OSイメージをSDカードに焼く
    公式が推奨するhttps://www.balena.io/etcher/等各種イメージライターでSDカードに焼く。SDカードのデータはすべて消えるので注意

    ダウンロードしたimgを解凍せずそのまま選択してFlashを押す。終わりの青いモード(ベリファイ)になったらキャンセルしてOK

  5. ファイル整理
    焼き終わったら、一度SDカードを刺し直す。このときフォーマットしますか?と出てくるがキャンセルする。Windowsが認識しているドライブがあると思うのでその中に
    Hekate本体(binだけ)
    ・DLしたGappsのzip
    ・(オプション)Magisk、Shield-ifierのZip
    をコピーする。
    f:id:wwwwwplane:20190728051820p:plain

起動、設定

  1. いつものようにRCMモードに入り、Hekateを起動させる。
  2. MoreConfigの中にSwitchAndroidがあるので起動させる。
  3. ここで、音量上ボタンを連打する。するとTWRPというリカバリーモードが立ち上がる。
  4. 動画を参照※追記ありコメント欄を見てください

2:27 このスイッチ本体はAutoRCMがインストール済の本体です。入ってない本体では手順が異なります。 入っていないとreboot systemを選んだときRCMモードで再起動してくれないので電源長押しで強制終了させて再度RCMモードに入って手順を続けてみてください



最初のセットアップ前に必ずSystemUIか何かが落ちるダイアログが出ますが、"wait"を選択しないと積みます。動画では白い空間の下半分をタップしてます。そこがWaitです

 

GApps無しでも起動はできます。新規アプリはapkからインストールする形になります。あとからgappsを入れると死ぬので、OS焼きからやり直しになります。

 

これでセットアップを終えれば作業は完了です。

 

感想など

もともとAndroidのカスタムROM焼くとかそういうことやってる人はしやすいと思った。SDカードに焼いて、Hekateで起動するだけの簡単セットアップで拍子抜けした。(一回起動しなくて焦ったけど・・・)

真っ暗で起動しない場合は電源12秒長押し、再びhekateから起動を試みてください。

 

アップデートはTwitterやXDA公式のほうで発表されると思います。多分TWRPからアップデータをインストールすることになると思われる。セットアップしたあとTWRPでFlashしたら死ぬんだよなぁ…どうなることやら

JoyConアップデートが来ました。L3,R3ボタンを修正したみたいです。問題なくflashでき、動作も問題ないです。

 

Joycon設定

Bluetoothから設定する形になる。ジョイコンを外し、SL,SRの間にある黒いボタンを長押ししてLEDが流れるように光るとペアリング準備完了状態になります。その状態でSwitchの設定からBluetoothに行き、新しいデバイスにJoyconが表示されていると思うので両方とも設定する。おすそ分けプレイはできないので注意。2つのデバイスを一つのコントローラのように使う形になります。

 

オーバークロック

設定→バッテリー→プロファイル

からパフォーマンスに設定するとオーバークロックされます。

バッテリーやcpuに負担がかかるのでやりすぎは良くないです。壊れても知らなーい

 

☆おすすめ設定

システムからビルド番号を連打して開発者ツールを有効化する。

下の方にある

をONにすると自分は軽くなった(気がする)

 

すごいと思った点

  • 安定的に動作するスリープ →これでも不完全なようだが、他のLinuxよりは超安定してる
  • 全体的にぬるぬる動作
  • ドックも使える(マウスキーボードは必要)
  • JoyConに対応、操作も割り当てられてある
  • コントローラがRetroarchで使える! マインクラフトPEでも使えました
  • 元のOSに一切手をつけないので安全。

気になった点

  • インターネット接続が不安定
    →一時停止して置いてから再開すると復活するかも

    f:id:wwwwwplane:20190729065246p:plain



  • 画面回転ができないので制御するアプリを入れる必要がある
  • たまにタッチが暴発する
  • SDカードに焼くときものすごい時間かかる(32GBで30分以上)
  • ドックにつないだ有線LANが遅い?通信できない?認識はしてる
  • スクリーンショットの撮影ができない
  • バッテリーが充電表示にならない(充電されないわけではない)
  • MTP接続不可 ファイル操作はswitchにFTPサーバーアプリ等をいれる必要がある
  • USBCtoAのOTG変換コネクタを繋ぐとガックガクになる。ドックのUSBは普通に使える

今後の進化に期待大ですよこれは・・・

質問あったらコメントやTwitterで聞いてください!できるだけ答えます!!

 

 

 

 

 

 

蛇足

仕組み的な


 エミュとかそういう声がわりと聞こえるが、こいつはもとのSwitchのOSの上に起動しているわけではない。(そんな余裕はない)SysNANDから起動しているのではなくSDカードからすべてのOSの機能を読み出している。

 

SwitchのBANの仕組みについて理解してない人が多すぎる

詳しいことはyyoossk氏のページとかに投げるが
BANされる条件は”CFW(改造SwitchOS)を起動した状態でニンテンドーネットワークに接続すること"である。ここでのCFWはAtomosphereやReiNX,SXOSとかが含まれておりこのCFWを起動した状態でネットワークにつなぐと任天堂に改造した本体として発覚、その本体からはeショップや通信対戦などが使用できなくなる(インターネット自体は使える)本体BAN状態になる。
じゃあこのAndroidはどうなのかっていうと、そもそもSwitchとして起動しているわけではなくタブレットAndroidを動かしているような状態でありCFWとは違う状態で稼働していることになる。いわばデュアルブート
何回でもいうが本体のストレージには全く手を付けない付けられないのでBANされることはない。

 

元のNAND(Switchのストレージ)には基本的に外部から触ることができない

SDカードにOSイメージを展開する。SDから直接ブートすることもできないので、RCMモードに入りペイロード(hekate)を送信する。

hekateはSDカードブートが可能なので、それを用いてSDからAndroidをブートすることができる。

 

SDカードからブートすると基本的にnandを触ることが出来ないので元のOSを破壊してしまったり、悪いことができない。よって安全である!!!!!!


SysNANDにOSを入れる方法は多分202x年くらいに実装されそう

Androidバイスカスタムとの違い
TWRPのみをインストールしてリカバリからシステムのZIPを焼くというのが定番。
それすら簡略化したいようでイメージをSDに直接展開し、パッケージに含ませることができないGAPPSやMagiskだけあとからTWRPでインストールするようにできてる。

オーバークロックによって起きた破壊は物理的なものなのでこいつは関係ないが、確実に修理は断られるだろう

 

 頻繁に再起動する人、RCMモードを使う人はHekateのAutoRCMをインストールするのもアリです。これをインストールし、普通に起動するとジグを使わなくてもRCMモードで立ち上げる事ができるようになります。(素のSwitchOSは通常起動できなくなります)

素のOSはHekateのLaunchからStockを選ぶことで起動できます。

AutoRCMの状態でバッテリーが空になると非常にめんどくさいことになるので注意。詳しくはググって、どうぞ

Nintendo Switch Android LinageOS インストール ニンテンドー スイッチ アンドロイド install