2017年春以降にIntelのCPUへ移行することになったため、IntelのオンダイGPUをGNU/Linuxで使う場合のドライバなどに関して調べたものをまとめておく(内容については、本記事が書かれた時点では実際にGPUを使用して確認したものではなく、実際の移行後に一部内容を追加もしくは修正する可能性がある)。
移行予定のCPUは Pentium G4400 というSkylake世代の2コア2スレッドのもの(GPUは “Intel HD Graphics 510”)で既に入手済みだが、他のパーツが集まっていないため、具体的な移行時期は未定。次世代(Kaby Lake)の Pentium G4560が値下がりしてきたので、同一グレードのCPUの購入を考えている方(もしくはコストパフォーマンス重視の場合)にはこちらがおすすめできる。
ドライバ
i965
- Intelにより開発されている公式(かつ自由)なドライバ
- Gallium3Dアーキテクチャに基づいたものではなく、Gallium Nineを使用することができない
- ドライバが対応している世代(Ivy Bridge世代からとされる)のGPUでは低レベルグラフィックスAPIのVulkanを使用することができる
今後は外部グラフィックボードを付けることは(自分の用途的に)ないと思われるため、Gallium Nineに関する検証などは行えなくなってしまう。
ILO(廃止)
- Gallium3Dに基づいた非公式なドライバとして開発されていたが長期間放置されていた
- 2016年12月に廃止についての議論が行われ、作者もVulkan APIが現時点で利用可能であることを理由として強調しながら廃止に同意した
- 公式のドライバより遅く、不具合も結構あり、Gallium Nineの動作状況も良好ではなかったらしい
利用可能グラフィックスAPI
Skylake世代(Gen9=第9世代)の “Intel HD Graphics 510” はハードウェア的に
- Direct3D 12
- OpenGL 4.4
- OpenGL ES 3.2
- Vulkan 1.0
の機能を持っている。
一方でドライバ/ライブラリを提供するMesa側ではバージョン13.0.x時点で同世代のGPUについて(“i965” ドライバ使用時に)
- OpenGL 4.3
- OpenGL ES 3.2(ハードウェアと同じ)
- Vulkan 1.0(上に同じ)
をサポートしている。
WineでVulkan対応のWindowsアプリケーションを使用したい場合はWine StagingのVulkanラッパーのパッチの当たったWineを使えばよい。ラッパーなので、Wine上のOpenGLアプリケーションのように、Windows上で動かすのと比べて速度低下はほとんどない。
Wine上のDirect3Dについては当面は従来通りOpenGLに基づいたwined3dの実装を使うしかない。将来的にはVulkan APIを用いたDirect3D実装が出てくる可能性が十分に考えられるので、それに期待。
Debian/Ubuntuのパッケージ
Vulkanのドライバは “mesa-vulkan-drivers” パッケージを選択することでインストールできる。
また、 “vulkan-utils” パッケージのvulkaninfo
コマンドでVulkanに関する情報が出力できる。
OpenGL(ES含む)のパッケージについては従来と同様。
API | ランタイム | 開発用 |
---|---|---|
OpenGL | libgl1-mesa-glx | libgl1-mesa-dev |
OpenGL ES 1 | libgles1-mesa | libgles1-mesa-dev |
OpenGL ES 2,3 | libgles2-mesa | libgles2-mesa-dev |
Vulkan | libvulkan1 | libvulkan-dev |