2006.05.21 今時のビデオカード選び#1 先週 X Compsite Extention を試してるうちに, ビデオカードドラ イバの品質というか, 機能サポートについて興味が出たので色々と 調べてみました。 いわゆる X や kernel のソースを読んでの話なので実物での話と は違うかもしれません(ソースの読みが足りないとも言う)。 今時のビデオカードなので 1. Intel i9xx, i8xx シリーズ 2. ATi Radeon シリーズ 3. nVidia GeForce シリーズ を対象としてます。次点で SiS かな。他のカード(どことは言わな いけど)はあまりにも御粗末すぎて(ry。もちろん昔のカードのこと ではない > 御粗末。一応 Matrox は(ぱふぃーりあ と言えど)昔の カード扱い。ってことで。 調査項目としては a. ハードウェアサポート状況(kernel) b. ハードウェアサポート状況(X) c. サポートサービス(2D, Xv, 3D, Render)およびハードウェア支援 となります。疲れたので今回は a のみってことで。 a. ハードウェアサポート状況(kernel) i. Intel i9xx, i8xx シリーズ Intel のハードウェアは North Bridge 組み込みであるため 特に agp(4) ドライバでの対応が必須となります。agp(4) ド ライバの中でもいわゆる agp_i810 ドライバの対応状況が重 要で, これが対応していないとそもそも X で使えないという 悲しい状況に陥ります(vesa ドライバで動かなくもありませ んが)。 agp(4) ドライバについてはコードとマニュアルの一致度が高 いため, man agp を実行した際に自分が使いたい型番(North Bridgeの)が載ってれば問題ありません。またリリースノート にも追加された都度紹介があるので, いつサポートされたの か確認できます。 ちなみに Intel 以外の North Bridge は極めて汎用性が高い ので(というかなんで Intel はこんなに変えてくるんだ?), 新しい North Bridge の場合, PCI ID を教えてやるだけでほ とんど動きます(仕様を変えてきたらごめんなさい:-)。 なお現時点で主流であるところの i915, i945 は出てから 1 年以上も経過しているため, 最近リリースされてる FreeBSD を使ってる限りはあまり頭を悩ませなくて問題ありません。 次に 3D レンダリングのハードウェア支援についてですが こちらは i915(4) ドライバと drm(4) サブシステムが必要 となります。 残念なことに 6.1-RELEASE では agp(4) と i915(4) の組み 合わせでは動かない(MFC に間に合わなかった)ので, パッチ を当てて使うか, 6.1-STABLE を使う必要があります。なお i915(4) ドライバと銘打ってますが, 開発時に i915 をター ゲットにしてたようで, 実際には i810, i830 にも対応して います(若干対応が遅かったですが)。3D 使うなら 6.1-STABLE 以降で使うのが安心です。 [関連ドライバ] agp(4), i915(4), drm(4) [推奨 OS バージョン] 6.1-STABLE 以降 ii. ATi Radeon シリーズ nVidia GeForce シリーズでもそうですが, カーネルドライバ が無くても動きます。が, それなりに性能出そうとするとやは り agp(4) ドライバを必要とします(PCI バス接続のビデオカー ドは除く, agp(4) ドライバが無いと PCI バス接続扱いとなる)。 agp(4) ドライバの対応は, マザーボードに載っている North Bridge のチップセットを確認する必要があります。例えば VIA チップセットを使ってるマザーボードなら agp_via ドライ バのサポート状況をチェックすればいいという意味になります。 次に 3D レンダリングのハードウェア支援についてですが こちらは radeon(4) ドライバと drm(4) サブシステムが必要 となります。現在の radeon(4) ドライバは R3xx アーキテク チャまでのサポートとなるので Radeon 9800 シリーズあたり までとなります。PCIe(PCI Express) 向けに設計された R4xx シリーズ - Radeon X800 シリーズ - 以降には対応していませ ん。ただし, R300 互換で R400 シリーズを動かしている節が 見られるので(R4xx のコードがみあたらない), もしかしたら 使えるのかもしれません。少なくともドライバは組み込める (probe, attach)ようです。 [関連ドライバ] agp(4), radeon(4), drm(4) [推奨 OS バージョン] 6.0-RELEASE 以降 iii. nVidia GeForce シリーズ ATi Radeon シリーズの項目でも触れましたが, カーネルドラ イバが無くても動きます(PCI バス接続扱い)。まぁ組み込んで 使いましょうね。ってことで。ただし, 下記に詳細を書きます が, バイナリドライバを使用する場合 agp(4) ドライバは不要 です(NvAGP ドライバを使用するため)。 次に 3D レンダリングのハードウェア支援についてですが, こ ちらはまったくありません。というか, nVidia 社謹製のバイナ リドライバを組み込むしかありません。 /usr/ports/x11/nvidia-driver にて ports が提供されていま すので, それをインストールしてください。kernel 毎に再コン パイルが必要になるため package にはなっていません。 x11/nvidia-driver のコンパイルオプションについてですが ・FREEBSD_AGP ドキュメント(/usr/X11R6/share/doc/NVIDIA_GLX-1.0/README) によれば off であることが強く推奨(NvAGP ドライバを使用) されています。バイナリドライバで対応していない AGP につ いてのみ on にして使うのがよいでしょう。サポートしてい る AGP については特に明記しません。ドキュメントを読んで ください。比較的広範に対応してるようです。 ・VM86_INT10CALL ん〜。説明書こうとしたら深かくなってしまったので削除。 一般に使われてないので off になってるとのこと。分かって て使いたい場合は on にします。 ・ACPI ACPI による電源管理機能を使用したい場合は on にします (5 系以降)。テストしていないのと, デスクトップユースで はサスペンドも無いでしょうから, ノートで使うので無い限 りは off でよいでしょう。ノートでも気休め程度に認識し ておいた方がよさそうです。 ・LINUX compat linux (compat linux32), いわゆる Linux アプリで バイナリドライバの恩恵を受けたい場合は on にします。デス クトップユースでは Linux アプリとは切っても切れない関係 でしょうから, on にしておくのがよいと思われます。絶対使 いません。と割り切ってるなら off します。 [推奨コンパイルオプション] FREEBSD_AGP off VM86_INT10CALL off ACPI off LINUX on [関連ドライバ] nvidia(4) [推奨 OS バージョン] 4.9-RELEASE 以降 または 5.2.1-RELEASE 以降 ※まぁこの時点で nVidia GeForce シリーズ使っておけ。って話 にはなるんですが。。調べれば調べるほど nVidia が魅力的に 見える…。。 orz Written by 重村法克