nouveau

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Mesa /DRI and Gallium3D have different driver models. Both share a lot of free and open-source code
Illustration of the Linux graphics stack
An possible example matrix when implementing the Gallium3D driver model. Through the introduction of the Gallium3D Tracker Interface and the Gallium3D WinSys Interface, only 18 instead of 36 modules are required. Each WinSys module can work with each Gallium3D device driver module and with each State Tracker module.

nouveau(ヌーヴォー)は X.Org Foundationfreedesktop.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 のスクリーンショット(REnouveau は左上の角の青いウィンドウ)

REnouveau はほとんどのリバースエンジニアリングの作業を支えている。プロプライエタリな NVIDIA のドライバを持っているユーザは NVIDIA カードのハードウェア情報を提供することで nouveau の開発を助けることができる。これはコンピュータ上で REnouveau を動作させることによって行なわれる。REnouveau は現在のグラフィックカードの MMIO レジスタ空間をコピーし、グラフィックの一部を描画し MMIO のもう一つのコピーを取り、違いをテキストファイルに出力することにより動作する。コンピュータのユーザは REnouveau で70強の異なるテストを走らせ、tar.bz2 のアーカイブを作ってメールで送信する。自動的に送信したアーカイブはプロジェクトの FTP サーバに送られ、開発者がそれを解析する。

REnouveau は GPL のもとで配布されており SDL のレンダリング技術を基にしている。

脚注[編集]

  1. ^ The state of Nouveau, part 2”. LWN.net (2008年2月26日). 2008年3月7日閲覧。
  2. ^ Nouveau Companion 36”. 2008年3月7日閲覧。

外部リンク[編集]