首页 > 解决方案 > 如何在没有桌面的情况下在树莓派上运行 c 代码(在代码块上)?(就像 omxplayer 的工作)

问题描述

对不起我的英语不好。我在树莓派 pi3(debian)上使用 opengl 处理 3d 形状一段时间。我想运行我的代码不要在桌面(或窗口)上使用。我搜索但困惑我的想法。简而言之,我想运行我的代码以及下图中的代码。

在此处输入图像描述

当我搜索这个主题时,我看到了 EGL 库,但我不知道我是否可以使用它。

如果您在知道 openmax 不使用窗口之前使用过 OpenMAX 库。所有图像或视频都可以在控制台模式下运行。你不需要任何桌面。我想知道有没有办法以这种方式使用 Opengl?(Opengl 是否可以像 OpenMAX 库一样运行)如果有任何方法我应该如何构建我的代码?我想在没有桌面的情况下渲染我的图像。我想使用控制台模式。

谢谢你的时间。此致。

标签: copengl-esdebianx11openvg

解决方案


最直接的解决方案是创建一个没有边框和装饰(标题栏、按钮等)的全屏窗口。如果您想要实际的图形输出,使用 X11 没有任何问题。尽管在 Internet 上流传着一些传闻,但 Xorg X11 服务器实际上是相当轻量级的。

如果您真的想不使用 X11,那么您应该查看 kmscube 演示https://cgit.freedesktop.org/mesa/kmscube/tree/之类的东西,它直接在显示器上执行 OpenGL,无需图形服务器或窗口系统介于两者之间。

如果你想让它更抽象一点,那么看看 Wayland 合成器是如何与显示器对话的。Sway Wayland 合成器的开发人员为此开发了一个不错的抽象库:https ://github.com/swaywm/wlroots


推荐阅读