0. 看到好多同学在华为云平台技术的论坛里面咨询ExaGear转码补丁的事情。

下图只是冰山一角的提问。

image.png

1. ExaGear是个什么东东呢?其实是一个动态二进制指令翻译工具。

用它就可以实现arm上面运行x86的程序,或者arm64上面运行arm32的app。
华为云手机目前主要使用鲲鹏920 ARM64 架构的处理器。运行一些arm32的app就会出现各种异常。

据知乎上一些大神的介绍,这个技术最开始是华为从国外买过来的。做了不少改进,变成了现在云手机产品必不可少的核心基础技术模块。

这是2014年,由俄罗斯公司发布的商业化产品。
华为2019年把它收购过来,移植到Linux上面,就变成了自主研发的新技术。
2014年发布之前经历了多少开发时间,不得而知,但这个产品从发布至今已经6年。作为商业化产品,6年来持续研究和改进,在各种限制条件下,能够达到80%的效率,说明高性能的二进制翻译并不容易。

2. 目前国内外云手机各种大厂投入竞争激烈

目前据了解,云手机各大互联网厂商,各大运营商已经开始大规模投入研发,下面列举一些行业产品讯息:

  • 中国电信天翼1号云手机 2021年1月16号已经发布
  • 联通大规模采购泰山200服务器,用于云手机研发
  • 百度收购红手指,已经是这个领域的成熟玩家
  • 多多云手机与华为合作已发布产品,目前组建了自己的底层研发团队,希望技术实现优化突破
  • 基于其他厂家的arm芯片,比如rk3399的云手机服务器,在1688上面也已经开始火热。
  • 国内Android模拟器的大佬,雷电模拟器也上架了云游戏(云手机)业务。
  • 海外蓝叠Android模拟器,也上架了基于云手机的云游戏业务。

可以看出云手机、云游戏已经势不可挡。越来越多得玩家24小时挂机需求、5G速度的提升、云游戏体验不断优化,必然带来一个非常巨大的消费市场。

3. 说了这么多,如何搭建一个云手机的平台?

  • 国内华为arm云服务器已经上架华为云市场,是最佳选择。
  • 国外可以用AWS的云服务。
  • 自己购买arm多核心(11-72核心)服务器,自建机房。(不建议,除非是工作室)

4. 技术难点在哪里?

  1. 上面说到的,市面上大多arm64架构的服务器,对arm32的app支持有问题,需要ExaGear转码补丁。
  2. GPU实现 H264\H265的硬件编解码的支持。
  3. GPU虚拟化技术,降低运营成本。

    其中最坑的就是第一个,ExaGear转码补丁的问题,严重提高了大家学习、尝试、产品化云手机的门槛。早期有段时间这个补丁是开放下载的,目前只有和华为深度合作的一些伙伴才能拿到这个补丁。但是也是部分开放,不是完全开源。

5. 作为一个技术玩家,怎么辅助解决这个问题?

  • 虽然我觉得这个技术开放对大家都有好处,但是不能违反华为的协议。这里不能直接开放,需要的可以留言合作。
  • 其他ARM64平台能不能用这套东西,可以用,经过逆向实现。比如RK3399。

更多关于云手机、云游戏的技术,如果大家想了解、或者技术合作,可以留言、或者关注、发送消息。

Logo

华为云1024程序员节送福利,参与活动赢单人4000元礼包,更有热门技术干货免费学习

更多推荐