GMKtec EVO-X2にUbuntu 24.04+ROCmを導入
EVO-X2(Ryzen AI Max+ 395/RAM 128GB/SSD 2TB)に Ubuntu 24.04 LTS を入れ、ROCm を導入し、rocminfo / rocm-smi が正常に動くところまで。途中で遭遇した「貼り付けが勝手に変わる」現象や、起動時に出る usb 3-5 のエラーの扱いも実機ログで共有します。
TL;DR
- linux-oem-24.04c を使うと、最新APUのI/O/AMDGPU周りが安定しやすい
- rocminfo / rocm-smi が動けば “GPUが見えている” 状態
- 起動時に usb 3-5 関連のエラーが出ても、本検証では実害なし(後日切り分け対象)
- ターミナルの“謎補完”は bash --noprofile --norc と フルパス+引用符 で回避
1. マシン構成
GMKtec EVO-X2
- プロセッサ:AMD Ryzen™ AI Max+ 395(16コア/32スレッド、最大 5.1GHz)
- NPU:最大 50 TOPS/合計 最大126 TOPS(CPU+GPU+NPU)
- 内蔵GPU:AMD Radeon™ 8060S(iGPU/システムメモリ共有)
- メモリ:128GB LPDDR5X-8000(オンボード 8×16GB、増設不可)
- ストレージ:2TB M.2 2280 NVMe(PCIe 4.0×4、1スロット空き)
- 画面出力:HDMI 2.1 ×1、DisplayPort 1.4 ×1、USB4 ×2(最大 8K@60Hz、同時4画面)
- 通信:有線 2.5G LAN ×1、Wi-Fi 7、Bluetooth 5.4
2. M.2 SSD 換装
Ubuntu 導入にあたり、元々 Windows11 が入っているSSDをそのまま残しておきたい、と別にM.2 SSDを購入して、そちらにUbuntuをインストールすることにしました。あとで切替えて起動できるようにしようと思いますが、当面、必要になるまでは、元のSSDを外して、Ubuntu専用のSSDでいろいろ試してみようと思います。
まずは分解です。GMKtec公式の分解動画が公開されていますので参考にしてください。
要は、底面のゴム足をラジオペンチなどで剥がして、下の写真の赤丸の2つのネジを外すだけです。もうひとつのゴム足も同様。

開けるとこんな風に、大きなファンと、M.2 SSDのスロットにアクセスできます。

M.2 SSDは結構熱くなるので、ヒートシンク必須です。EVO-X2には十分スペースがあるので大き目のヒートシンクでも大丈夫でしょう。

大き目で大丈夫とは書きましたが、2つ並べるとギリギリって感じでした。もうちょっとだけスロット離して配置して欲しかったな。
3. Ubuntu導入
それでは Ubuntu を通常インストールしていきます。ROCmの最新の導入などを考えて、バージョンは 24.04 LTS をベースにします。インストール用のUSBメモリの準備は Server world などを参考に。
UbuntuのUSBメモリが準備できたら、EVO-X2に挿して、電源入れて、すぐにDELキー押してBIOS設定に入ります。

Bootタブで、「USB Device」SSDの「NVME」より上に「USB Device」を持ってきて保存して終了。
Ubuntu 24.04 LTSのインストールも Server World を参考にサクサク進めました。
ちなみに、構成は Ubuntu Server (minimized) を選択、NICは eno1 と認識されてMacアドレスもインストーラーで表示されたので、DHCPサーバ側で固定IPを割り振りました。今回、SSDは、Gen4のM.2 SSDで容量は1TB、パーティション分けはせず、全領域をLVMに割り当てました。最小構成ですが、OpenSSH Serverだけはチェックして、インストール完了。
セットアップ後に基本ツールを導入:
sudo apt update && sudo apt install -y build-essential git cmake python3-venv \
linux-oem-24.04c
sudo reboot
linux-oem-24.04c について
EVO-X2の“最新世代ハード”を安定して使うため、より新しいカーネルとドライバ束(HWEよりさらに新しめ)を入れるのが linux-oem-24.04c で、AMD Strix Halo 世代の xHCI(USB 3.x コントローラ)、USB4/Thunderbolt、Wi-Fi 7 / BT 5.4、2.5G LAN、そして AMDGPU (gfx1151) などは、24.04標準やHWEよりもさらに新しい修正が入っていることが多いそうです。
また、AMDGPU/ROCm 側の恩恵として、新しめの amdgpu ドライバや、IOMMU/電源管理系の修正が入り、llama.cpp の HIP/rocBLAS オフロード時に相性が良いことが多い(低レイテンシ化・VRAM認識の安定など)。
4. 初期トラブル
再起動させたら、2点問題発生
症状1:コンソールでプロンプトが出ない
- 起動直後に Ubuntu 24.04.3 LTS evo-x2 tty1 の1行のみ表示され、ログインプロンプトが出ないなった(Enter押下で表示)
症状2:起動が遅い
計測例:
systemd-analyze time
# Startup finished in 16.8s (firmware) + 1.9s (loader) + 1min 8.8s (kernel) + 7.0s (userspace) = 1min 34.5s
→ kernelフェーズが約69秒と長め。
USB関連の典型エラー抽出
sudo dmesg -T | egrep -n "usb 3-5|Timeout while waiting for setup device command|device descriptor read/64|not accepting address" | tail -n 120
実機ログ:
... usb 3-5: new high-speed USB device number 2 using xhci_hcd
... usb 3-5: device descriptor read/64, error -110
... usb 3-5: device descriptor read/64, error -110
... usb 3-5: new high-speed USB device number 3 using xhci_hcd
... xhci_hcd 0000:c7:00.0: Timeout while waiting for setup device command
... usb 3-5: device not accepting address 5, error -62
この usb 3-5 が悪さをしている?
Bus 003 に HID(キーボード/マウス)は見えるが、3-5に実体デバイスは出ないケース
念のため、USBキーボードやマウスとか全部外しても改善せず。
直近1分に新規エラーが出ているかを簡易チェック
sudo journalctl -k --since "1 min ago" \
| egrep -i "usb 3-5|Timeout while waiting|descriptor read/64|not accepting address" \
|| echo "OK: 直近1分は新規エラーなし"
実機ログ:
OK: 直近1分は新規エラーなし
ここでチャッピーから提案。
- 起動時エラーは出続けるが、GPU推論・ROCm・ネットワークは安定している
- LLM用途への影響は現時点で見られず。後述記事の通り、ROCmでの推論実測も良好
チャッピーは、無視してよくね?とw
「コピペが勝手に変わる」現象の対策
症状:lddがlldd化、パスが//usr/bin化など、リターンキーで先頭に一文字追加されてしまう症状。
これもチャッピーと相談
一時的にクリーンな bashに切り替えましょう、と
対処:クリーンBashで確認:
bash --noprofile --norc
echo "$0 (clean shell)"; alias; bind -V | grep enable-bracketed-paste
bash (clean shell)
enable-bracketed-paste is set to `on'
5. ROCm の導入と確認
5.1 パッケージの取得と導入
まずは AMD リポジトリの “インストーラ” パッケージを取得して導入します。
# 1) 取得
wget https://repo.radeon.com/amdgpu-install/6.4.4/ubuntu/noble/amdgpu-install_6.4.60404-1_all.deb
# 2) 導入(依存解決付き)
sudo apt update
sudo apt install -y ./amdgpu-install_6.4.60404-1_all.deb
- ここで amdgpu-install コマンド本体と、関連リポジトリ設定が入ります
- 参考:amdgpu-install --help で usecase(プリセット)を確認できます
5.2 ROCm をインストール
EVO-X2 を日常の GUI 利用もしつつ、ROCm で LLM 推論を行うため、
- デスクトップ用グラフィックス(Mesa/Vulkan 等)+ ROCm ランタイムをまとめて導入し、rocminfo / hipcc / rocm-smi が使える状態にする
- graphics,rocm を同時指定してユーザー空間を一括導入
sudo amdgpu-install --usecase=graphics,rocm --accept-eula -y
- graphics:Mesa/VA-API/Vulkan など デスクトップ用グラフィックスのユーザー空間を導入
- rocm:HIP/rocBLAS 等、ROCm ランタイム一式を導入
- --accept-eula -y:ライセンス同意と非対話インストール
5.3 導入後の確認
rocminfo(HSA/デバイス検出)
/opt/rocm/bin/rocminfo | head -n 15
ROCk module is loaded
=====================
HSA System Attributes
=====================
Runtime Version: 1.15
Runtime Ext Version: 1.7
System Timestamp Freq.: 1000.000000MHz
Machine Model: LARGE
System Endianness: LITTLE
Mwaitx: DISABLED
XNACK enabled: NO
DMAbuf Support: YES
VMM Support: YES
hipcc(コンパイラ)
/opt/rocm/bin/hipcc --version
HIP version: 6.4.43484-123eb5128
AMD clang version 19.0.0git ...
InstalledDir: /opt/rocm-6.4.4/lib/llvm/bin
rocBLAS の有無
ls -1 /opt/rocm/lib/*rocblas* 2>/dev/null
/opt/rocm/lib/librocblas.so
/opt/rocm/lib/librocblas.so.4
/opt/rocm/lib/librocblas.so.4.4.60404
rocm-smi
温度/電力/使用率のスナップショットを確認
/opt/rocm/bin/rocm-smi --showtemp --showpower --showuse --alldevices
5.4 つまずきポイントと対処
- DKMS 競合:OEM カーネル利用時は DKMS を入れない方が安定するケースあり。問題が出たら --no-dkms を付けて再導入
- クリーン再導入:失敗時は sudo amdgpu-uninstall → sudo apt autoremove → 再実行
- グラフィックス周り:graphics を外すと GUI 側の最適化/デコーダ系が薄くなることがあるため、本機は graphics,rocm 同時指定を推奨
今回(Ubuntu 24.04.3 LTS + linux-oem-24.04c + amdgpu-install 6.4.4、--usecase=graphics,rocm)では、DKMS 競合は発生せずそのまま動作しました。
rocminfo と hipcc --version が通り、rocm-smi でも温度・電力・使用率が取得できています。
なお、AMDGPU の カーネル側バージョン表記(例:6.12.12) と ROCm ユーザー空間(例:6.4.4) は命名体系が異なるため一致しませんが、これは正常だそうです。
# DKMS の状態
dkms status | grep -i amdgpu || echo "amdgpu の DKMS エントリは見つかりません"
# 現在のカーネルと amdgpu モジュールが一致しているか
uname -r
modinfo amdgpu | egrep 'filename|version|srcversion|vermagic'
# ROCm 基本確認
/opt/rocm/bin/rocminfo | head -n 15
/opt/rocm/bin/hipcc --version
# 軽い動作確認(余計な罫線を省いた rocm-smi 出力)
/opt/rocm/bin/rocm-smi --showtemp --showpower --showuse --alldevices \
| sed -e '1,2d' -e '/^=\\{5,\\}$/d' -e '/End of ROCm SMI Log/d'
本記事では EVO-X2 への Ubuntu 導入と ROCm 環境の整備・確認までを一気通貫で押さえました。次回はこの基盤の上で llama.cpp を用いた LLM 推論を行います。
Discussion