国产化系统下的浏览器开发

浏览器的定制开发,不得不涉及到国产化系统,特别在当前的国产化大潮下,各类操作系统和CPU层出不穷,包括UOS、中标麒麟、银河麒麟、中科方德、深度、红旗、普华、一铭等国产操作系统,以及龙芯、飞腾、兆芯、海光、鲲鹏等国产CPU。当前,国产化平台下操作系统大部分默认安装FIREFOX以及基于CHROMIUM的定制版,如UOS浏览器。当然用户也可以选择自行安装其他高版本的浏览器(大部分基于linux系统)。
由于国产操作系统的linux生态相对不成熟,在国产OS上的各个版本的浏览器在性能和易用性等方面均不如windows和android平台的版本。比如,国产化平台下的默认安装的浏览器都不支持H264硬解码以及H265编解码;国产化平台下浏览器版本也没有及时更新到较新的浏览器内核版本;还有很多浏览器没有很好地适配硬件特性。

对于硬件适配问题,特别是困扰众人的硬解码的支持,目前国产化系统上支持硬解的主要难点是大部分OS的内核版本低,需要安装一些依赖包,比如vaapi/vdpau的驱动,有些还需要升级一些系统组件比如mesa,xorg等。LINUX下硬解使用VAAPI框架来实现的。默认LINUX下是关闭该编译参数的,另外需要修改一些代码支持H264硬解码,还需要增加一些代码来支持H265格式。

在编译方面也稍微复杂,对于ARM64和AMD64下的编译,跟WIN下类似,下载CHROMIUM LINUX版本,按官方的说明,编译参数指定架构和系统就可以了,如果在编译完要制作DEB/RPM安装包,还需要制定enable_linux_installer = true参数。执行ninja -C out/ReleaseX64 chrome编译完成后,可以执行ninja -C out/ReleaseX64 stable_deb/stable_rpm 制作安装包。

对于MIPS64编译就稍微麻烦一些,CHROMIUM的官方编译脚本对MIPS64支持很不完善。编译参数需要配置为target_cpu="mips64el\ mips_arch_variant=“loongson3” target_os=“linux”。另外chromium自带的clang编译器不支持龙芯编译,还需要到龙芯官网下载龙芯的交叉编译工具链和SYSROOT。另外,较新版本的chomium源码在编译时会有很多代码错误。目前验证下来,最少错误的版本是67版本,通过修改一些文件的语法上的问题就能完整编译下来。

浏览器手艺人目前已经完成多种国产化平台下的浏览器定制开发,特别是针对硬件加速、国密技术、以及各平台的适配等方面,具有深入的研究。有进一步需求,可关注微信公众号(浏览器手艺人)留言或发送邮件browser_craftsman@163.com

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值