任天堂が、Nintendo Switchの本体のシステムを更新するNintendo Switchのシステムバージョン 14.0.0をリリースしていました。(オレクラスさん情報ありがとね)
特段大きな変更がなかった13.2.1からおよそ2ヶ月でのアップデートになります。
公式発表の変更内容は以下になります。
14.0.0(2022年3月22日配信開始)
HOMEメニューの「すべてのソフト」に「グループ」機能を追加しました。
・「グループ」を作成して、好きなソフトを登録できるようにしました。
・ソフトのジャンルやメーカー別などでグループを作成しておくと、目的のソフトが探しやすくなります。-「グループ」は最大100個まで作成することができ、ひとつの「グループ」には最大200個までソフトを登録できます。
-「すべてのソフト」は、ソフトアイコンが13個以上ある場合にHOMEメニューの右端に表示されます。※「グループ」についてくわしくはこちらをご確認ください。
「Bluetoothオーディオ」の音量動作を変更しました。
・Nintendo Switch本体から、Bluetoothオーディオ機器の音量を操作できるようになりました。
・Bluetoothオーディオ機器の音量ボタンを操作したときに、本体の画面上の音量表示にも反映されるようになりました。
・一部のBluetoothオーディオ機器の最大出力音量が大きくなりました。
※Bluetoothオーディオ機器がAVRCPプロファイルに対応している必要があります。
※「Bluetoothオーディオ」についてくわしくはこたらをご確認ください。
今回は機能追加があるパターンのアップデートです。ゲームをグループ分け(PCでいうところのフォルダ毎に管理できるようになった形)と、BluetoothオーディオがAVRCPプロファイルに対応することで機器側からボリューム調整などができるようになりました。この2点のみですが、ユーザーとしては使い勝手が大きく向上する内容ですので今回のアップデートは非常に魅力的です。
AVRCPとはBluetoothプロファイルの一つで、オーディオ機器などを遠隔から操作する方式のことです。Switch本体とワイヤレスヘッドホンやワイヤレスヘッドセットなどをBluetooth接続した際、イヤホン側のボタン操作などで機器側の音楽再生やボリューム調整などの制御を行うことができます。
システム的な変更についてはswitchbrew wikiによると、ommというシステムモジュール追加やNPDMの変更、RomFsなど記載内容は多岐にわたります。eFuseについては13.2.1-14.0.0で1個焼いていることになっているので13.2.1で焼いた後の今回の14.0.0では新たにeFuseが焼かれることはありませんでした。今は全32個のeFuseのうち16個が焼き切れています。
14.0.0についてSciresM氏は
The Horizon Kernel is now compiled with -O3 again.
Man, this must be what it feels like when someone kicks your dog. https://t.co/HUYjUF27k4
— Michael (@SciresM) March 22, 2022
The Horizon Kernel is now compiled with -O3 again.
Man, this must be what it feels like when someone kicks your dog. https://twitter.com/SciresM/status/1333585085514145793
Horizonカーネルがまた-O3でコンパイルされてます。
また、と言っているのは13.2.0の時にHorizonカーネルのコンパイル方法を変えたのにまた元に戻された、ということのようです。
SwitchのOSカーネルは1.0.0から10.0.0まではビルドに-O3オプションを付け、11.0.0からはは-Osオプションを付けていたそうです。-Osとか-O3は最適化オプションと言われているもので、-O3オプションはレジスタに不要な移行を行わない、ループの展開や関数のインライン展開は行わないなどという最適化で、-Osはサイズの最適化です。
あくまでもビルドの時の話であり、それ以外のことにSciresM氏は言及していないので実際の中身としての大きな変更はなさそうです。
14.0.0がリリースされた直後からAtmosphereでは一気に多数のコードがコミットされています。早い段階で14.0.0サポートのAtmosphereがリリースされるのではないでしょうか。
[追記]
plutoo氏が興味深いツイートをしています。
A one-in-a-million bug in Switch kernelhttps://t.co/5mELuzEcvI
— plutoo (@qlutoo) March 22, 2022
Switchカーネルの100万分の1のバグ
今回の14.0.0ではカーネルに変更が加えられていましたが、その内容は不具合の修正でした。
SciresM氏が提供した差分データを解析した結果分かったもので、どうもSwitchの初期バージョンからスーパーレアな100万分の1の確率ながらユーザーモードのキャッシュ処理のバグがあったようで、それが修正されたそうです。
これがカーネルexploitに繫がるとかそういう類いの話ではありません。あったとしても100万分の1の確率で発生するようなスーパーレアなものを活用するのは至難の業です。任天堂の中の人はよくこんなスーパーレアなバグを見つけて修正したもんだ、とplutoo氏は感心しています。