[发明专利]一种在Linux上兼容运行Android应用的图形显示方法与装置有效
| 申请号: | 202011257571.5 | 申请日: | 2020-11-11 |
| 公开(公告)号: | CN112269603B | 公开(公告)日: | 2021-05-28 |
| 发明(设计)人: | 姚宏亮;唐宏伟;周剑;张耀斌 | 申请(专利权)人: | 北京技德系统技术有限公司 |
| 主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/451 |
| 代理公司: | 北京丰浩知识产权代理事务所(普通合伙) 11781 | 代理人: | 李学康 |
| 地址: | 100085 北京市通州*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 linux 兼容 运行 android 应用 图形 显示 方法 装置 | ||
本发明公开了一种在Linux上兼容运行Android应用的图形显示方法与装置,属于计算机基础软件领域。所述方法包括:判断Android是否支持所述当前GPU硬件类型,如是则将Android中绘制好的图形直接导入到Linux的DRI中进行合成后送显,如否则将Android图形库OpenGL ES直接转换成Linux的OpenGL库接口,然后通过Linux的DRM调用GPU进行图形绘制、合成与送显;另外还通过图形软加速的方法解决老式显卡不支持应用图形库的情况。发明解决了兼容运行在Linux系统上的Android应用面临不同类型的GPU硬件而产生的显示问题,根据当前系统环境中的不同的GPU种类,分别采取不同的策略以完成图形显示的整个过程,以达到融合图形显示的目的,并且相对于单一策略而言,能够降低系统资源的消耗,提高图形显示的效率。
技术领域
本发明涉及计算机技术领域,特别是涉及一种在Linux兼容Android运行领域中融合图形的显示方法与装置。
背景技术
通常来说Android的图形显示机制是在Android系统内部完成的,Android为了解决在GPU能力较弱的嵌入式设备上的图形显示问题,采用了嵌入式图形GPU,同时采用了OpenGL ES图形显示接口库。图3显示了Android的图形显示机制,具体来说,Android的图形显示是通过Android中的SurfaceFlinger来完成图形绘制的总体绘制过程,SurfaceFlinger是一个控制单元,对于上层应用需要显示的图形图层,SurfaceFlinger会选择相应的显示设备,同时通过EGL接口来调用OpenGL ES图形库接口完成相应的绘制,并输出给FrameBufferNativeWindow来进行Gralloc对显示设备和GPU设备的调用,由GPU设备完成图形的绘制渲染过程。最后将渲染后的图形发送至Linux内核中的显示设备进行显示,从而完成图形的绘制到显示的全过程。
这与Linux的图形显示机制以及Linux的图形显示框架有较大的不同,Linux的图形显示是面对GPU能力较强的独立显卡或者集成显卡,同时采用的是OpenGL图形显示库接口。具体来说,Linux的图形显示是依据X协议,X协议是以位图图像显示图形化界面的一套软件规范及协议。目前X Window System使用最广的软件实现是Xorg,它采用了C/S架构,服务端和客户端可以基于网络通信。图4显示了Linux的图形显示机制,Linux应用通过图形绘制接口调用OpenGL图形库,OpenGL通过基层直接渲染DRI(Direct RenderingInfrastructure)图形渲染框架调用直接渲染管理器DRM(Direct Rendering Manager)完成对应用内各种图层的绘制工作,其中基层直接渲染DRI在具体图形绘制时会负责完成对硬件GPU的调用,GPU完成相应的图形绘制渲染后存入FrameBuffer中,FrameBuffer中的数据通过KMS(Kernel Mode-Setting)传送给显示控制器LCDC,完成图形显示的工作。至此完成全部图形绘制到显示的全流程。
很明显,Android与Linux的显示机制和面向的硬件都有较大的差异性,当在Linux系统上兼容运行Android应用时,面临不同类型的GPU物理设备,而不同类型的GPU设备本身对操作系统的支持是不同的,例如:原先Linux上可以直接运行的GPU并不支持Android,而原先Android系统上支持的GPU又不支持Linux的图形显示。因此想要Android以兼容层的方式运行在Linux操作系统之上,就必须打通两者的图形显示机制。
此外,如果要在Linux上直接运行Android应用,还必须面对各种不同类型的显卡问题。目前,还有一部分老式显卡,在运行Android兼容的时候由于显卡本身的原因不能支持Open GL图形库的高版本,而部分Android应用依赖于高版本的图形库,因此会导致应用无法运行的情况,针对这种无法使用图形硬件加速的设备,需要另外提供图形加速方案。
发明内容
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京技德系统技术有限公司,未经北京技德系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011257571.5/2.html,转载请声明来源钻瓜专利网。





