0

このスレッドで見られるように、LinuxでDirectXをネイティブに実行できるようにするために欠けている部分は、ベンダードライバーのようです。

ベンダードライバーとは正確には何ですか?それらは、コンポーネント、またはファミリ、あるいはそれらのいずれかの特定のモデルとインターフェースするドライバーですか?それらは何にコード化されていますか?ASMとCの可能性が最も高いですか?

誰か(またはチーム)がLinux用のこれらのドライバーをどのように作成しますか?Linuxにどのように統合されますか?一般にWindows用に作成されDirectXを使用しているゲームやアプリケーションは、Linux用に微調整する必要がありますか?ゲームを作っている企業は、必要な微調整なしで、またはほんの少しの調整で使用できることを知って、Linux用のゲームを構築しますか?

これらのドライバーを作るのはどれくらい難しいでしょうか?どれくらい時間がかかりますか?特定の知識が必要ですか?

私はこれが多くの質問をすることを知っています、しかし私はそれについて非常に興味があります、そしてなぜ大きなグループがこれまで真剣に取り組んだことがないのですか(正当な理由があるに違いありませんが)。

よろしくお願いします!

編集:これは、たとえば、OpenGLとDirectX、またはWindowsとLinuxの議論を促すものではありません。FAQを読んでも、このスレッドが建設的でない理由がよくわかりません。すぐに答えられるはずの非常に狙いを定めた質問を求めているからです。

4

1 に答える 1

0

私見では、directXを実際に扱うことに誰も気にしない主な理由は、DirectXでも利用できる任意のグラフィック操作を完全にサポートするグラフィックライブラリ(Linuxの特殊なケースではmesa)がすでに利用可能であるという事実に基づいています。

単一の企業が所有するいわゆる知的財産に基づく仕様であるDirectXに従うのとは対照的に、openGLと呼ばれるこのライブラリで使用されるAPIは、ハードウェアメーカーのコンソーシアムによって合意されたオープンスタンダードです。

使用を1つのオペレーティングシステムに制限するという哲学とは異なり、ユーザーを唯一のプラットフォームに縛り付けようとしている可能性があります。openGLは、最初からプラットフォームに依存しないAPIとして意図されていました。

DirectXが単一のプラットフォームでのみ利用可能であるのとは対照的に、この原則に従うと、openGLは、Androidベースのシステム、Mac、およびLinuxを含む他の多数のUNIXoidシステムからWindowsマシンに至るまでのあらゆるコンピューティングプラットフォームで利用できます。

openGL以外のAPIを使用すると、このプラットフォームの独立性が失われます。これは、おそらく進捗としてではなく、リグレッションとして受け取られます。

要約すると、DirectXよりもopenGLを優先する主な理由は次のとおりです。

  • openGLはオープンスタンダードですが、DirectXは独自仕様です

  • openGLはどのプラットフォームでも利用可能DirectXは単一のプラットフォームでのみ利用可能

  • DirectXでサポートされているすべての操作は、openGLでもサポートされています

  • それらが本当に必要な場合、DirectX呼び出しは、たとえばWINEで行われるように、操作をopenGLにプッシュするラッパーライブラリによって提供できます。

DirectXライブラリの実装が利用可能であるだけでは、システムライブラリとインフラストラクチャのセット全体がまだまったく利用できないため、Windowsプラットフォーム用に設計されたバイナリコードをまったく実行できません。実際のところ、LinuxのWindowsELFで使用されているPE/COFFのバイナリ形式でさえ異なります。

必要なシステムライブラリを含む互換性レイヤー全体を提供する取り組みは、すでに進行中です。すでに上で述べたように、それはWINEの名前で行きます。(http://www.winehq.org/を参照)

私はあなたが要求したように誰も試したことがない(またはしようとしない)いくつかの正当な理由をあなたに与えたことを願っています。

于 2013-03-24T21:48:44.420 に答える