
電子工作を手がけるmkopec氏が、40ユーロ(約7,100円)のUSB-Cハブのファームウェアを書き換え、Nintendo Switch 2のTVモードで映像を出力しました。任天堂純正ドックとの通信を調べ、ハブが同じ機器識別情報と応答を返すようにしたものです。HDMI出力でHDRの色が薄くなる問題にも、別の修正を加えました。
改造前は充電できても映像は出力されず
改造に使われたのは、Cable Mattersの7-in-1トリプルディスプレイハブです。DisplayPort、HDMI、VGAの映像端子を備え、最大60Wの給電に対応します。mkopec氏は、旅行時に持ち運ぶ純正ドックがかさばると感じ、このハブの改造に取り組みました。
改造前のハブでもSwitch 2への充電はできました。USB-C経由でDisplayPort映像を扱う「DisplayPort Alt Mode」への移行も完了していました。しかし、TVモードには移らず、映像も表示されませんでした。
mkopec氏は、純正ドックと本体の間にUSB給電の通信を記録する機器を接続しました。本体はまず任天堂独自のモードに入り、その後にDisplayPortのモードへ移行していました。さらにDisplayPortの設定後、本体とドックの間で任天堂独自のメッセージがやり取りされていました。
約540バイトの追加で純正ドックの応答を再現
ハブには給電を制御するVL103や、USB端子を管理するVL817などのチップが搭載されています。VL103のファームウェアは32 KiBで、mkopec氏は空き領域に約540バイトのコードを追加しました。追加したコードは任天堂のメッセージに応答し、それ以外の処理は元のコードに任せる構成です。
修正は段階的に進められました。純正ドックと同じ15V・2.8Aの給電を提示し、製造元を示すIDを任天堂のものに変更した段階では、映像は出ませんでした。純正ドックの機器識別情報全体を返すようにしたところ、TVモードが動作しました。
その後、純正ドックのバージョン情報に相当する応答も追加しました。これにより通信の順序が純正ドックと一致し、接続時の約3秒の待ち時間がなくなりました。一方、これらの応答は純正ドックからコピーしたもので、ハブ自体のバージョンを示すものではありません。
HDMIのHDR表示も別の修正で改善
TVモードが動作した後も、HDRを有効にしたHDMI映像では色が薄く見えました。HDRは明るさや色の表現範囲を広げる映像方式です。同じ画面とゲームを純正ドックにつないだ場合は、この色の問題は起きませんでした。
mkopec氏は、映像の色情報の伝達に原因があると考え、DisplayPortからHDMIへの変換を担うRTD2142を調べました。HDMI映像に付随する色情報では、HDR向けのBT.2020ではなく、標準的な映像向けのBT.709が指定されていました。HDRの明るさに関する情報は別の信号で送られるため、テレビ側はHDRモードに切り替わっていました。
RTD2142のファームウェアには、HDR信号に応じて色情報をBT.2020に設定する108バイトの修正が加えられました。この修正でHDMIのHDR表示は改善しました。ハブのDisplayPort端子から出力した場合は、HDRの色が薄いままです。
VRRは動作せず、更新への対応にも制約
改造後のハブは純正ドックとして認識されるため、Switch 2の画面には可変リフレッシュレート(VRR)の設定が表示されます。VRRは、画面の更新間隔を映像のフレームレートに合わせて変える機能です。しかし有効にするとDisplayPortの映像は停止し、HDMIは60Hzのままでした。
別のLinux環境での試験でも、フレームレートが変化すると画面が暗転したため、VRRは無効のままにされました。mkopec氏は、改造後もハブがPCやスマートフォンで通常どおり動作するとしています。USB端子と有線LANについては、詳細な動作試験は行われていません。
Switch 2の本体更新「21.0.0」では、一部の他社製ドックで充電はできても映像が出なくなり、各メーカーがファームウェア更新を提供しました。今回の改造では、認識できないコマンドにはハブ本来の応答が返されます。改造用のコードやパッチファイルは公開されていません。
純正のTVモード接続に必要な機器
Switch 2のTVモードでは、本体をドックに接続してテレビに映像を表示します。接続にはSwitch 2用ドック、HDMI端子を備えたテレビ、ウルトラハイスピードHDMIケーブル、Switch 2用ACアダプターとUSB-C充電ケーブルを使います。先代Nintendo SwitchのドックにはSwitch 2本体を差し込めません。
先代SwitchのACアダプターではSwitch 2を充電できますが、テレビに映像は出力されません。接続にはSwitch 2に同梱されたACアダプターとHDMIケーブルを使用します。











