测试test_mpi_vo.cpp案例遇到drm_output_create not found enough vo interface 8000

固件类型:官方提供的固件
固件文件名称:rv1126_rv1109_linux_release_20220224_v2.2.5a.xml
固件下载地址:百度网盘
Log日志:log.zip

本帖最后由 xhm 于 2024-7-18 16:28 编辑

有两个Video Port1、Video Port3可以使用:

linaro@linaro-alip:~/rockit/mpi/example/mod$ sudo cat /sys/kernel/debug/dri/0/summary
Video Port0: DISABLED
Video Port1: ACTIVE
Connector: HDMI-A-1
bus_format[100a]: RGB888_1X24
overlay_mode[0] output_mode[f] color_space[0], eotf:0
Display mode: 1920x1080p60
clk[148500] real_clk[148500] type[8] flag[5]
H: 1920 2008 2052 2200
V: 1080 1084 1089 1125
Esmart1-win0: ACTIVE
win_id: 10
format: XR24 little-endian (0x34325258) SDR[0] color_space[0] glb_alpha[0xff]
rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
csc: y2r[0] r2y[0] csc mode[0]
zpos: 1
src: pos[0, 0] rect[1920 x 1080]
dst: pos[0, 0] rect[1920 x 1080]
buf[0]: addr: 0x00000000017c3000 pitch: 7680 offset: 0
Video Port2: DISABLED
Video Port3: ACTIVE
Connector: DPI-1
bus_format[2011]: YUYV8_1X16
overlay_mode[1] output_mode[0] color_space[0], eotf:0
Display mode: 1920x1080p60
clk[148500] real_clk[148500] type[48] flag[a]
H: 1920 2008 2052 2200
V: 1080 1084 1089 1125
Esmart3-win0: ACTIVE
win_id: 11
format: XR24 little-endian (0x34325258) SDR[0] color_space[0] glb_alpha[0xff]
rotate: xmirror: 0 ymirror: 0 rotate_90: 0 rotate_270: 0
csc: y2r[0] r2y[1] csc mode[1]
zpos: 3
src: pos[0, 0] rect[1920 x 1080]
dst: pos[0, 0] rect[1920 x 1080]
buf[0]: addr: 0x0000000002795000 pitch: 7680 offset: 0

在test_mpi_vo.cpp中作如下设置:VoDev=3,stVoPubAttr.enIntfType = VO_INTF_DP,相当于调用Video Port3设备,类型为DP。
/* Bind Layer */
VoLayer = RK356X_VOP_LAYER_ESMART_3; //3
VoDev = RK356X_VO_DEV_HD3; //3
if (ctx->bDoubleScreen) {
VoLayer_second = 3; // RK356X_VOP_LAYER_ESMART_0
VoDev_second = 3; //RK356X_VOP_LAYER_ESMART_1
RK_MPI_VO_BindLayer(VoLayer_second, VoDev_second, VO_LAYER_MODE_GRAPHIC);
}
Sample_Print(“1.2…”);

RK_MPI_VO_BindLayer(VoLayer, VoDev, VO_LAYER_MODE_GRAPHIC);

if (ctx->bHomologous) {
    stVoPubAttr.enIntfType = VO_INTF_HDMI | VO_INTF_EDP;
    stVoPubAttr.u32BgColor = 0x000000;
} else {
    stVoPubAttr.enIntfType = VO_INTF_DP;//VO_INTF_HDMI
}

编译执行后LOG如下:报错drm_output_create not found enough vo interface 8000

./rk_mpi_vo_test
cmpi 12:38:46-079 {main :2431} 1…

cmpi 12:38:46-079 {main :2434} 1.1…

cmpi 12:38:46-080 {main :2437} 2…

cmd parse result:
vop device id : 0
vop layer id : 0
window size : 4
connector type : 0
display mode : 16
layer mode : 1
display resolution rect X : 0
display resolution rect Y : 0
display pixel format : 5
display resolution width : 1920
display resolution height : 1080
display resolution0 width : 1920
display resolution0 height : 1080
display resolution1 width : 1920
display resolution1 height : 1080
double screen : 0
display rate : 30
display rate ratio : 1
chn display mode : 0
chn Border lpx : 2
chn Border rpx : 2
chn Border tpx : 2
chn Border bpx : 2
video aspect ratio mode : 1
input ImgWidth : 1920
input ImgHeight : 1080
ui : 1
loopcount : 10
ui alpha : 0
wbc enable : 0
wbc bind enable : 0
wbc width : 1024
wbc height : 768
wbc compress mode : 0
wbc pixel format : 3
wbc source type : 1
wbc souce id : 0
cmpi 12:38:46-083 {main :2567} n…
RKSockServer 12:38:46-084 {initServer :056} proto:tcp, hostname:127.0.0.1, path:, port:3893
RKSockServer 12:38:46-084 {initNetServer :071} binding to host:127.0.0.1, port:3893
RKSockServer 12:38:46-084 {initNetServer :093} sock server initialize succeed
rt_pthread 12:38:46-097 {setPriority :424} setpriority from pthread failed!
rk-debug init version=3.78,args[16,16,0], threadId=547464176048
arm_release_ver: g13p0-01eac0, rk_so_ver: 3
rk-debug setupGraphicsRenderRGB [6,1,0,0]
rk-debug setupGraphicsRenderRGB [9,1,0,-1]
rt_pthread 12:38:46-247 {setPriority :424} setpriority from pthread failed!
rk-debug init version=3.78,args[16,16,0], threadId=547339891120
rk-debug setupGraphicsRenderRGB [6,1,0,0]
rk-debug setupGraphicsRenderRGB [9,1,0,-1]
cmpi 12:38:46-353 {main :2586} ctx.ui…

RTAllocatorStore 12:38:46-353 {fetchCommAllocator:153} create common allocator[0x557e75c210], type 0, flag 0
cmpi 12:38:46-361 {Sample_VO_GetPictu:1162} 1920x1080 1920x1080

cmpi 12:38:46-369 {Sample_VO_GetPictu:1162} 1920x1080 1920x1080

cmpi 12:38:46-370 {Sample_VO_Demo_UI :1786} Single HDMI Screen UI Demo test
cmpi 12:38:46-370 {Sample_VO_Demo_UI :1796} 1.2…
drm_get_vo_type connector 18 1 out of vo intf type range
drm_event 12:38:46-894 {drm_event_thread :306} event thread start
mpi_vo 12:38:46-899 {vo_init :137} vo version 0.01t compiled Sep 7 2022 21:05:13
cmpi 12:38:46-900 {Sample_VO_Demo_UI :1806} 1.3…
cmpi 12:38:46-900 {Sample_VO_Demo_UI :1808} 1.4…
cmpi 12:38:46-900 {Sample_VO_StartDev:1391} 1.10…
cmpi 12:38:46-900 {Sample_VO_StartDev:1394} 1.11…
drm_output_create not found enough vo interface 8000
cmpi 12:38:46-900 {Sample_VO_StartDev:1401} 1.13…
cmpi 12:38:46-900 {Sample_VO_StartDev:1402} 2684977170
cmpi 12:38:46-900 {Sample_VO_StartDev:1404} 1.14RK_FAILURE…
cmpi 12:38:46-900 {Sample_VO_Demo_UI :1810} 1.5…
mpi_vo 12:38:46-900 {RK_MPI_VO_SetLayer:902} Layer 3 binded VoDev 3 is not enabled
cmpi 12:38:46-900 {Sample_VO_Demo_UI :1820} 1.6…
mpi_vo 12:38:56-903 {RK_MPI_VO_DisableL:1093} layer 3 had already been diabled
drm_event 12:38:57-907 {drm_event_thread :333} drm event thread exit
cmpi 12:38:57-908 {main :2595} test running ok.

备注:Video Port1可以正常使用,通过HDMI类型调用,正常出图象。Video Port3会出错,这是为什么呢?

tchip_askquestions
log.zip (1.31 KB)

Hi:
请问原因是什么?问题解决了吗?