24

X-Window システムを使用しない Linux プラットフォームで OpenGL を使用する方法、OpenGL グラフィックスをフレームバッファ デバイスに直接送信できますか?

DirectFB(Direct FrameBuffer)というプロジェクトがあります。DirectFB でこれを行うことができますが、DirectFB はハードウェアごとにドライバーが必要であり、Linux ドライバーのみを備えたグラフィック カードを使用したいと考えています。

4

5 に答える 5

8

これは、ubuntu 11.04で詳細に行った方法です。1-コマンドを使用して依存関係をインストールします。

sudo apt-get install xutils-dev libpciaccess-dev x11proto-dri2-dev x11proto-gl-dev libxdamage-dev libxfixes-dev

2- mesa ライブラリには libdrm バージョン >= 2.4.24 が必要ですが、これは ubuntu 11.04 リポジトリでは利用できません (古いバージョンが利用可能です)。そのため、ソースをダウンロードして、次のコマンドを使用してビルドする必要があります。

./configure
make
make install

3-mesa ライブラリをダウンロードし、次のコマンドを使用してコンパイルします: ./configure --prefix=install_directory

make realclean
make linux-fbdev
sudo make install

システムの mesa ライブラリを上書きしないように、install_directory を選択するときは注意してください。その後、オプションを使用してアプリケーションをコンパイルします。-lGL -lOSMesa -ldl -L'install_directory/lib' -I'install_directory/include'

于 2011-09-07T15:53:55.443 に答える
6

XなしでSDLを実行することは明らかに可能です。

基本的に、カーネルはフレームバッファをサポートする必要があり、DirectFB の上で SDL を使用できます。

これらのスレッドは問題ありません:

http://lists.libsdl.org/pipermail/sdl-libsdl.org/2006-October/058305.html

http://forums.libsdl.org/viewtopic.php?t=4079

于 2010-09-13T17:55:20.773 に答える
4

あなたが言ったように、これを行うにはドライバーが必要です。すべての Linux グラフィックス ドライバーの 99.9% が X11 を使用しているため、ハードウェア用の DirectFB OpenGL ドライバーがない限り、X11 を使用することになります。

于 2010-06-14T11:44:22.823 に答える
0

Mesaは、フレームバッファベースのソフトウェアレンダリングに使用できます。

于 2010-06-14T17:48:06.553 に答える
0

Linux での OpenGL プログラミングには SDL (Simple Direct Media Layer) を使用しますこのサイトには、セットアップに役立つチュートリアルがいくつかあります。SDL を使用する利点の 1 つは、プラットフォーム間で移植できることです。そのため、Linux で何かを実行すると、そこに SDL がインストールされている限り、すぐに Windows に転送されます。

于 2010-06-14T15:55:50.337 に答える