1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Secure Bootの罠とROCm:最新RadeonでのPyTorchとLinux Mint AI開発環境構築ログ

1
Last updated at Posted at 2026-01-07

はじめに

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行まとめ)

  1. LinuxMintでは公式ドライバインストーラーは使わない:Secure Boot環境では署名エラーでGPUが動かなくなる(OS標準ドライバでOK)。
  2. Stable版 ROCm は動かない:RDNA 4 (gfx1200) は ROCm 6.0系では未対応。ROCm 7.0系から対応(https://rocm.docs.amd.com/en/latest/compatibility/compatibility-matrix.html#compatibility-matrix)
  3. 解決策:ドライバは標準の 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点でした。

  1. 「公式ドライバ=絶対」ではない
    Linux Mint(特にSecure Boot有効時)において、メーカー配布のインストーラーが必ずしも正解とは限らない。署名のないドライバはロードされず、画面異常を引き起こす原因となるため、OS標準ドライバの利用を第一に検討すべきだった。

  2. 情報収集は「一次情報」から
    検索で出てくるブログ記事は情報が古い場合がある。自分の情報収集の反省として、AMD公式の「Compatibility Matrix」などの一次ドキュメントを最初に確認すべきだった。

  3. 最新ハードウェアには「Nightly版」を視野に
    PyTorchの安定版(Stable)は信頼性が高いが、最新アーキテクチャへの対応にはラグがある。発売直後のGPUを使う場合は、迷わずNightly版(開発版)を視野に入れる必要があった。

Linuxで最新Radeonを使う方の参考になれば幸いです。

この記事はgeminiで一部生成し作成しました。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?