Ubuntu Weekly Recipe

第761回Alder Lake-Nで省エネPC生活

最近、Alder Lake-Nを搭載したミニPCが、様々なメーカーから発売されています。Alder Lake-Nとは、第721回でも紹介したIntelの第12世代Core(Alder Lake)のバリエーションのひとつで、モバイル向けの、エントリーグレードのシリーズと位置づけられています。Alder Lakeは、高性能のPコアと高効率のEコアを搭載し、性能と電力効率を両立させているCPUですが、その中でもAlder Lake-NはPコアを持たず、Eコアのみで構成されている点がユニークな特徴となっています。しかしAlder Lake-NのEコアは「性能を抑えて電力効率を上げたコア」という位置づけではあるものの、その性能はかつてのメインストリームであったSkylakeを越えているという触れ込みです。

筆者は先日、BeelinkEQ12というPCを購入しました。CPUにIntel Processor N100を搭載し、500GBのSSDと16GBのメモリ[1]、Wi-Fi 6/Bluetooth 5.2対応、そしてなんと2.5GbEを2基搭載しています。

今回はEQ12にUbuntu 22.04 LTSをインストールし、その使い勝手を見てみます。

図1 EQ12本体とSD誌の比較。ACアダプタが小さいのが嬉しい。これだけで最高です
図1

内蔵SSDの換装とバックアップ

EQ12には、Windows 11 Proがプリインストールされています。普段使うことはないのですが、検証用途などでWindowsが必要となることもあり、消してしまうのは勿体ありません。そこで筆者は、PCを購入したら必ず、電源投入前のディスクイメージをバックアップしています。

バックアップにはClonezillaを使っています。USBメモリからClonezillaを起動し、ファイルサーバーにイメージを取得すればよいのですが、筆者は可能な限りストレージを物理的に摘出し、USBを経由してバックアップすることにしています。というのも、初めて使うPCはBIOS画面やブートオプションの呼び出し方がわからず、⁠あれ? F12かな? DELだっけ?」などとやっているうちに、内蔵ストレージからWindowsが起動してセットアッププロセスが始まってしまう……というのが嫌だからです[2]。今回は手元に1TBのM.2 SSDが余っていたため、これと交換してしまうことにしました。

まず底面にある4本のネジを外し、裏蓋を開けます。

図2 裏蓋を開けた状態。すぐに増設用の2.5インチマウンタにアクセスできる
図2

ちなみに裏蓋には、BIOS画面を呼び出すためのキーがプリントされています。世の中のPCは全部こうして欲しいですね……。

図3 外した裏蓋。取り外し用のベロと、BIOSやブートオプションに入るためのショートカットキーのプリントが確認できる
図3

写真には一部写っていませんが、マウンタの左上隅と右下隅、それとファンの右側の3箇所にネジがあり、これを外すとマウンタを外して、マザーボードにアクセスできます。その際気をつけたいのが、2.5インチマウンタにネジ止めされている、SATAコネクタです。これを外す必要はないのですが、短くデリケートなフラットケーブルでマザーボードと接続されているため、そのままではSSDの換装作業が非常にしづらくなります。安全のためにも、一旦外してしまうとよいでしょう。

図4 SATAコネクタを外したところ
図4

2.5インチマウンタを外すと、M.2とメモリスロットにアクセスできるようになります。なおSSDの下にはもうひとつM.2スロットがあり、Wi-Fiカードが装着されています。

図5 今回はキオクシアの1TB SSDに換装した
図5

なお取り外したWindows入りのSSDは、USBの変換ケースに入れた上で、Clonezillaで別途バックアップを取っておくことにします(Clonezillaでのバックアップは、本筋と関係ないため本記事では省略します⁠⁠。そしてこのSSDは、そのまま使わずに保管しておくことにしました。

図6 Clonezillaの起動後にUSBを経由して接続することで、意図せずこのSSDからOSが起動してしまうことを防ぐという寸法
図6

CPUとSSDの情報

Ubuntu 22.04 LTSはAlder Lakeに対応しているため、後述するWi-FiとBluetoothを除き、一通りの機能が何もせずとも動作します。そのため特筆すべきことはないのですが、インストールが完了したら、CPU-XでCPUの情報を見てみましょう。

CPU-Xのインストール
$ sudo apt install -y cpu-x

Skylake(Core i7)と表示されてしまっていますが、このあたりはよくあることなので気にしないでおきましょう。

図7 CPU-Xの表示。Skylakeと表示されてしまっているが、モデルとしてはN100
図7

SSDの速度も確認しておきましょう。速度の計測にはCrystalDiskMarkとよく似たKDiskMarkを使っています。今時のSSDにしては少し速度が控えめに見えますが、これはEQ12のSSDがPCIe 3.0 x4ではなくx1接続のためです。

図8 SSDの性能をフルに発揮できないのは勿体ない気もするが、机上のミニPCとしては十分だろう
図8

Wi-Fiを動かす

EQ12はIntel AX101というWi-Fi 6/Bluetooth 5.2対応のチップを搭載しています。ただし現在のUbuntu 22.04 LTSでは(あるいは最新の23.04でも)、Wi-FiもBluetoothも動作しません。dmesgには以下のログが表示されています。

dmesgに出力されるiwlwifiドライバの情報
[   12.469459] iwlwifi 0000:00:14.3: enabling device (0000 -> 0002)
[   12.470606] iwlwifi: No config found for PCI dev 54f0/0244, rev=0x370, rfid=0x10c000
[   12.470620] iwlwifi: probe of 0000:00:14.3 failed with error -22

新しいデバイスを動かすには、対応したカーネルを使わなければならないため、こうしたことはLinuxではよくあることです。これは時間が解決する問題ですから、次のLTSである24.04あたりまでのんびり待つというのがよいでしょう。そもそもわざわざEQ12を選択する理由のひとつが、2.5GbEを2基搭載していることでしょうから[3]、Wi-Fiは使わないという方も多いでしょうし。

一応、Wi-Fiを動かす方法がないわけではありません。iwlwifiドライバにパッチを当て、DKMSに対応させたパッケージがmakedebにありましたので、これを利用する方法を参考までに紹介します。これはカーネル6.15向けのパッケージですので、まずはmainlineコマンドを使い、カーネル6.1.15をインストールします。

mainlineコマンドでカーネル6.1.15をインストールする
$ sudo add-apt-repository ppa:cappelikan/ppa
$ sudo apt install -y mainline
$ sudo mainline --install 6.1.15

インストールしたカーネルでUbuntuを再起動してください。

unameコマンドでカーネルのバージョンを確認しておく
$ uname -r
6.1.15-060115-generic

PKGBUILDからDebパッケージをビルドするためのツールである、⁠makedeb」をインストールします。

makedebコマンドのインストール
$ export MAKEDEB_RELEASE='makedeb'
$ bash -ci "$(wget -qO - 'https://shlink.makedeb.org/install')"

iwlwifiドライバをアンロードしてから、パッケージのビルドとインストールを行います。

パッケージのビルドとインストール
$ sudo modprobe -r iwlwifi
$ sudo apt install -y git
$ git clone https://mpr.makedeb.org/iwlwifi-ax101-dkms.git
$ cd iwlwifi-ax101-dkms/
$ makedeb -si

インストール後、iwlwifiドライバをロードし直せば、Wi-Fiが使えるようになっているはずです。ただし問題があり、Wi-Fi 6のアクセスポイントに繋ぐことができません。そこでdisable_11ax=trueオプションを指定し、802.11axを無効化してください。

オプションをつけてiwlwifiドライバをロードする
$ sudo modprobe iwlwifi disable_11ax=true

この設定を恒久的に保存したい場合は、/etc/modprobe.d/iwlwifi.confに上記オプションを記述した上で、update-initramfsコマンドを実行してください。

/etc/modprobe.d/iwlwifi.confの内容
# /etc/modprobe.d/iwlwifi.conf
# iwlwifi will dyamically load either iwldvm or iwlmvm depending on the
# microcode file installed on the system.  When removing iwlwifi, first
# remove the iwl?vm module and then iwlwifi.
options iwlwifi disable_11ax=true             ← この行を追記
remove iwlwifi \
(/sbin/lsmod | grep -o -e ^iwlmvm -e ^iwldvm -e ^iwlwifi | xargs /sbin/rmmod) \
&& /sbin/modprobe -r mac80211
initramfsをアップデートする
$ sudo update-initramfs -k all -u

しかしWi-Fiを使うためだけに、標準ではないカーネルをインストールするのも面倒でしょう。しかもせっかくのWi-Fi 6が使えないため、わざわざ手間をかけるほどの価値があるとも思えません。そのためWi-Fiを使いたいのであれば、素直にUSBのWi-Fiアダプタを使うか、カーネルが対応するまで待つことをお勧めします。とはいえ前述の通りEQ12の性質的に、Wi-Fiは使えなくてもそれほど困らないのではないかと筆者は思っています。

図9 とりあえず動いたWi-Fi。しかしWi-Fi 6は使えず、カーネルの入れ替えやモジュールのビルドが必要なため、苦労に見合わず、お勧めはできない
図9

Bluetoothを動かす

Bluetoothを確認します。dmesgを確認すると、以下のログが表示されています。

ファームウェアファイルがロードできないというエラー
[   12.642092] Bluetooth: hci0: Failed to load Intel firmware file intel/ibt-0040-1050.sfi (-2)

intel/ibt-0040-1050.sfiというファームウェアファイルがないため、動作しないわけです。実はAX101のBluetoothは、AX201のファームウェアを読み込ませることでも動作します。そこで以下のコマンドでibt-1040-4150.sfiに対してibt-0040-1050.sfiという名前でシンボリックリンクを張ります。Ubuntuを再起動すると、Bluetoothが動作するようになります。

AX201のファームウェアに対して別名をつける
$ sudo ln -s /usr/lib/firmware/intel/ibt-{1040-4150,0040-1050}.sfi

とはいえこれはイレギュラーな方法であり、推奨できるものではありません。Bluetoothが使いたい場合もWi-Fiと同様に、カーネルが対応するまでは、適当なUSBのBluetoothドングルを挿しておくことをお勧めします。

図10 AX201用だが、ファームウェアを読ませてあげればとりあえず動作する
図10

2.5GbEの速度を計る

EQ12の目玉でもある、2.5GbEを試してみましょう。速度の計測にはiperf3を使います。通信の相手は、第711回でも紹介した、同じく2.5GbEを搭載した省エネPCの「ASUS PN51-S1」です。あらかじめPN51-S1上でiperf3をサーバーモードで起動しておき、EQ12からテストを実行します。

図11 enp1s0を1GbEのLAN、enp2s0を2.5GbEのLANに繋いでみた。問題なく2.5GbEでリンクアップしているのがわかる。
図11
PN51-S1(ここでは192.168.0.2)に対して、ビットレート2500Mでテストを行う
$ iperf3 -c 192.168.0.2 -u -b 2500M 
Connecting to host 192.168.0.2, port 5201
[  5] local 192.168.0.1 port 36279 connected to 192.168.0.2 port 5201
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec   285 MBytes  2.39 Gbits/sec  206099
[  5]   1.00-2.00   sec   285 MBytes  2.39 Gbits/sec  206308
[  5]   2.00-3.00   sec   285 MBytes  2.39 Gbits/sec  206315
[  5]   3.00-4.00   sec   285 MBytes  2.39 Gbits/sec  206320
[  5]   4.00-5.00   sec   285 MBytes  2.39 Gbits/sec  206205
[  5]   5.00-6.00   sec   285 MBytes  2.39 Gbits/sec  206311
[  5]   6.00-7.00   sec   285 MBytes  2.39 Gbits/sec  206371
[  5]   7.00-8.00   sec   285 MBytes  2.39 Gbits/sec  206313
[  5]   8.00-9.00   sec   285 MBytes  2.39 Gbits/sec  206204
[  5]   9.00-10.00  sec   285 MBytes  2.39 Gbits/sec  206194
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  2.78 GBytes  2.39 Gbits/sec  0.000 ms  0/2062640 (0%)  sender
[  5]   0.00-10.04  sec  1.93 GBytes  1.65 Gbits/sec  0.006 ms  630410/2062516 (31%)  receiver

iperf Done.

問題なく、ほぼ理論値が出ているのではないでしょうか。後述する省エネっぷりとあわせると、ファイルサーバーやルーターのような用途にも向いているのではないかなと思います。

Phoronix Test Suite

定番のPhoronix Test Suiteでベンチマークを取ってみましょう。比較対象は例によって、先代省エネPCであるPN51-S1です。

まずはシングルスレッド性能を見てみましょう。さすがEコアと言いましょうか、Ryzen 5 5500U比でも4割程度の性能と、だいぶ控え目に見えます。

図12 Coremark IPS
図12

続いてカーネルのビルド時間です。5500Uの212秒に対して384秒と、性能としては半分、といった所でしょうか。

図13 カーネルのビルド時間
図13

XZの圧縮にかかる時間です。こちらもカーネルのビルドと同様、ほぼ倍近い性能差が出ています。

図14 XZの圧縮時間
図14

GIMPを使って、実際のアプリケーションの処理を見てみましょう。もちろん5500Uよりも劣った性能ではあるものの、意外にも、それほど差が出ない結果となりました。CPUの性能としてはだいぶ控え目ではあるものの、実際のアプリのワークロードにおいては、そこまで極端に劣っているわけではないという感じでしょうか。確かに筆者がデスクトップを使っていても、もたついたり、ストレスを感じるシーンようなはありませんでした。

図15 GIMPの各種処理時間
図15

Steamでゲームを動かす

Steamでゲームがどの程度快適に遊べるかもチェックしておきましょう。第760回で紹介したMangoHudを使い、FPSを計測してみました。筆者のライブラリの中から、負荷が低そうなものから高そうなものまで、複数のジャンルからいくつかのタイトルをピックアップし、普段通りにプレイしている最中のフレームレートを(雑に)計測しています。ただし、さすがに4K解像度ではどのタイトルもフレーム落ちが著しかったため、プレイ環境のデスクトップ解像度は1920x1080で、フルスクリーン起動としています。

計測結果を、平均FPSのスコア順[4]に並べたのが以下のグラフです。黄色が全体の平均FPS、青色が下位1%の平均FPSとなっています。

図16 ゲームのジャンルにもよるが、Averageが50FPSを越えていれば、十分遊べると思ってよい
図16

見ての通り、古いゲームや2Dのゲーム、激しい動きをしないゲームなどは、フルHD解像度であればまったく問題なく遊べると言ってよいでしょう。⁠ENDER LILIES」は数値だけ見れば遊べないこともないように思えるのですが、シビアなアクションを要求されるゲーム内容もあいまって、少々辛いように思えました。⁠Grim Dawn」⁠Project Wingman」は、FPSが一桁に落ち込むこともあり、さすがに遊べたものではありません。そして「エルデンリング」に至っては、起動すらできませんでした。

とはいえ、本格的なゲームをプレイするのは、EQ12の仕様からすると目的外利用とも言えそうです。そのため3Dゲームの動作に難があっても、それがすなわちEQ12の欠点とは言えないでしょう[5]。むしろ「タイトルを選びさえすればそこそこ以上に遊べる」PCだと筆者は感じました。

消費電力を確認する

最後に、Alder Lake-Nの省エネっぷりを調べてみましょう。筆者は自宅のコンセントにSwitchBotプラグミニをつけており、PCをはじめとした主要な電化製品の消費電力をモニターしています。SwitchBotのAPIを経由して取得したデータは、自作のプラグインを使って、Mackerelでグラフ化しています。

SwitchBotプラグミニにEQ12のみを接続し、半日ほど運用してみた結果が以下のグラフです。

図17 計測した電力を、Mackerel.ioでグラフ化してみた
図17

グラフ左半分は電源を入れっぱなしで放置していた状態です。見ての通り、アイドル時はおおむね10W前後のようです。グラフ右半分は、Steamでゲームをプレイしていた時の状態ですが、ピークでも20Wを少し越える程度であることから、胸を張って省エネPCを名乗れるのではないでしょうか。

総じて、この性能と省スペース、省エネっぷりで、本体価格が3万円台というのはリーズナブルかと思います。CPUの絶対的な性能は控えめですが、普段使い用にリビングに置いてみたり、あるいは2.5GbEを活かしてサーバーにしてみたり、様々な利用方法が考えられるPCなのではないでしょうか。筆者宅ではこれから、原稿を書く際の検証機として活躍してもらう予定です。

おすすめ記事

記事・ニュース一覧