ZBOX Eシリーズ MAGNUSを使ってみた

# はじめに
[技術チャレンジ部](https://challenge-club.connpass.com/)のとも(Tomo)ことAirです。
[ZBOX Eシリーズ MAGNUS EN374070C - ベアボーンモデル](https://zotac.co.jp/product/zotac-zbox-magnus-en374070c/?attribute_pa_variation=barebone-model)を入手したので、使ってみました。
dGPU内蔵の小型PCなので、GPUを使ったデモ機としてイベントに持ち込んだり、GPU処理が必要なロボットのPoCに組み込んだりしたら便利そうですが、使っている方が比較的少なそうな気がするので、使ってみた構成などを記事化しました。

# ハードウェア
今回はベアボーンモデルを入手したので、RAMやSSDを選ぶことになりました。

## CPU
[Core i7-13700HX](https://www.intel.co.jp/content/www/jp/ja/products/sku/232166/intel-core-i713700hx-processor-30m-cache-up-to-5-00-ghz/specifications.html)です。
Pコア=8コア16スレッド、Eコア=8コア8スレッド、合計24スレッド。

## RAM
DDR5 SODIMM、2スロット、最大64GBと[書かれています](https://zotac.co.jp/product/zotac-zbox-magnus-en374070c/?attribute_pa_variation=barebone-model)。
Core i7-13700HXのページには、DDR5 4800と[書かれています](https://www.intel.co.jp/content/www/jp/ja/products/sku/232166/intel-core-i713700hx-processor-30m-cache-up-to-5-00-ghz/specifications.html)。
このスペックの中で、今回は[Crucial 64GB Kit (2x32GB) DDR5-4800 SODIMM CT2K32G48C40S5](https://www.crucial.jp/memory/ddr5/ct2k32g48c40s5)を入手、装着して最大容量となりました。
使えています。

## SSD
今回一番悩みました。小型PCということで、ヒートシンクの高さがどれくらい確保できるか分からなかったからです。
ベアボーン購入後に部活メンバーに定規で測っていただいた(ありがとうございます)ものの、ギリギリのところは分かりません。[こちらの記事](http://blog.livedoor.jp/gaming_laboratory/archives/17369376.html)も参考にしました。
ベアボーンのPCIeバージョンは、[zotac.co.jpのページ](https://zotac.co.jp/product/zotac-zbox-magnus-en374070c/?attribute_pa_variation=barebone-model)には書かれていませんが、[zotac.comのページ](https://www.zotac.com/jp/product/mini_pcs/magnus-en374070c-barebone)には4.0と書かれています。
2スロットあるので、将来の増設を想定しつつ、予算の都合で1TBの[Crucial T500 1TB PCIe Gen4 NVMe M.2 SSD with heatsink](https://www.crucial.jp/ssd/t500/ct1000t500ssd5)を勢いで入手。
ヒートシンクが蓋にぎりぎり当たる感じですが、使えています。
PS5基準だとギリギリ使えるのかもしれません。保証はできません…。[参考](https://nascompares.com/2021/07/30/compatible-ps5-ssd-heatsinks-stay-cool/)

## 電源
330Wと[書かれています](https://zotac.co.jp/product/zotac-zbox-magnus-en374070c/?attribute_pa_variation=barebone-model)。イベント持ち込み時の電源容量申請の参考に。

## 設置と放熱
上面は吸気です。正面向かって左側が排気。正面向かって右側もほんのり暖かいです。
過去モデルと同様、縦置きは想定されていないようです。[参考](https://pc.watch.impress.co.jp/docs/column/hothot/1425505.html)

## ディスプレイ出力
HDMIが1ポート、DisplayPortが2ポートあります。端子の大きさはフルサイズ。
OSを入れてみて分かったのですが、Core i7-13700HXの内蔵GPUは無効にされている気がします。
これが合っていれば、どの出力ポートもRTX 4070 Laptop GPUに接続されていることになりそうです。
ディスプレイを接続しない状態でも起動しますが、POSTのビープ音が数回鳴るようです(ビープ音の鳴動条件は詳細未検証、違っていたらすいません）。

## POSTビープ音用スピーカー
ビープ音が鳴るスピーカーが搭載されていました。素敵。
起動すると、ビープ音が1回鳴ります。

## Wi-Fi/Bluetooth
Intel AX200でした。汎用的。5GHzのAPにはなりません。

## Ethernet
Killer E3000 2.5GbEでした。2ポートあります。
ESXiはそのままでは使えないかもですが、Linuxなら大丈夫。
[こちら](https://linux-hardware.org/?id=pci:10ec-3000-1462-7c34)によると、カーネル5.3から対応?
Proxmox VEのDebianでは、端子に向かって右側がenp108s0、左側がenp111s0になりました。

# BIOS
## キー操作
- 設定: DELキー
- 起動エントリー指定: F8キー

## 設定項目
多くもなく少なくもなく、必要十分といった感じでしょうか(主観)。廉価ミニPCによくある、BIOSベンダーデフォルトの全項目入りという感じではありません。
自分はAC Power LossをLast Stateに変更しました(ここ以外はデフォルト設定)。

## アップデート配布
[こちら](https://www.zotac.com/files/download/by_product?p_nid=1251102&driver_type=238&os=All)で配布されていました。
DDR5の互換性向上などが行われているようなので、お心当たりの方はアップデートしてもよいかもしれません。保証はできません…。私はアップデートしました。
BIOS画面ではバージョン番号ではなくリリース日での表示となっていますが、例えばバージョン2K231010は2023年10月10日のことのようで、識別比較可能です。

## アップデート方法
ダウンロードしたzipファイルのReadme.txtに手順が書かれています。zipファイルの中のUEFIシェルを起動してアップデートする方法です。
FAT32のUSBメディアを用意して、zipファイルの中身をルートディレクトリにコピーして、USBメディアから起動し、しばらくしてUEFIシェルで`FLASH`と入力してEnterキーを押し、しばらく待つと書き換え完了です。
自分は念の為`gdisk`でパーティションのGUIDをEFI System Partition(ESP)用の`ef00`にしてから起動しました。

# OSインストール
## Ubuntu
Ubuntu 22.04 Desktopを入れてみました。使えていますが、インストールに工夫が必要でした。
GPUがRTX 40シリーズと新しいため、インストーラーのnouveauのバージョンによっては、表示が不完全になる気がします。
自分が試したのはubuntu-22.04.3-desktop-amd64.isoだったと思いますが、表示解像度が著しく低くなり、インストーラーの「次へ」ボタンが画面の領域外になってしまいました。
これは内蔵GPU無しデスクトップにRTX 40シリーズを接続しているのと同じ状態なので、対処方法は色々あると思いますが、自分はインストーラーのGPUパーツの配置がある程度頭に入っていたので、主にCtrl+Tabキーでフォーカスを「次へ」と思われるところに移動しつつ、キーボードだけでインストールをゴールさせてしまいました。アナログ。
NVIDIAドライバーはR520からRTX 40シリーズ対応? [参考](https://www.phoronix.com/news/NVIDIA-520.61.05-Linux)

## Proxmox VE
Proxmox VE 8.1-2が使えています。
インストーラーはGUIインストーラーは起動できませんが、CUIインストーラーでインストールできました。
現状カーネルは6.5.13なので、Ethernetは少なくとも1GbEでは使えています。2.5GbEは検証していません。
ゲストOSとしてUbuntu 22.04 DeskotpのVMをインストール、Proxmox VEでPCIeパススルーを設定、ゲストOSにNVIDIAドライバーを入れて、nvidia-smiできるところまでは確認しました。
PCIeパススルーしたVMを起動すると、HDMIに表示されていたコンソール画面が消えたので、コンソールの表示もRTX 4070 Laptop GPUで行っていたのだと気づきました。
Ethernetは2ポートあるのでbondingしてみました。使えているようです。

# 謎の現象…
今は発生していない現象で、詳細不明なので、話半分でお願いします。
開封の儀の後、RAMとSSDを装着し、ディスプレイを接続し、さぁ起動だ！というところで、POSTのビープ音が鳴り響き、画面が表示されず、BIOSにも入れないという現象が発生した…気がするのですが、夢かもしれません。
その時使ったディスプレイに問題があったのかもしれません。DDRのTrainingが長く私が待てなかっただけかもしれません。
焦って、ビープ音を頼りに、ディスプレイが表示されないまま、BIOSの更新を行ったりして、それでも現象あまり変わらなかった気がするのですが、しばらくしたら普通に起動して、Ubuntuをインストールできました。
今は全く問題なく使えているので、きっと夢…。

# おわりに
最近の小型PCのベアボーン、RTX 40シリーズなど、自分にとって初めての構成で、戸惑いもありましたが、いや戸惑いがあったから、せっかくなので記事化しました。
検証にお付き合いいただいた[kiwsdiv](https://qiita.com/kiwsdiv)さん、ありがとうございました！