Linux上でネイティブなDirectX 10/11の実装が実現 – Gallium3DによりオープンソースでGPUドライバ実装が可能に

phoronix.com Direct3D 10/11 Is Now Natively Implemented On Linux! Published on September 21, 2010 Written by Michael Larabel より。

概要として、

Luca BarbieriとMesa / Gallium3D開発者がオープンソースのグラフィクスドライバでMicrosoftのDirectX10と11のAPIをLinuxに搭載することに成功し、既に動作しておりWineに統合中とのこと。

Luca Barbieriは「D3D1x」と呼ばれているDirect3D 10/11 COM APIをGallium3Dに追加した。
Lucaはこれは単なる初期バージョンであるとしているが、既に動作しいくつかのDirectX10/11のテクスチャデモがLinux上で動作させることが可能。
これは現在のWine実装のようにDirect3DをOpenGLへ変換したりせず、ネイティブにGallium3DとTGSIに直接グラフィクスドライバ及びハードウエアとやりとりが可能である。
Gallium3Dの設計に感謝し、Direct3Dのサポートが基本的にLinuxドライバにほんの少しかほとんど変更無しで「フリー」で可能となる。

freedesktop.orgのコミットを読むと、「最初のゴールは複数のAPIサポートというGalliumの約束を現実にすることであり、Galliumの上に非常に薄い簡単な実装により動作を可能にすることを提供し、たくさんの巨大な絡みあったプログラムコードの必要なOpenGLの代わりになる。2番目のゴールはWineを使いLinux上でWindowsのDirect3D 10/11仕様のゲームを動作させることである。」

Wineもこの活躍に感謝を示し、DLLのいらないWineへの組み込みは行われいているが、Lucaは目標達成は全く持って簡単であると語った。

もしこの出来事がより良くできなければ、「FglrxとnvidiaドライバはOpenGLを使えるようなGalliumドライバを開発することでサポートが可能となり、それは比較的簡単な作業である。Direct3D 10/11の偉大な設計とGalliumとの近密性に感謝し、このアプローチが体感できるようなオーバーヘッド無しで結果を得られ、FglrxやnvidiaのプロプライエタリドライバからGalliumのオープンソースドライバに切り替えるパッチを提供するだけででほとんどメンテナンス可能になる。

特にDirectX10.0の限定サポートやDirectX11.0の未サポート状態のWineにとってこのニュースは信じられないようなものである。

現在の他のゴールについて、「3番目のゴールはWindowsシステム以外で動作するOpenGLを代替する高品質なグラフィクスプログラムの実現を可能にし、特にLinuxやその他フリーやオープンソースシステムにもたらされる。一から開発されたこの非常に簡潔で練られたコードに感謝し、Direct3D 10/11はOpenGLに比べ極めて良いAPIであり、極端なまでに少ないコードと開発時間でサポートすることが可能となり、あなたは現在存在するMesa OpenGL実装のプログラムソースと比較することも可能である。」

Linux上で標準でDirect3D 10/11が実装されたことについていくつか考えさせられるのは、「最後に、成熟したDirect3D 10/11実装はOpenGL実装に比べ本質的により高速でより高信頼であり、劇的に小さなAPIはアプリケーションを開発する目的のために必要な開発により多くの時間を割くことが可能になる。」

VMwareは以前Direct3Dの実装をし、それはオープンソースでもなく、Windows上でのGallium3D実装でDirectX9をターゲットにしたものであったが、それとは全く異なり、コミュニティメンバー達により開発されたオープンソースであるということである。

Gallium3Dの成果はMesa開発者たちにも可能なマイルストーンを準備した。
幸運にもまもなく私たちはOpenGL 3.x/4.0が実装されるのを遂に実現できるだろう。Linux上でのDirect3D 10/11実装の実現には26,000行の追加がMesaに必要であった。
私はMicroosftがDirect3DをLinux上で実装するのに彼らに何故ビール(※beerとwine。ソース元のページには開発者がビールで祝っている画像がある)を買ってやったのか不思議でたまらない。

※コミット内容

  • Independently created headers for Direct3D 10, 10.1, 11 and DXGI 1.1, partially based on the existing Wine headers for D3D10 and DXGI 1.0
  • A parser for Direct3D 10/11 DXBC and TokenizedProgramFormat (TPF)
  • A shader translator from TokenizedProgramFormat to TGSI
  • Implementation of the Direct3D 11 core interfaces
  • Automatically generated implementation of Direct3D 10 and 10.1
  • Implementation of DXGI using the “native” framework of the EGL st
  • Demos, usable either on Windows or on this implementation
    • d3d11tri, a clone of tri
    • d3d11tex, a (multi)texturing demo
    • d3d11gears, an improved version of glxgears
    • d3d11spikysphere, a D3D11 tessellation demo (currently Windows-only)
  • A downloader for the Microsoft HLSL compiler, needed to recompile the shaders (compiled shader bytecode is also included)

なお、x86_32でのみテストしたとのこと。

—-

すごい事になったな。OpenGLを介さずに実現するとは。

AMDがOpenCL 1.1に対応した ATI Stream SDK v2.2配布開始

tcmagazine.com AMD delivers ATI Stream SDK v2.2 with OpenCL 1.1 support より。

Intelの発表に合わせて、AMDもOpenCL 1.1に対応したライブラリ ATI Stream SDK v2.2の配布を開始した模様。

概要は下記の通り。

  • OpenCL1.1に対応したATI Stream v2.2は、音声認識、ジェスチャー、表情認識技術など次世代コンピューティングエクスペリエンスに貢献する。
  • また将来AMD Fusion APUと統合し利用することが可能

OpenCL1.1に合わせて、SDKのアップデートした内容は下記の通り。

  • 対応OSを拡張。Ubuntu Linux 10.04やRed Hat Enterprise Linux 5.5が含まれる。
  • SSE2.xかそれ以降を搭載したx86CPUに対応し、CPUの多様性に対応。
  • LinuxやWindowsのコンパイラサポートの追加として、GNU Compiler Collection 4.1以降、Microsoft Visual Studio 2010 Professional Edition、Minimalist GNU(4.4) for Windows(MinGW)である。
  • Single-channelフォーマットのサポートで、GPU上のキャッシュへのアクセスがより柔軟になる。
  • OpenCLとDirectX10との相互運用性により、ユーザが結果をディスプレイで確認したい際の使い勝手を高める。
  • HPCや科学計算分野アプリケーションで有用なOpenCLカーネルでの倍精度浮動小数点演算サポートの追加

ATI Stream SDK v2.2のダウンロードはこちらのページから。

これまで常であったAMDのソフトウエア関連サポートの不備が改善されつつある。OpenCLとの相互運用性というのはnVidia CUDAよりも有用そうである。ATI Stream SDK自身の品質は今後の報告待ちか。

うわさ nVidiaのノートPC向けGT425MはFermiアーキテクチャかG218のリネームか? 更新 2010年9月3日

semiaccurate.com Nvidia GT 425M tips up in listings GF108 or renamed G218, that is the question by Charlie Demerjian August 3, 2010 より。

うわさ nVidia GT 425Mがリストに載せられた

GF108なのかG218のリネームなのか、それが問題だ。

nVidiaは古いリネームゲームを企んでるのか、また世界で2番目に熱いGPUのローンチについてだろうか、いずれにしてもnVidiaのノートPC向けGPU GT 425Mは混沌の度合いを増したようだ。

これではDirectX10と書かれている。

これは何も言及していない。

これは特に記載はない。

最後の情報もまた曖昧だ。

手短に話すが、あなたが上記で見たように、新しいnVidia GT 425Mについてモバイル部分では1GBのGDDR3メモリとのたくさんの記述がある。ほとんど記載された内容はDirectX10デバイスか特に記載されていない様に見える。ついにDirectX11として記載されているものが一つあるが、それはまだ何の情報も書かれていない。それらすべてはAsusの新しい17インチノートPCである。

GF106は9月13日に登場する予定であり、GF108は「GF106の前に」登場する予定であったが、過去と現在の間になにかあったのか。あなたはもしこれがおろかにもGF108のカットダウンされたものであるか、またはG21xのリネーム品であるか不思議に思うべきである。GDDR3メモリ採用はそれがG21xであることを示唆しており、GF10x製品はGDDR5のみである。もしnVidiaがGDDR3メモリのGF10xを推進しているとしたら、それはIntelのグラフィクス性能の首元を厳しく見張っているのであろう。それはどちらかを補完するものではない。

ともかく、この世界はGPUについてあくびが出るまで長くは待たない。最新のFermiチップから出た熱であなたの足が焼かれて「ひーっ」と叫んでひどくがっかりさせられることに備えよう。

—-

Charlie曰く、FermiアーキテクチャのノートPCだとしたらどんだけ熱いんだよ!?ということかと。そうじゃなくてもすでにDirectX11でのモバイル向けGPUを消費者は求めているが、どうやらAMD/ATIのみが製品を供給できそうだ。Intelもあの性能ではねえ。

更新 2010年9月3日

nVidiaのノートPC向けGPU Geforce 400Mシリーズが登場した。最上位GPUである480Mの消費電力は100Wとのこと。