在没有X-Window系统的情况下使用OpenGL

use*_*250 21 linux opengl framebuffer

如何在没有X-Window系统的Linux平台上OpenGL,我可以直接将OpenGL图形发送到Framebuffer设备吗?

项目名为DirectFB(Direct FrameBuffer).使用DirectFB我们可以这样做,但DirectFB需要每个硬件的驱动程序,我想使用只有Linux驱动程序的图形卡.

fad*_*man 8

这就是我在ubuntu 11.04中详细说明的方法:1-使用命令安装依赖项:

sudo apt-get install xutils-dev libpciaccess-dev x11proto-dri2-dev x11proto-gl-dev libxdamage-dev libxfixes-dev
Run Code Online (Sandbox Code Playgroud)

2- mesa库需要libdrm版本> = 2.4.24,这在ubuntu 11.04存储库中不可用(旧版本可用),因此您必须下载源代码并使用以下命令构建它:

./configure
make
make install
Run Code Online (Sandbox Code Playgroud)

3 - 下载mesa库,然后使用以下命令对其进行编译:./ configure --prefix = install_directory

make realclean
make linux-fbdev
sudo make install
Run Code Online (Sandbox Code Playgroud)

选择install_directory时要小心,这样就不会覆盖系统的mesa库.之后使用选项编译您的应用程序:-lGL -lOSMesa -ldl -L'install_directory/lib' -I'install_directory/include'


kar*_*lip 6

显然可以让SDL在没有X的情况下运行.

基本上,你的内核应该支持framebuffer,你可以在DirectFB之上使用SDL.

这些线程没问题:

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

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


Mat*_*gro 4

正如你所说,你需要一个驱动程序来做到这一点。99.9% 的 Linux 图形驱动程序都使用 X11,因此除非您的硬件有 DirectFB OpenGL 驱动程序,否则您将不得不使用 X11。