コンテンツにスキップ

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日閲覧。

外部リンク

[編集]