如何在Linux中没有窗口管理器的情况下使用OpenGL?

时间:2010-09-27 13:08:07

标签: linux opengl lfs

我刚刚完成了LFS书籍,我的Linux系统现在正在运行。我想使用OpenGL在屏幕上显示图形,而现在唯一安装的包是http://www.linuxfromscratch.org/lfs/view/stable/chapter03/packages.html中描述的那些。

我不想安装像Gnome,KDE或X.org这样的东西。相反,我想直接从我的软件中使用OpenGL。这可能,我该怎么做?或者就像编写一个全屏运行的OpenGL应用程序一样容易(我不这么认为:'p)?

3 个答案:

答案 0 :(得分:2)

您不必安装Gnome或KDE。这些用于托管窗口,您可以在没有窗口管理器的情况下启动图形应用程序。

因此,您必须安装X服务器。 X服务器负责在屏幕上绘制内容。如果没有X服务器,则无法启动图形应用程序。

安装X后,启动它,导出DISPLAY环境变量,其余的就像编写一个全屏运行的OpenGL应用程序: - )

答案 1 :(得分:1)

您也可以使用Pygame创建自定义启动UI。还可以尝试看看Wayland合成器,因为它已经在Fedora和Ubuntu等版本中取代了XServer。

答案 2 :(得分:0)

kmscube DRM示例

有可能,最流行的演示是使用OpenGL和EGL的https://github.com/robclark/kmscube

不幸的是,带有NVIDIA专有驱动程序的Ubuntu 18.04软件包对我不起作用:

drmModeGetResources failed: Invalid argument
failed to initialize legacy DRM

错误报告:https://github.com/robclark/kmscube/issues/12

但我确实让它运转了on emulator

它接管整个显示屏,并显示彩色旋转立方体。