DOS版『トゥームレイダー』を遊んだ人、いますか?
前世紀の名グラボ「3dfx Voodoo3」向けのLinuxドライバーがアップデート

間もなくリリースされるLinux 7.3カーネルに、前世紀の人気ビデオカード「Voodoo3」用ドライバーのアップデートが取り込まれた。これにより、同グラフィックカードはBIOSの手助けなしに起動が可能になるという。
1990年代からPCの自作を嗜んできたベテランPCマニアなら、Voodoo3という名前を聞けば眉がピクッと反応し、鼻の穴が少し開くのを抑えられないことだろう。
Voodoo3は、まだGPUという呼び名が一般に広まっていない1999年にビデオカードメーカーの3dfxが発売し、その圧倒的な性能で人気を博したグラフィックカードのことだ。当時は2D描画と3D描画を別のチップで行うのが主流だったが、Voodoo3はそれを1チップで処理でき、3D性能も発売当時のライバルを大きく凌いでたことで、PCゲーマーたちの人気を博した。
だがなぜ、3dfxの倒産後25年を経て、Linuxでそのカード向けのドライバーがアップデートされたのか。
もともと、Linuxはカーネルに含まれるtdfxfbフレームバッファドライバーでVoodoo3搭載グラフィックカードをサポートしていた。
その当時は、一般的なPCハードウェアのシステムファームウェアがグラフィックカードに搭載されるVideo BIOS(VBIOS)を実行するのをサポートし、VoodooカードがPCのファームウェアによって既に起動し、初期化された状態でLinux側に処理を渡すことができていた。
だが現在の新しいPCハードウェアではシステムファームウェアがVBIOSの実行をサポートしなくなっており、この前提条件が成立しなくなっているのだという。
パッチ作成者のダニエル・パーマー氏は、特にx86以外のPCシステムや、別のグラフィックカードがプライマリーとして搭載されているシステム、古いVBIOSを実行できない現代の新しいBIOSで、そのような問題があると説明している。
そして、同氏は実際に、PCIブリッジを搭載したAmiga 4000でVoodoo3を使おうとしたときにこの問題に遭遇したと述べている。このときは、Linuxは問題のカードを認識したもののVoodoo3は完全に初期化されていない状態で、画面にはただ「no signal detected.」と表示されるのみだったという。
そこで、パーマー氏はClaude Fable 5を使ってtdfxfbドライバーの一部を書き換え、システムファームウェアに依存することなく、x86_64 システムとPCIブリッジを備えた Amiga 4000で利用可能にしたという。
これらのパッチは、3Dレンダリングをサポートするためにまだマージされていないパッチでもテストされており、すべての機能が動作している模様だ。
ただし注意点として、今回のアップデートを適用しても、現代のLinuxマシンで前世紀のグラフィックカードが快適に動作するわけではないことがあらかじめ述べられている。
tdfxfbをロードしても(数十年前の古いコンピューターを持ち出してきて、特殊なPCIグラフィックカードを動かしたい人には役立つかもしれないが、そうでない場合)、期待されるような描画を実行できるとは思わないほうが良いだろう。
考えられる使い方としては、PCIパススルーを使用して仮想マシンで構築したWindows 98やDOSにVoodoo3の機能を割り当てることがある。これによって当時の3Dソフトウェアやゲームなどが快適に動作するようになるかもしれない。すでに、3D FPSゲームの『Quake』を実行できるOpenGL実装が実現しているとのことだ。
- Source: Tom's Hardware
