Firefly开源社区
标题:
Firefly Ubuntu 加入对OpenGL-ES的支持。
[打印本页]
作者:
zouxf
时间:
2016-6-21 16:25
标题:
Firefly Ubuntu 加入对OpenGL-ES的支持。
Firefly新发布的ubuntu系统中,加入了完整的X11下的openGL-ES支持。而在Firefly之前发布的Ubuntu系统中,opengl支持是基于fb的。基于X11的opengl-es在应用程序调用和效率上都有较明显的优势。
在内核层,kernel加入了DRM(Direct Rendering Manager)支持,替换了传统的Frame Buffer,在fb模式下,fb提供统一的接口,供x11显示驱动来调用,完成屏幕合成、渲染。而在DRM模式下,借助用户层drm库libdrm和x11显示驱动,应用程序可以直接操作显示设备。在3D加速渲染时更快的处理速度。
关于DRM相关支持。
X11下openGL-ES需要在内核层和用户层添加相应的支持:
1. 内核DRM支持。
DRM支持包含一整套显示驱动,包括内存管理、显示数据编码,LCDC Timing、电源管理等。
2. 内核GPU支持。
Firefly-rk3288集成GPU Mali-T764。需要在内核层加入GPU的驱动。
3. X11下显示驱动对DRM的支持
X11显示驱动是xserver显示与内核交互的桥梁,在lubuntu下,X11显示驱动默认采用的是fbdev接口,需要改为使用DRM接口与内核交互,我们采用的驱动是开源的xf86-armsoc。而实际上DRM驱动上也有虚拟出fb设备和提供对应的接口,所以即使不X11显示驱动不做修改,X11显示也是可以的,只是采用的接口不同而已。
4.libdrm
libdrm是linux下的一套对DRM操作进行封装的图形编程接口。应用程序通过调用libdrm提供的api,实现对DRM的ioctl。
5.Mali OpenGL-ES支持。
Mali官方提供了OpenGL-ES的支持库。需要注意的是,ubuntu下默认采用的GLX协议,而Mali系列GPU则只支持EGL协议。
最后,可以使用glmark-es2来测试对openGL-es的支持。
作者:
cloudliu
时间:
2016-6-21 17:05
赞一个
作者:
lihp1603
时间:
2016-6-22 18:19
之前在fbdev模式下,不知道大家创建渲染窗口的时候,指定窗口起始位置是如何做的,我看sdk的demo源码中, typedef struct fbdev_window
{
unsigned short width;
unsigned short height;
} fbdev_window;
只有宽跟高,如果我要任意位置创建窗口,如何实现?
(在默认情况下,fbdev模式,貌似只能从(0,0)位置开始)
对于DRM的支持,能把详细的过程,测试情况说一下不?帮顶
作者:
maplblue
时间:
2017-3-4 11:21
支持opengl-es的链接资料能给个参考下不,正准备要做那个呢
作者:
小圆
时间:
2017-3-7 15:26
maplblue 发表于 2017-3-4 11:21
支持opengl-es的链接资料能给个参考下不,正准备要做那个呢
http://bbs.t-firefly.com/forum.p ... &highlight=mali
作者:
maplblue
时间:
2017-3-7 20:00
QQQ
欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/)
Powered by Discuz! X3.1