Linux Kernel4.10で大きく開発が進んだDRMドライバとは

DRMドライバの開発が進む

GPUのドライバはLinuxではDRMドライバと呼ばれています。このDRMはDirect Rendering Managerの略とのことですが、一体どのようなものなのでしょうか。

高性能なドライバを開発してしまうLinuxコミュニティ

Ubuntuがアップデートを重ね、そのバージョンが16.04となった時に一つの事件が起こりました。AMD謹製のGPUドライバの不採用です。

オープンなコミュニティが開発するAMDのGPUのドライバは既に最新のXウィンドウシステムに対応していたのに対し、AMD謹製のドライバはそれに対応しなくなったことが理由のようです。AMDがLinux向けドライバに割ける開発リソースを、オープンコミュニティーが上回った瞬間でした。

DRMはLinuxのサブシステムで、GPUの仮想化レイヤー

LinuxのDRMという機能はプログラムとGPUの仲介役、つまり仮想化レイヤーです。その中のドライバーがDRMドライバーと呼ばれているようです。Linuxはファイルベースのシステムですので、DRMシステムのデバイスファイルが/dev以下に置かれています。

誕生の経緯

DRMシステム誕生の経緯はGPUの高機能化のようです。当初グラフィックボードはビデオカードなどと呼ばれており、その機能は動画を再生したりするためのものでした。Linuxのドライバも当然2Dのレンダリングに主眼を置いて開発されていたようです。その頃のAPIはfbdevと呼ばれていたようです。

しかしGPUは3Dのレンダリングや数値演算用のアクセラレータとしても使われるようになります。GPUを扱うシステムも大幅な高機能化が必要になりました。そこで誕生したのがDRMシステムです。

オープンソースコミュニティが連携して開発するGPUドライブシステム

膨大な開発能力を保持するLinuxカーネル周りの最古参オープンソースコミュニティが連携して開発するGPUドライブシステムがDRMだと言うことです。

その開発能力は本当に膨大で、AMDやnVIDIA能力GPUだけでなく、TegraやSamsungのExynosなどのARM SoCの内蔵GPUやIntelの内蔵GPUにも対応しています。Raspberry piに搭載されているVideoCore4にも高いレベルで対応しているようです。

Add a Comment

メールアドレスの入力は任意です。(公開されることはありません)