nouveau



nouveau(ヌーヴォー)は X.Org Foundation と freedesktop.org のプロジェクトである。当初は、自由でオープンソースではあるが、ソースコードがややこしく2D機能のみの "nv" ドライバーに基づくものだった。現在はNVIDIAのプロプライエタリなLinux用ドライバをリバースエンジニアリングして、 NVIDIAのビデオカード用のフリーなドライバを開発することを狙いとしている。
概要
[編集]X.Org 用の他の3Dグラフィックスドライバのように、nouveau はモジュールとして実装され MIT ライセンスのもとで配布されている。元々は3次元コンピュータグラフィックスをレンダリングするために Graphics Processing Unit を使って3Dの描画を高速化する Mesa 3D のダイレクト・レンダリング・インフラストラクチャ (DRI) を使っていたが、2008年2月に DRI への働き掛けをやめて新しい Gallium3D に移行した[1][2]。
ツール
[編集]リバースエンジニアリングのためプロジェクトでは mmio-trace や REnouveau のようないくつかの特別なツールを利用している。
REnouveau
[編集]
REnouveauはほとんどのリバースエンジニアリングの作業を支えている。プロプライエタリなNVIDIAのドライバを持っているユーザはNVIDIAカードのハードウェア情報を提供することでnouveauの開発を助けることができる。これはコンピュータ上でREnouveauを動作させることによって行なわれる。REnouveauは現在のグラフィックカードのMMIOレジスタ空間をコピーし、グラフィックの一部を描画し MMIOのもう一つのコピーを取り、違いをテキストファイルに出力することにより動作する。コンピュータのユーザはREnouveauで70強の異なるテストを走らせ、tar.bz2のアーカイブを作ってメールで送信する。自動的に送信したアーカイブはプロジェクトのFTPサーバに送られ、開発者がそれを解析する。
REnouveauはGPLのもとで配布されておりSDLのレンダリング技術を基にしている。
脚注
[編集]- ^ “The state of Nouveau, part 2”. LWN.net (2008年2月26日). 2008年3月7日閲覧。
- ^ “Nouveau Companion 36”. 2008年3月7日閲覧。