Windows側でゲームをするために、新しくRadeon Rx480を買った。
UbuntuとWin10をデュアルブートしているため、Ubuntu側でもRx480に対応している必要がある。
Rx480(460、470も含めたシリーズ)のためにカーネルをアップデートする記事がなかったので、書くことにした。
カーネルのアップデートは自己責任で行うこと。
▼環境
OS:Ubuntu 16.04.2 (64bit) LTS▼目次
- - Rx480を購入。Ubuntuでの対応は?
- - 16.04でありながら、16.10のカーネルを利用できる仕組みとは
- - HWEカーネルを適用する方法
- - 【寄り道】OSがUEFIでインストールされているかどうかを確認する
- - 【番外】WindowsがUEFIでインストールされているか確認する方法
- - カーネルをアップデートし、Rx480を使ってみた
▼Rx480を購入。Ubuntuでの対応は?
Windowsでは対応したドライバが入っていれば、カードを差し替えるだけで済む。
OSやbitのバージョンが変わらないなら、一つのドライバで複数のカードに対応できるからだ。
しかし、Ubuntuではどうかが気になった。
調べてみると、2016年の6月末のRx480の発表を受けて、Linuxカーネルは1ヶ月後にバージョン4.7で対応した。
Ubuntu 16.04を利用していて、提供されているカーネルはバージョン4.4だった。
16.04がRx480の発表よりも前に公開されているのだから、未対応なのは明らかだ。
「カーネルのアップデートは不安定になると聞くし、何かいい方法はないだろうか」
▼16.04でありながら、16.10のカーネルを利用できる仕組みとは
実は、Rx480を利用する方法はもうひとつある。
AMDの提供するLinux向けのドライバを使うこと。
これはUbuntu16.04には間に合わなかったということを覚えていた。
新たなドライバ"AMDGPU-PRO Driver"はベータ版がリリースされているらしいが、現在はどこまで進んでいるのか、私は把握できてない。
日本語の資料があまりにも少ないからだ。
閑話休題。
そうして調べていると、ぴったりの仕組みを見つけることができた。
HWEというカーネルを適用すれば、16.04以降に登場したハードウェアに対応できるという。
以下のサイトが、とてもわかりやすく解説してくれている。
同じようにカーネルをアップデートした人の記事も紹介したい。
これだ!
これでカーネルのバージョンが4.8になれば、Rx480に対応できるだろう。
このHWEカーネルを適用するには、Ubuntuのバージョンが16.04.2である必要がある。
「16.04.2……? そんなアップデートあったかな。いろいろ調べないと」
▼HWEカーネルを適用する方法
バージョン番号の小数点以下が変わるようなマイナーアップデートは、それほど重要ではないと思っていた。
Ubuntuのバージョンを確認してみると、いつの間にか16.04.2になっていた(Fig1)。
最近のアップデートで適用されていたようだ。
コマンド:$lsb_release -d
![]() |
Fig1.ターミナルでOSのバージョンを表示 |
「Ubuntu 16.04.2」はポイントリリースと呼ばれ、Windowsのサービスパックみたいなものです。
ポイントリリースは、LTSリリースの「Ubuntu」にのみ設定されるリリースです。
新規で16.04.2をインストールした場合は、HWEカーネルを受け取る準備ができているという。
このPCは2016年の5月に16.04を導入したため、手動でインストールする作業が必要になる。
インストールの手順は以下のページを参考にする。
(何から何までお世話になっている。すごい)
まずは、他のアップデートがないことを確認する(Fig2)。
![]() |
Fig2.アップデートを確認 |
ちなみに、この時点でのカーネルのバージョンは「4.4.0-66-generic」である(Fig3)。
Ubuntuのアップデートを受け取っているだけなら、カーネルのバージョンは4.4でとどまっているハズだ。
![]() |
Fig3.アップデート前のカーネルのバージョンを確認 |
コマンドを入力し、パスワードを認証する(Fig4)。
$sudo apt-get install --install-recommends xserver-xorg-hwe-16.04
![]() |
Fig4.HWEカーネルのインストールが完了 |
途中でダウンロードを認証し、いろいろとインストール。
さて、ここでちょっとつまづいた。
UbuntuをUEFIでインストールしている場合、追加のインストールが必要になるとのこと。
「……UEFI BIOSだけど、それとは違うのか? UEFIでインストールするってなんだ?」
▼【寄り道】OSがUEFIでインストールされているかどうかを確認する
完璧主義の私は、失敗しないために安全を確保したい性格だ。
必要な追加インストールをしなかったら、どうなってしまうのか?
また、必要ないのに追加のインストールをしてしまったら、どうなるのか?
それが、とても気になる。
先に進むためには、このPCのUbuntuがUEFIでインストールされているかどうかを確かめなくてはならない。
私の中では、UEFIとは「きれいなBIOS」だ。
カラフルで見やすく、マウスが使えて、絵が動くグラフィカルなBIOSだとしか思っていなかった。
だからググる。
「セキュアブート」とか「Linuxが起動できない場合がある」とか、なんとなくわかった。
よくわかったのは、Windowsに関する記事ばかりということ。
それに、UbuntuがUEFIでインストールされているがどうかを確認する需要は、ほとんどないということだ。
(理解してインストールする方が一般的だろう)
UEFIはGPT形式、BIOSはMBR形式らしい。
MBRについては調べたことがあるから、ここで少し理解が深まった。
ようやくたどり着いた解法は、「特定のディレクトリが存在しているかどうか」だ。
efiディレクトリが存在すれば、UEFIでインストールされている証明になる(Fig5)。
場所は「/sys/firmware/」。
コマンド:$ls -al /sys/firmware/efi/
![]() |
Fig5.ufiディレクトリは存在しなかった |
確かにefiディレクトリは存在しない。
これなら、MBR形式でインストールされたと見ていいだろう。
まぁ、失敗しても起動時に過去のカーネルを選択できるらしいし、問題があればそれを使おうと思っていた。
「インストールは決行する。とりあえずやってみよう」
▼【番外】WindowsがUEFIでインストールされているか確認する方法
私には、ずっと引っかかっていたことがあった。
LinuxとWindowsをデュアルブートすれば、GRUBメニューから起動するOSが選べるハズだ。
だけど、このPCでは、Windows10が入ったSSDのドライブを指定しても起動に失敗する。
代わりに、UEFI BIOSのブートメニューから指定する必要がある。
もっと正確にいえば、Windowsの入ったドライブではなく、いつの間にか追加されていた「Windows Boot Manager」を選択しないと起動してくれない。
このいつもと違う挙動がUEFIでインストールされたものではないかと考えた。
そして、確認する方法を試すと、案の定UEFIでインストールされていた(Fig6)。
![]() |
Fig6.デュアルブートしたWindows10はUEFIでインストールされていた |
▼カーネルをアップデートし、Rx480を使ってみた
UbuntuがUEFIでインストールされていないことを確認したので、追加のインストールをせずに再起動した。
結果、カーネルのバージョンは無事に4.8になっていた(Fig7)。
![]() |
Fig7.HWEカーネルを適用したあとのカーネルのバージョン |
ついでにXserverのバージョンも確認してみる(Fig8)。
問題ないようだ。
![]() |
Fig8.Xserverのバージョンを確認 |
そして、肝心のRx480はどうだろうか。
対応できていると信じて、換装して起動してみた。
画面は正常に表示できていた。
Ubuntu側ではゲームをしないので確認が不十分かもしれない。
が、普段使っているドローソフトのKritaが問題なく動いているので、OpenGLが正常に動いていると見ていいだろう。
システム情報ではRx480ではなく、型番が表示されているところがちょっと物足りない(Fig9)(Fig10)。
![]() |
Fig9.HD7750はちゃんと名前が表示される |
![]() |
Fig10.Rx480は型番(?)で表示される |
「Device67 df」はRx480を指す。
発売前のベンチマーク情報などを見ていた人なら、見たことのある文字列のハズだ。
結果として、不具合なくRx480に対応できてよかった。
不具合があれば、追記します。
UEFIに関しては、今度Ubuntuをインストールし直す機会にでも注意することにしよう。