jjm2473 / rtd1295-openwrt18-porting

porting openwrt 19.07+ to rtd1295/rtd1296 devices (android + openwrt dual os) (移植新版OpenWrt到RTD1295(如Zidoo Z9S))
https://github.com/jjm2473/openwrt/wiki/RTD129X-Openwrt-18.06
MIT License
40 stars 10 forks source link

有rtd1295的openwrt源码,porting到1806了? #4

Open darcyg opened 5 years ago

darcyg commented 5 years ago

hi 练亮斌: 你有rtd1295/1296的openwrt源码,porting到1806了吗?能分享一下源码? 我正想做这件事...

jjm2473 commented 5 years ago

没有源代码,或者说源代码就是openwrt官方的,我的porting是基于openwrt官方镜像(看我的sunxi分支)+z9s的OTA包,不是源代码层的移植。 积累的脚本和文档在sunxi和z9s_luci两个分支,可以去看看。

darcyg commented 5 years ago

rtd1295官方的openwrt cc的源码我有..似乎官方没有1806的.我有时间移植下. 我用的不是openwrt+android版本.用的是openwrt专用版 官方的rtd1295部分关键库是不开源的,主要是几个媒体解码库,还有GPU库,视频显示的库(硬件渲染).

jjm2473 commented 5 years ago

嗯, 所以我移植的系统不能运行forked-daapd(也就是iTunes服务), 不过OpenWrt里面大部分功能都不需要多媒体支持, 所以移植的基本够用.

你是有开发过香蕉派(bpi-w2)吗, 貌似这个开发版系统跟zidoo的差不多.

如果要移植OpenWrt, 建议基于树莓派3+的Makefile(跟rtd1295官方的openwrt cc对比着修改), 至于Openwrt+Android双启动, 这是很容易实现的(主要的程序就两个, https://github.com/jjm2473/rtd1295-toolchain/tree/master/src/openwrt_android).

openwrt cc希望能共享下, 或者只是forked-daapd的源码.

jjm2473 commented 5 years ago

可以看到, 其实我的内核模块是直接从cc那边复制过来的 https://github.com/jjm2473/rtd1295-openwrt18-porting/tree/z9s/root/lib/modules/4.1.35-04005-g6c2818e-dirty

darcyg commented 5 years ago

我基本解决了Openwrt下多媒体的显示问题.现在播放2K没问题(4K没测). 官方的源码不方便给,我有空看能把他的底层库干掉多少...我基本希望就留下omx和gpu的库,用官方的闭源,其他的看看能不能不用...这样的版本,或许开源问题不大

darcyg commented 5 years ago

官方只开源了4.9的内核...rtd1295底层的问题比你想的复杂很多.rtd1295的双需要系统设计是有点技术含量的..他内核有一系列rpc补丁.通过rpc部分调用硬件的一些功能,比如主要是编解码音频. 他有个bluecore.audio的fw固件,里面是一套系统(几M大小).这个大概是一个cos/linux的最小操作系统,管理影音的.应该音视频都通过这个fw才能真正正常播.

jjm2473 commented 5 years ago

嗯,底层的没研究过,我的工作都是在应用层之上的,屏蔽了底层细节。 可以在不升级内核的情况下用上1806,其实也差不多了

jjm2473 commented 5 years ago

官方估计是为了支持双系统, 还要支持单Android或者单OpenWrt, 才设计得这么复杂.

实际上在双系统里OpenWrt不会用到多媒体功能, 相当于在完整的Android系统之上运行一个用户空间程序, 没什么特别底层的东西要考虑, 两个系统之间的隔离使用命名空间和chroot这两个内核自带的功能就能搞定.

可以想象成在一个完整的Android系统里运行一个OpenWrt, 这样设计会简单得多.

jjm2473 commented 5 years ago

有forked-daapd的patch吗

darcyg commented 5 years ago

有forked-daapd的patch吗 哪个?

jjm2473 commented 5 years ago

forked-daapd就是是一个提供音乐服务的软件, https://github.com/openwrt/packages/tree/master/sound/forked-daapd

bpiipb commented 5 years ago

官方的rtd1295部分关键库是不开源的,主要是几个媒体解码库,还有GPU库,视频显示的库(硬件渲染).

Can you share RTD1295 GPU Wayland library?