はじめに
2025年年末、最新の Radeon RX 9060 XT (RDNA 4) を入手し、Linux Mint環境でAI開発(PyTorch)を行おうとした際のつまずいた点の記録です。
もともと、Radeon RX 6600XTを使用していて、「最新のGPUだから公式ドライバを入れればいいだろう」というWindows的な直感で作業を進めた結果、画面出力の不具合とROCmのバージョン不整合という二重の罠にはまりました。
同じ構成で躓いている方のために、解決までの道のりと「なぜ動かなかったのか」の原因をまとめました。
環境
- OS: Linux Mint 22 (Ubuntu 24.04 LTSベース)
- CPU: AMD Ryzen 7 5700X
- GPU: AMD Radeon RX 9060 XT (RDNA 4 / gfx1200)
-
Python環境: uv (Python 3.12)
※ 本記事ではパッケージマネージャに uv を使用しました。
結論(3行まとめ)
- LinuxMintでは公式ドライバインストーラーは使わない:Secure Boot環境では署名エラーでGPUが動かなくなる(OS標準ドライバでOK)。
- Stable版 ROCm は動かない:RDNA 4 (gfx1200) は ROCm 6.0系では未対応。ROCm 7.0系から対応(https://rocm.docs.amd.com/en/latest/compatibility/compatibility-matrix.html#compatibility-matrix)
-
解決策:ドライバは標準の
amdgpuを使い、PyTorchは ROCm 7.1 対応のNightly版 を入れる。
トラブル1:映像出力の消失とSecure Bootの罠
現象
AMD公式サイトからLinux用ドライバインストーラーをダウンロードし、インストールを実行。
再起動後、以下の不具合が発生した。
- モニター解像度が低下し、リフレッシュレートが 30Hz に固定される。
- ディスプレイ設定での表示が 「不明なディスプレイ (None-1)」 になる。
-
inxi -Gコマンドで確認すると、ドライバが適用されておらず、ソフトウェア描画(llvmpipe)になっていた。
Device-1: AMD driver: N/A # ドライバが当たっていない
...
renderer: llvmpipe (LLVM 20.1.2 256 bits) # CPUで無理やり描画している
原因:Secure Bootによる署名ブロック
AMD公式インストーラーが導入するカーネルモジュール(DKMS)には、PCのBIOSが信頼するデジタル署名が含まれていなかった。
そのため、Secure Bootが有効な状態ではOSがドライバの読み込みを拒否し、GPUが機能停止していた。
解決策
インストールしてしまった「署名のないドライバ」を削除し、Linuxカーネル標準の「署名済みドライバ」に戻した。
# 不正なドライバ(バージョンは環境による)を削除
sudo dkms remove amdgpu/6.16.6-2255209.24.04 --all
sudo reboot
これで driver: amdgpu が読み込まれ、4K 60Hz表示が復活した。
※ 6.16.6... の部分はインストールされたバージョンによって異なります。dkms status コマンドでバージョンを確認してから実行してください。
トラブル2:PyTourchの互換性問題
画面は直ったものの、PyTorchでGPUを使おうとするとエラーが発生した。
最初は安定版である ROCm 6.0 対応のPyTorchをインストールしたが、認識しなかった。
ROCm 6.0 (Stable): RuntimeError: No HIP GPUs are available
原因:情報の欠如と対応ラグ
RX 9060 XT (gfx1200) はアーキテクチャが新しすぎるため、当時の安定版 ROCm (6.x系) ではサポートされていなかった。また、RDNA 4 は旧世代である RDNA 3 (gfx1100) との命令セットの互換性がなさそうな雰囲気で、情報の偽装も試したが動作しなかった。
解決策:ROCm 7.1 Nightly版の導入
AMD公式の Compatibility Matrix を確認したところ、ROCm 7.0 以降で gfx1200 (RDNA 4) が正式サポートされていることを初めて知った。
これを受け、ROCm 7.x 系に対応した PyTorch を探した結果、Nightly(開発版)リポジトリにて ROCm 7.1 対応版 がリリースされていることを見つけた。
よってNightly版を導入した。
uv venv # 仮想環境の作成
source .venv/bin/activate # 仮想環境の有効化
uv pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm7.1 # ROCm 7.1 対応のNightly版をインストール
その後、以下のPythonスクリプトを実行し、ネイティブにGPUが認識され、Tensor計算が行えることを確認した。
import torch
print(f"PyTorch Version: {torch.__version__}")
if torch.cuda.is_available():
print(f"GPU Name: {torch.cuda.get_device_name(0)}")
# 実際にGPU上でTensor計算ができるかテスト
x = torch.rand(5, 3).cuda()
print("Success: GPU Tensor calculation verified.")
print(x)
else:
print("No GPU found.")
実行結果:
PyTorch Version: 2.6.0.dev20260105+rocm7.1
GPU Name: AMD Radeon RX 9060 XT
Success: GPU Tensor calculation verified.
tensor([[0.2635, 0.1267, 0.5491],
[0.1244, 0.5416, 0.4178],
[0.5998, 0.6572, 0.0212],
[0.1719, 0.3895, 0.7995],
[0.2613, 0.4313, 0.2237]], device='cuda:0')
device='cuda:0' と表示されており、RX 9060 XT 上で正常に計算が行われていることが確認できた。
まとめ
今回の環境構築で躓いたポイントは以下の3点でした。
-
「公式ドライバ=絶対」ではない
Linux Mint(特にSecure Boot有効時)において、メーカー配布のインストーラーが必ずしも正解とは限らない。署名のないドライバはロードされず、画面異常を引き起こす原因となるため、OS標準ドライバの利用を第一に検討すべきだった。 -
情報収集は「一次情報」から
検索で出てくるブログ記事は情報が古い場合がある。自分の情報収集の反省として、AMD公式の「Compatibility Matrix」などの一次ドキュメントを最初に確認すべきだった。 -
最新ハードウェアには「Nightly版」を視野に
PyTorchの安定版(Stable)は信頼性が高いが、最新アーキテクチャへの対応にはラグがある。発売直後のGPUを使う場合は、迷わずNightly版(開発版)を視野に入れる必要があった。
Linuxで最新Radeonを使う方の参考になれば幸いです。
この記事はgeminiで一部生成し作成しました。