№001 ハードウェア ガジェット

ROG Flow Z13-KJP で AI コーディング:返品を決めた理由

13 インチのタブレットに 128 GB のユニファイドメモリ。ローカルモデルや大規模な Rust ビルドにうってつけに思えます。CachyOS で 1 か月以上毎日使ってみて、何が壊れ、何を直したのか、そしてなぜ代わりにデスクトップを買うのかをまとめます。

他の言語 English 繁體中文 简体中文 Deutsch Русский 한국어 हिन्दी Español

目次

ROG Flow Z13-KJP は、ASUS の 2025 年版 Flow Z13(型番 GZ302EAC)の Kojima Productions エディションです。AMD Ryzen AI Max+ 395 と、CPU と GPU で共有する 128 GB の LPDDR5X を、着脱式キーボード付きの 13.4 インチタブレットに収めています。スペック上は AI 支援コーディングの夢のマシンです。Rust のワークスペースの隣でローカルモデルを動かせる余裕があり、それがカバンに収まるのですから。

私は CachyOS と Hyprland の環境で、1 か月以上これをメインマシンとして使いました。最初は快調でした。やがてクラッシュするようになり、その原因を突き止めるために何晩も費やしました。結局、返品することにしました。このマシンや兄弟機の ProArt PX13 を本格的な開発用途に検討しているなら、私が事前に知っておきたかったことをここにまとめておきます。

要点#

  1. ポートが足りない。 2 つの USB4 ポートが 2 台のモニターでふさがり、それ以外のすべてに使えるのは 10 Gbps の USB-A ポート 1 つだけになります。
  2. Linux ではクラムシェルモードをきちんと設定する仕組みがなく、設定を誤るとカバンの中でノート PC が蒸し焼きになります。
  3. ASUS Pen 3.0 非対応。 新しい ProArt PX13 は対応していますが、Z13 は対応していません。
  4. SSD スロットは M.2 2230 で、このサイズのドライブはすべて DRAM レスです。
  5. 交換用に入れた 2 TB の Kingston NV3 は 12 回も落ちました。しかも熱の問題ではありませんでした。
  6. キックスタンド付きのタブレットであるため、車内では悲惨です。
  7. 長時間のコンパイル負荷で過熱して電源が落ちます。ファンを全開にしてもです。

1. USB4 ポート 2 つと USB-A ポート 1 つ#

Z13 には、USB4 Type-C ポートが 2 つ(40 Gbps、DisplayPort 出力と充電に対応)、HDMI 2.1 ポートが 1 つ、10 Gbps の USB 3.2 Gen 2 Type-A ポートが 1 つ、そして microSD カードリーダーとヘッドホンジャックがあります。

2 つの USB-C ポートに外部モニターを 2 台つなぐと、USB4 ポートは両方とも埋まります。結果としてドックは USB-A ポートにつなぐことになりましたが、こちらは映像出力も充電もできず、帯域も 4 分の 1 です。デスク環境を組めることを売りにしているマシンとしては、かなり心もとない構成です。

2. クラムシェルモード:間違えやすく、間違えると高くつく#

キーボードを画面に被せるように閉じて、外部モニターで使う。簡単なことに思えます。しかし Linux では何も自動で設定してくれず、しかも失敗したときの症状は最悪です。蓋を閉じたままマシンが起きたままになり、カバンの中でじわじわと自らを蒸し焼きにするのです。

自作スクリプトをいくつも試した末に、ようやく期待どおりに動いたのは systemd-logind の設定 3 行でした。logind は外部ディスプレイが接続されているかどうかを、もともと把握しています。

ini
# /etc/systemd/logind.conf.d/10-gz302-lid.conf
[Login]
HandleLidSwitch=suspend                 # バッテリー駆動・外部ディスプレイなし:スリープ
HandleLidSwitchExternalPower=ignore     # AC 電源時:ディスプレイ数の誤判定でサスペンドさせない
HandleLidSwitchDocked=ignore            # 外部ディスプレイ接続時:動作を継続

スリープそのものも、このボードではさらに手を入れる必要がありました。具体的には次のような対応です。

  • パネルセルフリフレッシュを無効化する(amdgpu.dcdebugmask=0x610)。そうしないと、復帰後に内蔵画面が真っ暗なままになります。
  • 復帰後にキーボードフォリオの USB インターフェースを再バインドする。復帰しても反応しないままだからです。
  • カメラドライバー(amd_isp4)をブラックリストに入れる。復帰時にマシンをハングさせるためで、代償として Web カメラは使えなくなります。
  • USB4 コントローラーがマシンをスリープから起こさないようにする。

どれも特殊なことではありませんが、どれもドキュメントには書かれていません。

3. ASUS Pen 3.0 非対応#

Z13 が対応しているのは ASUS Pen 2.0 (SA203H, MPP 2.0) です。後継の ProArt PX13 は、新しい ASUS Pen 3.0 (SA205H) に対応しています。現行のペンを使いたいなら、Z13 は選ぶべきマシンではありません。

4. M.2 2230、そして DRAM レスがビルドに与える影響#

Z13 も PX13 も、搭載できる SSD は M.2 2230 が 1 枚だけです。長さ 30 mm では DRAM チップを載せる余地がないため、このサイズで買えるドライブは事実上すべて DRAM レスです。こうしたドライブは、マッピングテーブル用にシステム RAM のごく一部(HMB)を借り、書き込みはフラッシュ自体に設けた高速な SLC キャッシュで吸収します。長時間の連続書き込みでこのキャッシュが埋まると、速度は素のフラッシュが出せる性能まで落ち込みます。

これは Rust にとって重要です。デバッグビルドは何 GB ものビルド成果物を、何度も繰り返し書き込みます。ドライブの選択肢は少なく、しかもそのドライブは酷使されることになります。

5. 何度も落ちた Kingston NV3#

標準の 1 TB ドライブでは容量が足りなかったので、2 TB の Kingston NV3(2230、Silicon Motion SM2268XT2 コントローラー、ファームウェア SDX01100)に換装しました。最初は問題なく動いていました。ところがやがてマシンがフリーズするようになり、ファイルシステムが読み取り専用に切り替わるようになりました。ローカルのログは一度も残らなかったので、カーネルログを UDP で Raspberry Pi に転送しました。毎回、クラッシュしていたのはドライブ自身のコントローラーでした。

text
nvme nvme0: controller is down; will reset: CSTS=0x3, PCI_STATUS=0x10
nvme nvme0: Disabling device after reset failure: -19
BTRFS: error (device nvme0n1p2 state EA) in ... Transaction aborted (error -5)

CSTS=0x3 は Controller Fatal Status を意味します。SSD のファームウェアが処理を放棄し、ドライブが PCIe バスから消えたということです。私はこれを 1 か月で 12 回記録しました。熱が原因ではありません。直近の故障時、マシンはほぼアイドル状態(29 W、55 °C)で、ドライブ自体の温度は約 34 °C でした。

試したこと結果
NVMe の電源状態遷移を無効化(nvme_core.default_ps_max_latency_us=0)再びクラッシュ
PCIe ASPM を無効化(pcie_aspm=off)再びクラッシュ
LTS カーネル 6.18再びクラッシュ
BIOS 301 → 304再びクラッシュ
ファームウェア更新Kingston は SDX01100 向けの更新を提供していない
クラッシュ後にデバイスを削除して再スキャン完全に電源を切るまで復帰しなかった

さらに、この間ずっと SMART には何の異常も出ません。ハングしたコントローラーは、自分のハングを記録できないのです。

私が試したのは 1 台だけなので、すべての NV3 でこうなるとは言えません。言えるのは、私の個体ではこうなったこと、ソフトウェア側のどの設定も効果がなかったこと、そして同じ 2230 の制約が PX13 にも当てはまることです。どちらのマシンでも重いコンパイルをするなら、ドライブは慎重に選び、ビルドディレクトリは失っても困らない場所に置いておきましょう。

6. 車内ではノート PC にならない#

Z13 はタブレットです。画面の角度はヒンジではなく、背面のキックスタンドで決まります。机の上なら問題ありません。しかし走行中の車内で膝の上に置くと、角度を保つものが何もありません。私は車内で作業するのをあきらめました。

7. 熱:もう一つの落ち方#

SSD に続いて、2 つ目のクラッシュが起きるようになりました。外から見た症状はまったく同じで、フリーズして電源ボタンを長押しするしかありません。しかしログは別の事情を物語っていました。カーネルログはエラーを一切出さず、行の途中でぷつりと途切れていたのです。マシンは瞬時に電源を失っていました。

このうち 5 回は長時間の高負荷時(cargo ビルド、ローカル推論)に発生し、どれも 1 度の幅に収まっていました。

電源断前の最後のサンプルCPU 温度SoC 電力ファン(RPM)
9 月 28 日 13:2886.00 °C62.5 W6500 / 6900
9 月 28 日 17:5585.25 °C62.6 W5700 / 6100
9 月 29 日 07:4485.75 °C60.1 W6400 / 6800
9 月 29 日 13:0685.38 °C67.1 W6400 / 6800
9 月 29 日 14:0486.00 °C66.1 W8600 / 8600

1 度未満の幅で 5 回もシャットダウンしているのは、熱暴走ではなく遮断しきい値です。原因を追う中で、本物のバグも見つかりました。ファンカーブが 70 °C で 64 % を上限にしていたのです。これを修正してファンは全開で回るようになりましたが、それでもマシンは 86.00 °C で電源が落ちました。上の表の最終行がそれです。記録期間全体を通して、CPU は時間のほぼ半分を 84 °C 以上で過ごしていました。この筐体では、このチップを長時間のフル負荷に耐えさせることはできません。最後の実験である、より低い電力プロファイルでの検証を終える前に、私はこのマシンを返品しました。

結論:デスクトップを買おう#

AI コーディングのために 128 GB のユニファイドメモリが欲しいなら(ローカルモデルも、大規模なビルドも、すべてを同時に)、タブレットに載せるのはやめましょう。いま RAM は痛いほど高価です。128 GB にお金を払うなら、全力で走らせられる場所に置くべきです。

Framework Desktop は同じ Ryzen AI Max+ 395 を搭載し、メモリは最大 128 GB、SSD スロットは 2230 が 1 つではなく M.2 2280 が 2 つ、そして十分な空間で回る本格的なファンを備えています。Z13 は美しいプロダクトで、ゲームもこなせるタブレットとしては見事です。しかし開発用ワークステーションとしては、熱くなり、ポートが足りず、SSD を 1 台だめにしました。私の Z13 は返品します。