2026/03/31(火)ARM版ノートPCはUbuntuの夢を見ないが、Windowsには光明あり

更新日:
投稿日:

以前、ARMとCore UltraのWindowsノートPCを軽く見て、バッテリー持ちと熱周りを比較してみたところ、かなりいい結果になったのでUbuntuを入れたいが、これができるのかどうかという話。結論から言うと無理らしい。

ラズパイで動くんだから動くんじゃね?と思っていたのだが、そんな都合のいい話はなかった。

x86やAMD64であれば、今時のLinuxは基本的に動作する。これは、これらのアーキテクチャがACPIをサポートしているからだ。ACPIと聞くと自作PC的には電源管理のイメージがあるが、Advanced Configuration and Power Interfaceの略であり、電源だけでなくハードウェアの攻勢も管理できる仕組みになっている。そしてARMにはこれが存在せず、標準化されたハードウェア管理方法がないというわけだ。

ではARMベースのPCではどうしているかというと、今のところOS側でハードウェア情報を持っておき、これを基に起動しているようだ。この情報のことはデバイスツリーと呼ばれているらしい。

例えば、gihyo.jpのそのSnapdragon X搭載PCでUbuntuを使えますか?によると、ARM版UbuntuではSMBIOSというものから端末情報を読み取って、あらかじめUbuntu側で決め打ちしているデバイスツリーを利用してOSを起動するといった手法がとられているようだった。ラズパイの場合も専用イメージがあるため、おそらくデバイスツリーが組み込まれているのだろう。

恐らくこれはARMの場合、基本的にSoCにすべて集約されているため、x86やAMD64のようにメモリやGPUなどが独立したCPUのように管理できないところがあり、ACPIで解決できず、デバイスツリーが必要という事態になっているのだと思われる。

ではWindowsはどうしているかというと、先ほどの記事にもあったがPlatform Extension Plug-ins(PEPs)を使っているとのことだ。これはLinuxでは今のところサポートされておらず、やっているプロジェクトもないようだ。

ならデバイスツリーを書けばよいとも思えてくるが、これは非常に忍耐が必要な作業で、ACPIコードやWindowsドライバのリバースエンジニアリングを行い、カーネルパッケージをビルドし、各ハードウェアが正しく動くかどうかを根気強くテスト、デバッグする作業になるようで、おいそれと気軽にできるものではないらしい。

つまり、ARM版ノートPCでUbuntuを動かすのは、公式にサポートされているもの以外は難しいだろうし、それさえきっちり動く保証はないだろうから今のところ難しそうだ。つまり、ARM版ノートPCを買う場合、重量やキーボードにこだわりのある私の場合、Windowsで運用する必要がありそうだ。何故なら日本のノートPCがサポートされる気がしないからである。

バッテリー持ちがいいのは魅力だが、Windowsにするとなるとメモリやストレージを多めにしないと厳しいので端末価格が上がってしまうのがネックだ。ただソフトウェアの互換性はよくなってきているらしく、出先で使うサブマシンとしてみた場合の実用性は十分にありそうにも思える。

マイクロソフトの案内でも、デバイスドライバやアンチウィルス、アンチチートソフトウェア以外の一般的なアプリケーションは動作するとあるため、この辺りは安心してもよいだろう。一部のソフトウェアの互換性についてはLinaroのWoA対応アプリ検索で確認することができ、例えばXnViewは動作することがわかる。XnVew MPは出てこないが、恐らく動くのではなかろうか?国産のソフトの動作状況はPC Watchの記事でも一部を確認できる。なおエミュレーションで単に動くだけなのか、パフォーマンスがいいかどうかは不明だ。