MacPro 2013にUbuntuをインストールし、ローカルAI(Ollamaなど)を動かしたい。
時代遅れではありますが最大構成ならVRAM12GB と、現代のミドルクラスGPUに匹敵するリソースをつんでおり、ローカルLLMの動作も視野にはいりそうです。今回はアリババの最新モデル:Qwen 3.5を動作させることに成功したので、メモを残しておきます。
前提
すでにMacPro 2013に対して、Ubuntuがインストールできていること。やり方はまた後日。
ポイント:カーネル 6.19以降を使う
Mac Pro 2013 にUbuntuを 入れると、標準の radeon ドライバがインストールされます。しかしこのドライバは設計が古く、最新のグラフィックAPIである「Vulkan」を利用できません。この機体でローカルAIをGPU実行するために、新しい amdgpu ドライバ へとシステムを切り替える必要があります。
背景
amdgpu ドライバに切り替えてWayland(Ubuntu標準のグラフィックスバックエンド)を動かすためには、ディスプレイコア機能(amdgpu.dc=1)を有効にする必要があります。
しかし、Mac Pro 2013に搭載されているFirePro D700(GCN 1.0世代)とUbuntuの標準カーネルの組み合わせでこれを有効にすると、古いGPUに対する電圧制御のバグにより、OS起動時にクラッシュ(またはブラックアウト)します。これを回避するために、本件が修正されたLinux 6.19以降のカーネルを導入します。
(参考)最新カーネルで、10年越しのバグ修正が実施された
Mac Pro 2013(D700)で amdgpu.dc=1(Wayland必須機能)を有効にするとクラッシュする問題は、長らく「古いハードウェアの限界」と思われてきました。しかし2026年に入り、Valve(Steam)の開発者によって根本原因が特定・修正されました。
- 原因:
amdgpuドライバが古いGPU(GCN 1.0世代)を制御する際、画面出力に必要な**「電圧供給」の計算を間違えていた**ため、起動した瞬間に電力が足りずチップがハングアップしていました。 - 解決方法: Valveのエンジニア(Timur Kristóf氏ら)が、iMac等を入手してデバッグを行い、正しい電圧制御を行うパッチをカーネルに投入。
参照ソース
Phoronix (2026/02/25): Yet Another Fix Coming For Older AMD GPUs On Linux – Thanks To Valve Developer
- Valveの開発者が古いAMD GPUの電圧依存のバグを修正したニュース
Step 1: 修正パッチ入り最新カーネルの導入
上記の背景がありますので、新しいメインラインカーネル(バージョン6.19.x以降など)を導入します。
Ubuntuの場合は「Mainline」というツールを使うのが簡単です。
ターミナルを開き、以下のコマンドを順番に実行します。
sudo add-apt-repository ppa:cappelikan/ppa
sudo apt update
sudo apt install mainline
インストール後、アプリケーション一覧から「Ubuntu Mainline Kernel Installer」を起動します。 リストの一番上にある最新の安定版カーネルを選択して「Install」をクリックします。処理が完了したら、一度PCを再起動してください。
Step 2: GRUBパラメータの書き換え(amdgpuの有効化)
最新カーネルで起動できたら、いよいよ古いドライバを無効化し、新しい amdgpu を強制的に有効化します。
ターミナルで下記コマンドを入力し、GRUB設定ファイルを開きます。
sudo nano /etc/default/grub
nanoの編集画面が開いたら、GRUB_CMDLINE_LINUX_DEFAULT の行を探し、以下のように追記をします。
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.si_support=0 amdgpu.si_support=1 amdgpu.dc=1"
radeon.si_support=0(古いドライバを無効化)amdgpu.si_support=1(新しいドライバを有効化)amdgpu.dc=1(Waylandで必須となるディスプレイコア機能を有効化)
保存(Ctrl + O → Enter)して終了(Ctrl + X)したら、下記コマンドで設定をシステムに反映させます。
sudo update-grub
完了したらPCを再起動します。
Step 3: WaylandとVulkanの稼働確認
再起動後、無事にログイン画面が表示されれば次の手順に勧めます。
Wayland で動作しているか?
まず、ターミナルで以下のコマンドを実行します。
echo $XDG_SESSION_TYPE
ここで wayland と表示されていれば、 amdgpu ドライバ上でWaylandが動作していることになります。
システムがFirePro D700を amdgpu ドライバ で認識しているか?
次に、古い radeon ドライバが無効化され、新しい amdgpu が2枚のD700を握っているかを確認します。
lspci -k | grep -A 3 -E "(VGA|3D)"
FirePro D700(または Tahiti と表示されるかもしれません)という名前の下に、Kernel driver in use: amdgpu という行が2つ(GPU2枚分)出てくれば完璧です。もしここが radeon になっていたら、設定が反映されていません。

Vulkan APIはD700を認識しているか?
今回のキーポイントである「Vulkan」が、ちゃんとD700を使えるかをチェックします。
sudo apt update
sudo apt install vulkan-tools
vulkaninfo | grep -i deviceName
AMDのGPU名がしっかりリストアップされていれば大成功です!これで、OllamaからVulkan経由でD700を叩く準備が整ったことになります。

GPUの動作状況監視ツールを導入
今後ローカルLLMを動かしたときに、「本当にGPUが計算しているか?」をリアルタイムのグラフで確認するのに便利なツールを入れておきましょう。
sudo apt install radeontop
sudo radeontop
Graphics pipe や VRAM などの使用率が表示されます。(終了するにはキーボードの q を押します)
Step4: Ollamaのインストール
まずは標準のインストーラーを実行します。
curl -fsSL https://ollama.com/install.sh | sh
GPUを利用するように設定する
Ollamaに「Vulkan経由でGPUを2枚とも使え」と命令します。これが最大の肝です。
念の為Ollamaのプロセスをシャットダウン
sudo systemctl stop ollama
sudo pkill ollama
Systemd設定の編集:
sudo systemctl edit ollama.service
以下の内容を追記して保存:
[Service]
Environment="OLLAMA_VULKAN=1"
Environment="GGML_VULKAN_DEVICE_COUNT=2"
このとき、これらの内容を書き込む場所に注意してください

この ## Anything 〜と ” Edits below this comment… というコメントの間に書きます。つまりこんな感じにします。

設定の反映と再起動:
sudo systemctl daemon-reload
sudo systemctl restart ollama
動作確認と「VRAM12GB合体」の証拠
正しく認識されているか、ログを確認します。
journalctl -u ollama --no-pager | grep "total_vram"
msg="vram-based default context" total_vram="12.0 GiB" と表示されれば、2枚のD700が1つに束ねられた証拠です。

モデルのダウンロードと実行
これでQwen3.5を実行します。
D700を2つ合わせて 12GBのVRAMがあるので、6.6GBのモデルを動かしてみましょう。
ollama run qwen3.5:9b
うまく行けばこんな感じでInput画面が出るので、入れたい入力を入れてThinking…と出ればOKですよ

GPU動作の確認(radeontop)
本当にGPUが動いているか、別ウィンドウで監視します。
# 1枚目のD700を監視
sudo radeontop -b 02
# 2枚目のD700を監視
sudo radeontop -b 06
ちゃんとVRAMの表示が数GB行っていれば、使われている証拠です。

参考:今後も使えるのか?
今回、Ubuntuが公式に提供しているカーネルよりかなり新しいLinuxカーネルをインストールしました。
この場合、Ubuntuの自動アップデートにより優先されるカーネルが勝手に書き換わり問題が生じないか?が気になると思います。結論、問題になる可能性は少ないと思われます。
というのも、Linuxの起動システム(GRUB)は「バージョン番号が一番数字の大きいカーネル」を優先して起動するため、手動で入れた最新のMainlineカーネルが後回しにされる可能性は少ないと思われるからです。もし今後のメジャーアップデートで更に新しいカーネルがインストールされた場合こちらが優先されますが、より新しいバージョンなわけですから先程の「amdgpu.dc=1 の設定が悪さして真っ暗になる不具合」に対するパッチも適応されているはずで、結局問題にならないでしょう。
しかし、何かの拍子(メジャーアップデートなど)で「本対応の入っていないカーネル」が優先起動するように設定されてしまった場合は、画面真っ暗問題が発生すると思われます。その場合は下記の方法で、先程導入した最新カーネルで起動するように変更してみましょう。
優先起動されるカーネルを変更するときは
- 電源ボタン長押しで強制終了します。
- 再び電源を入れ、すぐにキーボードの
Escキー(またはShiftキー)を押下します。 - 黒い背景に白い文字の「GRUBメニュー」が表示されます。
- 「Advanced options for Ubuntu」(Ubuntuの詳細オプション)を選択します。
- インストールされているカーネルの一覧がズラッと並ぶので、「自分が手動で入れた最新のカーネル(6.19.xなど)」を選択してエンターを押します。
を開き、以下の2行を変更・追記します。
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true
(※ GRUB_DEFAULT=0 などを saved に書き換えます)
その後、保存して sudo update-grub を実行すればよいです。

コメント