Toybrick

楼主: jefferyzhang

RK3399Pro入门教程(8)6路1080P30帧解码显示范例

 

xiaokang

新手上路

积分
12
发表于 2020-8-31 16:23:12 | 显示全部楼层
jefferyzhang 发表于 2020-8-31 16:05
该程序只支持toybrick板子,其他3399pro板子无法运行.
toybrick板子请烧写最新debian10固件用debian10的 ...

[08/31 16:22:23.411] D/: drm display open ...
[08/31 16:22:23.412] D/: Found display connectors: (encoders: 1)
[08/31 16:22:23.851] D/: #[0] id: 91, type :HDMIA        (CONNECTED)
[08/31 16:22:23.852] D/:          + [0] 1280x720 : 1280x720
[08/31 16:22:23.852] D/:          + [1] 1920x1080 : 1920x1080
[08/31 16:22:23.853] D/:          + [2] 1920x1080 : 1920x1080
[08/31 16:22:23.853] D/:          + [3] 1280x720 : 1280x720
[08/31 16:22:23.853] D/:          + [4] 720x576 : 720x576
[08/31 16:22:23.853] D/:          + [5] 720x480 : 720x480
[08/31 16:22:23.853] D/: End of Found
[08/31 16:22:24.288] D/: connecting to [0] mode [0] 1280x720
[08/31 16:22:24.288] D/: found encoder id: 90
[08/31 16:22:24.288] D/: use crtc 0 as default
[08/31 16:22:24.292] D/: set crts : crtc_id: 64
[08/31 16:22:24.292] D/: set crtc : encoder crtc_id: 64
[08/31 16:22:24.300] D/: [0]insert display buffer : 0x27f97980
[08/31 16:22:24.303] D/: set crts : crtc_id: 64
[08/31 16:22:24.303] D/: set crtc : encoder crtc_id: 64
[08/31 16:22:24.317] D/: [1]insert display buffer : 0x27f7d420
[08/31 16:22:24.318] D/: OpenGLES initializing ...
[08/31 16:22:24.325] D/: * EGL_VERSION = 1.4 Midgard-"r18p0-01rel0" (have 21 configs)
[08/31 16:22:24.325] D/: getEglSurface 160 gbmSurface=0x7f9406fe70

[08/31 16:22:24.331] D/: changeEglSurface 175 gbmSurface=0x7f941c68e0

[08/31 16:22:24.334] D/: no free gbm buffer, pass one frame
[08/31 16:22:24.367] D/: drm render open ...
[08/31 16:22:24.370] E/: (createShader in program.cpp:24): Create sharder error ! err = 0x0
[08/31 16:22:24.370] E/: (createShader in program.cpp:24): Create sharder error ! err = 0x0
[08/31 16:22:24.370] E/: (createProgram in program.cpp:66): Error when creating gl program. err=0x0
Aborted
toybrick@debian10:~/rknn$
板子肯定是toybrick的
回复

使用道具 举报

jefferyzhang

版主

积分
12851
 楼主| 发表于 2020-8-31 16:34:03 | 显示全部楼层
xiaokang 发表于 2020-8-31 16:23
[08/31 16:22:23.411] D/: drm display open ...
[08/31 16:22:23.412] D/: Found display connectors: ( ...

原生板子+原生固件+这个demo我们之前测试过的,并且其他客户也都这么演示的,并没有出现过问题,请问你有没有修改了什么东西?
回复

使用道具 举报

xiaokang

新手上路

积分
12
发表于 2020-8-31 16:50:01 | 显示全部楼层
jefferyzhang 发表于 2020-8-31 16:34
原生板子+原生固件+这个demo我们之前测试过的,并且其他客户也都这么演示的,并没有出现过问题,请问你有 ...

python的库,走的是清华源的库,不是用的你们的源安装(下载很慢),但是版本一致,除了这里,其余的都是按着流程安装的
回复

使用道具 举报

jefferyzhang

版主

积分
12851
 楼主| 发表于 2020-8-31 21:19:01 | 显示全部楼层
xiaokang 发表于 2020-8-31 16:50
python的库,走的是清华源的库,不是用的你们的源安装(下载很慢),但是版本一致,除了这里,其余的都是 ...

sudo运行,并且尝试从串口或ssh运行试试
回复

使用道具 举报

lian

注册会员

积分
94
发表于 2020-10-14 14:25:05 | 显示全部楼层
RK1808M0可以用toybrick库吗?我安装了toybrick,运行实例报错如下:
  1.     import toybrick as toy
  2.   File "/home/toybrick/.local/lib/python3.7/site-packages/toybrick/__init__.py", line 26, in <module>
  3.     from toybrick.rtsp import  RtspClient
  4.   File "/home/toybrick/.local/lib/python3.7/site-packages/toybrick/rtsp.py", line 1, in <module>
  5.     from . import rkrtspclient
  6. ImportError: libEGL.so: cannot open shared object file: No such file or directory
复制代码


回复

使用道具 举报

jefferyzhang

版主

积分
12851
 楼主| 发表于 2020-10-14 19:48:42 | 显示全部楼层
lian 发表于 2020-10-14 14:25
RK1808M0可以用toybrick库吗?我安装了toybrick,运行实例报错如下:

可以试试debian10的demo
回复

使用道具 举报

lian

注册会员

积分
94
发表于 2020-10-15 11:56:50 | 显示全部楼层
jefferyzhang 发表于 2020-10-14 19:48
可以试试debian10的demo

感谢回复,我是按照debian10给的方式安装的
  1. sudo apt install rockchip-mpp
  2. sudo apt install toybrick-gbm-dev
  3. sudo toybrick-mali.sh link
  4. pip3 install xxxxxx.whl
复制代码

但是在RK1808M0上导入toybrick依然报错
  1. ImportError: libEGL.so: cannot open shared object file: No such file or directory
复制代码


我又尝试在RK3399(也是debian10)上安装toybrick,导入时报错
  1. File "/usr/local/lib/python3.7/dist-packages/toybrick/__init__.py", line 24, in <module>
  2.     from toybrick import graphic_buffer
  3.   File "/usr/local/lib/python3.7/dist-packages/toybrick/graphic_buffer.py", line 1, in <module>
  4.     from . import rkbuffer
  5. SystemError: initialization of rkbuffer did not return an extension module
复制代码

回复

使用道具 举报

1076980246

注册会员

积分
166
发表于 2020-11-30 16:07:52 | 显示全部楼层
jefferyzhang 发表于 2019-9-4 08:19
这个mali库就是libmali_gbm.so的,通过这个库渲染的就是通过DRM显示的。
然后mali还有libmali_x11.so和li ...

您好,我系统debian10,开发板RK3399pro。
我使用了您给的样例,出现Abort 如下:
Hello, World!
* EGL_VERSION = 1.4 Midgard-"r13p0-00rel0" (have 22 configs)
main 172  gbmSurface=0x55ca5ac5c0
Aborted。
该段代码是,请问是什么原因,或则您的代码是在什么平台上运行的。
    gbmSurface = gbm_surface_create(gbm, kms.mode.hdisplay, kms.mode.vdisplay,
                            GBM_FORMAT_XRGB8888,
                            GBM_BO_USE_SCANOUT | GBM_BO_USE_RENDERING);
    fprintf(stderr, "%s %d gbmSurface=%p\n",__func__,__LINE__, gbmSurface);

    eglSurface = eglCreateWindowSurface(eglDisplay, eglConfig, gbmSurface, NULL);

回复

使用道具 举报

zhaozhenxing

注册会员

积分
98
发表于 2020-12-2 14:59:54 | 显示全部楼层
本帖最后由 zhaozhenxing 于 2020-12-4 17:38 编辑

怎么读取一个静态图片,然后在这里显示呢? 谢谢

已搞定
    buf = toy.GraphicBuffer(w, h, toy.GraphicFormat.FMT_RGB888)
    bg_img = np.zeros((h, w, 3), np.uint8)
    bg_img[:,:,0] = 0
    bg_img[:,:,1] = 255
    bg_img[:,:,2] = 0
    buf.memcpy_from(bg_img)


回复

使用道具 举报

zhaozhenxing

注册会员

积分
98
发表于 2020-12-7 10:53:15 | 显示全部楼层

failed to open drm buffer !

本帖最后由 zhaozhenxing 于 2020-12-7 18:49 编辑

failed to open drm buffer !
一定要加sudo权限吗?

[12/07 10:22:42.022] D/:         + [30] 640x480 : 640x480
[12/07 10:22:42.022] D/:         + [31] 640x480 : 640x480
[12/07 10:22:42.022] D/:         + [32] 640x480 : 640x480
[12/07 10:22:42.022] D/:         + [33] 720x400 : 720x400
[12/07 10:22:42.022] D/: End of Found
[12/07 10:22:42.252] D/: connecting to [0] mode [0] 1920x1088
[12/07 10:22:42.253] D/: found encoder id: 90
[12/07 10:22:42.253] D/: use crtc 0 as default
[12/07 10:22:42.259] D/: set crts : crtc_id: 64
[12/07 10:22:42.259] D/: set crtc : encoder crtc_id: 64
[12/07 10:22:42.267] D/: [0]insert display buffer : 0x3a19a7c0
[12/07 10:22:42.272] D/: set crts : crtc_id: 64
[12/07 10:22:42.272] D/: set crtc : encoder crtc_id: 64
[12/07 10:22:42.284] D/: [1]insert display buffer : 0x3a206910
[12/07 10:22:42.285] D/: OpenGLES initializing ...
[12/07 10:22:42.329] D/: * EGL_VERSION = 1.4 Midgard-"r18p0-01rel0" (have 21 configs)
[12/07 10:22:42.330] D/: getEglSurface 160 gbmSurface=0x7f64070650

[12/07 10:22:42.340] D/: changeEglSurface 175 gbmSurface=0x7f641c70c0

[12/07 10:22:42.619] D/: drm render open ...
[12/07 10:22:42.620] E/: (DrmBuffer in rk_drm.cpp:308): failed to open drm buffer !
Aborted
toybrick@debian10:~/projects$


使用sudo权限运行的话,rknn环境又不可以了,

  File "rknn/base/acuitylib/layer/add.py", line 1, in init rknn.base.acuitylib.layer.add
  File "rknn/base/acuitylib/layer/acuitylayer.py", line 3, in init rknn.base.acuitylib.layer.acuitylayer
ModuleNotFoundError: No module named 'tensorflow'
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表