您尚未登录。

楼主 # 2022-01-17 23:03:10

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

由于D1缺少GPU,而现有的Chromium的浏览器一般需要完整的GPU图形栈才能流畅运行,所以我把Qt+WebKit的组合移植到了D1上面。

直接操作Framebuffer,无需X Window之类的窗口管理器。这样一来能够尽可能减少资源消耗。在打开jandan.net这样的网站时内存占用(VMRSS)大概在80MB左右。

之后我自己基于QtWebKit写了一个简单的浏览器,在Lichee 86 panel上测试通过,可以打开B站(不过还不能播放视频)。

fbrowser.jpg

支持WebSocket等等现代浏览器应该有的功能。并且提供了一个接口,允许网页JS代码直接执行系统命令,实现WiFi配网之类的工作(可以在config.json里关闭)。

在整合了所有依赖库和Android字体后,打包成了一个可以独立运行的rootfs镜像。
项目地址:
https://github.com/44670/FBrowser

已经编译好的rootfs镜像可以在这里下载:
https://github.com/44670/FBrowser/releases
把rootfs.tar.xz里的所有文件,替换现有已安装好Tina的SD卡的ext4分区后即可使用。
修改/FB/config.json可以设置首页URL。

(如果是Lichee 86 panel,可以在sipeed官网直接下载已经整合好的镜像文件。)

离线

楼主 #2 2022-01-18 11:33:16

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

Re: 把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

HTML5兼容性应该是完整的,ACID3测试100分。
不过WebGL/视频播放这些需要硬件加速的还没有支持。

自己写了一个用svg动画做的时钟,d1上目测有60fps,已经包含在了测试镜像里。

离线

楼主 #3 2022-01-18 11:35:51

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

Re: 把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

(其实还做了一个树莓派Zero可用的ARM镜像,下次有时间再传上来)

离线

楼主 #7 2022-01-18 17:54:20

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

Re: 把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

达克罗德 说:

注意QT5.15不是LGPL2 而是LGPL3

感谢提醒!

目前在用的qtwebkit是LGPLv21,qt 5.15是LGPLv3。

不过我都是以动态库的形式使用的,应该不必要求使用与其相同的协议。

离线

楼主 #8 2022-01-18 18:25:50

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

Re: 把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

看了一下似乎LGPLv3更好一些,决定以后开始就是LGPLv3了。

离线

楼主 #10 2022-01-19 11:40:57

44670
会员
注册时间: 2020-10-19
已发帖子: 8
积分: 38

Re: 把QtWebKit浏览器引擎移植到了D1上,内存占用约80MB

Meekdai 说:

楼主这个和阿里的WAFT功能是不是类似?

这个是全功能的浏览器哦,可以直接适配现有的网页过来。

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn