Skip to content
This repository has been archived by the owner on Dec 28, 2020. It is now read-only.

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

Open
darcyg opened this issue May 14, 2019 · 12 comments
Open

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

darcyg opened this issue May 14, 2019 · 12 comments
Labels
help wanted Extra attention is needed

Comments

@darcyg
Copy link

darcyg commented May 14, 2019

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

@jjm2473
Copy link
Owner

jjm2473 commented May 14, 2019

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

@darcyg
Copy link
Author

darcyg commented May 16, 2019

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

@jjm2473
Copy link
Owner

jjm2473 commented May 16, 2019

嗯, 所以我移植的系统不能运行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
Copy link
Owner

jjm2473 commented May 16, 2019

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

@darcyg
Copy link
Author

darcyg commented May 16, 2019

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

@darcyg
Copy link
Author

darcyg commented May 16, 2019

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

@jjm2473
Copy link
Owner

jjm2473 commented May 16, 2019

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

@jjm2473
Copy link
Owner

jjm2473 commented May 16, 2019

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

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

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

@jjm2473
Copy link
Owner

jjm2473 commented May 17, 2019

有forked-daapd的patch吗

@darcyg
Copy link
Author

darcyg commented May 29, 2019

有forked-daapd的patch吗
哪个?

@jjm2473
Copy link
Owner

jjm2473 commented May 29, 2019

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

@bpiipb
Copy link

bpiipb commented Jun 4, 2019

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

Can you share RTD1295 GPU Wayland library?

@jjm2473 jjm2473 added the help wanted Extra attention is needed label Jun 16, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

3 participants