gpt4 book ai didi

linux - 如何通过 drm (Linux) 创建 opengl 上下文

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:30:00 24 4
gpt4 key购买 nike

我想在没有 X 的情况下使用 OpenGL 渲染,通过谷歌我找到了它:http://dvdhrm.wordpress.com/2012/08/11/kmscon-linux-kmsdrm-based-virtual-console/那里说这是可能的。我应该使用 DRM 和 EGL。 EGL 可以创建 opengl 上下文,但需要 NativeWindow。 DRM 可能会为我提供 NativeWindow,不是吗?我应该使用 KMS 吗?我知道我必须有开源视频驱动程序。我想要的正是 OpenGL 上下文,而不是 OpenGL ES (Linux)。也许有人知道教程或示例代码?

最佳答案

是的,你需要kms堆栈(example)。 Here是 linux 下的一个简单示例,它使用 OpenGL es,但是让它与 OpenGL api 一起工作的步骤很简单。

在 egl 属性中将 EGL_RENRERABLE_TYPE 设置为 EGL_OPENGL_BIT

并告诉 egl 要绑定(bind)到哪个 api:

eglBindAPI(EGL_OPENGL_API);

确保拥有最新的内核驱动程序和mesa-devlibdrm-devlibgbm-dev。这段代码在 android 上是可移植的,只是让默认的 android 图形堆栈静音并不是那么容易。

注意:我在 32 位版本上遇到了问题,但仍然不知道为什么。这些库正在积极开发中,因此不确定这不是错误。

*note2: 根据您的 GLSL 版本,是否支持浮点精度。

precision mediump float;

注意 3:如果您对 /dev/dri/card0 的权限失败,请授予它:

sudo chmod 666 /dev/dri/card0

或将当前用户添加到video

sudo adduser $user video

您还可以为您的可执行文件设置 guid,并将组设置为视频。 (也许是最好的选择)

关于linux - 如何通过 drm (Linux) 创建 opengl 上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28948942/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com