Ubuntu Weekly Recipe

第524回 Hades Canyon/Kaby Lake GのdGPUを有効化する

この記事を読むのに必要な時間:およそ 10 分

システムを再起動する

すべてインストールが完了したらシステムを再起動しましょう。ただしその前に前回設定したnomodesetを解除する必要があります。

$ sudo sed -i 's/nomodeset//' /etc/default/grub
$ sudo update-grub

GRUBの設定が終わったら,再起動してください。nomodesetを外し忘れて起動した場合は,たとえばGRUBの画面で手動で削除すれば良いでしょう。

再起動したら,正しく認識していることを確認します。まずカーネルがメインライン版になっていることを確認します。

$ uname -a
Linux nuc8 4.17.0-999-generic #201806152201 SMP Sat Jun 16 02:04:03 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
$ dmesg | grep -i vegam
[    1.602894] [drm] initializing kernel modesetting (VEGAM 0x1002:0x694C 0x8086:0x2073 0xC0).

前回動作しなかったKMSも正しく動いているようです。

図1 設定画面を表示するとADMGPUが動いていることがわかる

画像

図2 ディスプレイ出力も選択肢が増えている

画像

またMini DisplayPortやThunderbolt 3も認識するようになりました。ただし4K UHDTV(3840x2160)については,Thunderbolt 3経由でのみ表示ができました。原因は不明です。ディスプレイ側はいずれもHDMI端子を利用していた(Mini DisplayPortやThunderbolt3は変換コネクタを経由した)ので,ディスプレイ・ケーブル側よりはdGPU側かソフトウェア側の問題のような気がします。

図3 4Kディスプレイ出力でも収まりきらないbootchart

画像

ちなみに前回使用したsensorsコマンドの結果にも,Vega Mのデータが表示されるようになっています。

$ sensors
(中略)
amdgpu-pci-0100
Adapter: PCI adapter
vddgfx:       +0.75 V
temp1:        +44.0°C  (crit = +89.0°C, hyst = -273.1°C)
power1:        5.04 W  (cap =  75.00 W)

mesa-utilsパッケージに同梱されているglxinfoコマンドを使うと,OpenGL関連の詳細なサポート情報を取得できます。ここではシンプル表示のみ掲載しておきます。

$ sudo apt install mesa-utils
$ glxinfo -B
name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD VEGAM (DRM 3.26.0, 4.17.0-999-generic, LLVM 6.0.0) (0x694c)
    Version: 18.1.1
    Accelerated: yes
    Video memory: 4073MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.5
    Max compat profile version: 3.1
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.1
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 4073 MB, largest block: 4073 MB
    VBO free aux. memory - total: 4092 MB, largest block: 4092 MB
    Texture free memory - total: 4073 MB, largest block: 4073 MB
    Texture free aux. memory - total: 4092 MB, largest block: 4092 MB
    Renderbuffer free memory - total: 4073 MB, largest block: 4073 MB
    Renderbuffer free aux. memory - total: 4092 MB, largest block: 4092 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4073 MB
    Total available memory: 8167 MB
    Currently available dedicated video memory: 4073 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD VEGAM (DRM 3.26.0, 4.17.0-999-generic, LLVM 6.0.0)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.1.1 - padoka PPA
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.1 Mesa 18.1.1 - padoka PPA
OpenGL shading language version string: 1.40
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.1 Mesa 18.1.1 - padoka PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10

ソフトウェアレンダラーであるLLVMpipe版のときは次のような結果でした。Vega M版では「yes」だった「Accelerated」「no」になっていますね。また「Video memory」はホストのメモリーサイズ(32GiB)がそのまま表示されています。

$ glxinfo -B
name of display: :1
display: :1  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: VMware, Inc. (0xffffffff)
    Device: llvmpipe (LLVM 6.0, 256 bits) (0xffffffff)
    Version: 18.0.0
    Accelerated: no
    Video memory: 32087MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 3.3
    Max compat profile version: 3.0
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.0
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: llvmpipe (LLVM 6.0, 256 bits)
OpenGL core profile version string: 3.3 (Core Profile) Mesa 18.0.0-rc5
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 3.0 Mesa 18.0.0-rc5
OpenGL shading language version string: 1.30
OpenGL context flags: (none)

OpenGL ES profile version string: OpenGL ES 3.0 Mesa 18.0.0-rc5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00

著者プロフィール

柴田充也(しばたみつや)

Ubuntu Japanese Team Member株式会社 創夢所属。数年前にLaunchpad上でStellariumの翻訳をしたことがきっかけで,Ubuntuの翻訳にも関わるようになりました。