我们现在在使用的芯片是IMX8QXP-C0,目前遇到的问题是希望可以HDMI和LVDS双屏异显
HDMI输出用的是demo板的设计方案;
LVDS屏是dts挂接在ldb2上,在panel-simple.c中加入了对应时序并也已经可以正常输出图像
但在两个屏链接的时候会出现一下问题:
1.同时连接,两个屏显示同一个桌面,运行Qt5_CinematicExperience验证为同屏,通过log发现是仅链接了一个fb0
2.单连任何一个屏都可以正常显示,log中只有Console: switching to colour frame buffer device %dx%d的尺寸会变
3.没有屏链接,也可以生成并连接出一个fb0
请问正常情况下是否应该生成并连接出fb1就可以达到异显的效果?
希望能帮忙给些建议,谢谢!
I haven't tested Qt5_CinematicExperience, but gstreamer should work, Frame buffer drivers are supported for i.MX 6 and i.MX 7 but not for i.MX 8. imx8qxp should use gpu to do this job, not frame buffer driver
try to use the command like this:
gplay-1.0 /unit_tests/test1.mp4 --video-sink="kmssink driver-name=imx-dcss" & gplay-1.0 /unit_tests/test2.mp4, the path and mp4 name you can change
非常感谢您的回复!
按照您提供的命令进行了测试:
gplay-1.0 /unit_tests/402.mp4 --video-sink="kmssink driver-name=imx-dcss" & gplay-1.0 /unit_tests/badminton.mp4
结果是只有HDMI屏显示了test2.mp4,而LVDS没有播放视频test1.mp4
log信息如下:
FSL_GPLAY2_01.00_LINUX build on Aug 5 2019 09:16:43
FSL_GPLAY2_01.00_LINUX build on Aug 5 2019 09:16:43
Set VideoSink kmssink driver-name=imx-dcss
Set VideoSink imxvideoconvert_g2d ! queue ! waylandsink
Set TextSink fakesink
Set TextSink fakesink
=========== fsl_player_play() ==================
FSL_GPLAY2_01.00_LINUX build on Aug 5 2019 09:16:43
[h]display the operation Help
[p]Play
[s]Stop
[e]Seek
[a]Pause when playing, play when paused
[v]Volume
[m]Switch to mute or not
[>]Play next file
[<]Play previous file
[r]Switch to repeated mode or not
[u]Select the video track
[d]Select the audio track
[b]Select the subtitle track
[f]Set full screen
[z]resize the width and height
[t]Rotate
[c]Setting play rate
[i]Display the metadata
[x]eXit
State changed: buffering
ERROR Failed to play for /unit_tests/402.mp4
getNextItem No next item!
No more media file, exit gplay!
State changed: stopped
FSL_PLAYER_UI_MSG_EXIT
Exit display thread
Exit input thread
fsl_player_deinit
====== AIUR: 4.4.5 build on Aug 5 2019 09:16:12. ======
Core: MPEG4PARSER_06.16.01 build on Dec 11 2018 03:04:17
file: /usr/lib/imx-mm/parser/lib_mp4_parser_arm_elinux.so.3.2
------------------------
Track 00 [video_0] Enabled
Duration: 0:03:41.833333000
Language: und
Mime:
video/x-h264, parsed=(boolean)true, alignment=(string)au, stream-format= (string)avc, width=(int)640, height=(int)368, framerate=(fraction)30/1, codec_da ta=(buffer)0164001effe1000f2764001eac56c0a02fa6a02020204001000428ee3cb0fdf8f800
------------------------
------------------------
Track 01 [audio_0] Enabled
Duration: 0:03:41.889886000
Language: und
Mime:
audio/mpeg, mpegversion=(int)4, channels=(int)1, rate=(int)44100, bitrat e=(int)48000, stream-format=(string)raw, codec_data=(buffer)1208
------------------------
====== BEEP: 4.4.5 build on Aug 5 2019 09:16:20. ======
Core: AAC decoder Wrapper build on Dec 7 2017 18:13:51
file: /usr/lib/imx-mm/audio-codec/wrap/lib_aacd_wrap_arm_elinux.so.3
CODEC: BLN_MAD-MMCODECS_AACD_ARM_03.09.00_ARMV8 build on Sep 20 2017 15:02:50.
[ 195.975487] : mxc_pcsi_s_power, No remote pad found!
[ 195.980526] (null): mxc_isi_capture_open, Call subdev s_power fail!
[ 196.038375] [VPU Decoder] firmware version is 1.3.1
===!!! Current pulsesink device is alsa_output.platform-sound-[ 196.234620] [VP U Decoder] ErrorAddr:[0] Start(0xa740051a), End(0x0), preEnd(0x0)
amix-sai.analog-mono !!!===
[ 196.246861] [VPU Decoder] ErrorAddr:[0] Start(0xa7400592), End(0x0), preEnd(0 x0)
[ 196.254874] [VPU Decoder] ErrorAddr:[0] Start(0xa74009ba), End(0x0), preEnd(0 x0)
[ 196.262479] [VPU Decoder] ErrorAddr:[0] Start(0xa74012fe), End(0x0), preEnd(0 x0)
[ 196.270114] [VPU Decoder] ErrorAddr:[0] Start(0xa7401457), End(0x0), preEnd(0 x0)
[ 196.277764] [VPU Decoder] ErrorAddr:[0] Start(0xa7401ca2), End(0x0), preEnd(0 x0)
[ 196.285844] [VPU Decoder] ErrorAddr:[0] Start(0xa7401fd4), End(0x0), preEnd(0 x0)
[ 196.294161] [VPU Decoder] ErrorAddr:[0] Start(0xa74027e7), End(0x0), preEnd(0 x0)
[ 196.301948] [VPU Decoder] ErrorAddr:[0] Start(0xa7402bc0), End(0x0), preEnd(0 x0)
[ 196.310122] [VPU Decoder] ErrorAddr:[0] Start(0xa740394b), End(0x0), preEnd(0 x0)
[ 196.317875] [VPU Decoder] ErrorAddr:[0] Start(0xa7403d83), End(0x0), preEnd(0 x0)
[ 196.326409] [VPU Decoder] ErrorAddr:[0] Start(0xa7404a15), End(0x0), preEnd(0 x0)
[ 196.334598] [VPU Decoder] ErrorAddr:[0] Start(0xa7404fac), End(0x0), preEnd(0 x0)
[Stop (No Repeated)][Vol=1.0][00:00:00/00:03:41][ 196.342216] [VPU Decoder] Err orAddr:[0] Start(0xa7405bf4), End(0x0), preEnd(0x0)
=========== fsl_player_play() ==================
FSL_GPLAY2_01.00_LINUX build on Aug 5 2019 09:16:43
[h]display the operation Help
[p]Play
[s]Stop
[e]Seek
[a]Pause when playing, play when paused
[v]Volume
[m]Switch to mute or not
[>]Play next file
[<]Play previous file
[r]Switch to repeated mode or not
[u]Select the video track
[d]Select the audio track
[b]Select the subtitle track
[f]Set full screen
[z]resize the width and height
[t]Rotate
[c]Setting play rate
[i]Display the metadata
[x]eXit
State changed: buff[ 196.399008] [VPU Decoder] ErrorAddr:[0] Start(0xa7406199), End(0x0), preEnd(0x0)
ering
State changed: playing
[ 196.449131] [VPU Decoder] ErrorAddr:[0] Start(0xa740703f), End(0x0), preEnd(0 x0)
[ 196.465619] [VPU Decoder] ErrorAddr:[0] Start(0xa7407595), End(0x0), preEnd(0 x0)
[ 196.499037] [VPU Decoder] ErrorAddr:[0] Start(0xa74086f5), End(0x0), preEnd(0 x0)
[ 196.531926] [VPU Decoder] ErrorAddr:[0] Start(0xa7408fa6), End(0x0), preEnd(0 x0)
[ 196.565888] [VPU Decoder] ErrorAddr:[0] Start(0xa7409a7c), End(0x0), preEnd(0 x0)
[ 196.598968] [VPU Decoder] ErrorAddr:[0] Start(0xa7409fe3), End(0x0), preEnd(0 x0)
[ 196.632425] [VPU Decoder] ErrorAddr:[0] Start(0xa740adb7), End(0x0), preEnd(0 x0)
[ 196.664627] [VPU Decoder] ErrorAddr:[0] Start(0xa740b2c9), End(0x0), preEnd(0 x0)
[ 196.699085] [VPU Decoder] ErrorAddr:[0] Start(0xa740c7c4), End(0x0), preEnd(0 x0)
[ 196.730764] [VPU Decoder] ErrorAddr:[0] Start(0xa740cf8c), End(0x0), preEnd(0 x0)
[ 196.764614] [VPU Decoder] ErrorAddr:[0] Start(0xa740db2b), End(0x0), preEnd(0 x0)
[ 196.797841] [VPU Decoder] ErrorAddr:[0] Start(0xa740e09c), End(0x0), preEnd(0 x0)
[ 196.831287] [VPU Decoder] ErrorAddr:[0] Start(0xa740f509), End(0x0), preEnd(0 x0)
[ 196.864560] [VPU Decoder] ErrorAddr:[0] Start(0xa740f8d4), End(0x0), preEnd(0 x0)
[ 196.897956] [VPU Decoder] ErrorAddr:[0] Start(0xa7410bba), End(0x0), preEnd(0 x0)
[ 196.930755] [VPU Decoder] ErrorAddr:[0] Start(0xa7410fe4), End(0x0), preEnd(0 x0)
[ 196.964641] [VPU Decoder] ErrorAddr:[0] Start(0xa7411b17), End(0x0), preEnd(0 x0)
[ 196.997427] [VPU Decoder] ErrorAddr:[0] Start(0xa7411eb0), End(0x0), preEnd(0 x0)
[ 197.031137] [VPU Decoder] ErrorAddr:[0] Start(0xa7412ee7), End(0x0), preEnd(0 x0)
[ 197.064549] [VPU Decoder] ErrorAddr:[0] Start(0xa74132f7), End(0x0), preEnd(0 x0)
[ 197.097914] [VPU Decoder] ErrorAddr:[0] Start(0xa741435b), End(0x0), preEnd(0 x0)
[ 197.131152] [VPU Decoder] ErrorAddr:[0] Start(0xa7414881), End(0x0), preEnd(0 x0)
[ 197.164666] [VPU Decoder] ErrorAddr:[0] Start(0xa74153a2), End(0x0), preEnd(0 x0)
[ 197.197385] [VPU Decoder] ErrorAddr:[0] Start(0xa74156a9), End(0x0), preEnd(0 x0)
[ 197.231211] [VPU Decoder] ErrorAddr:[0] Start(0xa74162ef), End(0x0), preEnd(0 x0)
[ 197.264623] [VPU Decoder] ErrorAddr:[0] Start(0xa741664a), End(0x0), preEnd(0 x0)
[ 197.297930] [VPU Decoder] ErrorAddr:[0] Start(0xa74176e9), End(0x0), preEnd(0 x0)
[ 197.331207] [VPU Decoder] ErrorAddr:[0] Start(0xa7417b54), End(0x0), preEnd(0 x0)
[Playing (No Repeated)][Vol=1.0][00:00:01/00:03:41][ 197.364641] [VPU Decoder] ErrorAddr:[0] Start(0xa7418572), End(0x0), preEnd(0x0)
[ 197.397444] [VPU Decoder] ErrorAddr:[0] Start(0xa741891f), End(0x0), preEnd(0 x0)
[ 197.431233] [VPU Decoder] ErrorAddr:[0] Start(0xa74194e4), End(0x0), preEnd(0 x0)
[ 197.464146] [VPU Decoder] ErrorAddr:[0] Start(0xa7419834), End(0x0), preEnd(0 x0)
[ 197.497910] [VPU Decoder] ErrorAddr:[0] Start(0xa741aced), End(0x0), preEnd(0 x0)
[ 197.530678] [VPU Decoder] ErrorAddr:[0] Start(0xa741b1a7), End(0x0), preEnd(0 x0)
[ 197.564687] [VPU Decoder] ErrorAddr:[0] Start(0xa741bc83), End(0x0), preEnd(0 x0)
[ 197.597927] [VPU Decoder] ErrorAddr:[0] Start(0xa741bf84), End(0x0), preEnd(0 x0)
[ 197.631172] [VPU Decoder] ErrorAddr:[0] Start(0xa741cc28), End(0x0), preEnd(0 x0)
[ 197.664564] [VPU Decoder] ErrorAddr:[0] Start(0xa741cf5e), End(0x0), preEnd(0 x0)
[ 197.697896] [VPU Decoder] ErrorAddr:[0] Start(0xa741dfe0), End(0x0), preEnd(0 x0)
[ 197.731182] [VPU Decoder] ErrorAddr:[0] Start(0xa741e36c), End(0x0), preEnd(0 x0)
[ 197.764551] [VPU Decoder] ErrorAddr:[0] Start(0xa741ee15), End(0x0), preEnd(0 x0)
[ 197.797434] [VPU Decoder] ErrorAddr:[0] Start(0xa741f1d3), End(0x0), preEnd(0 x0)
[ 197.831203] [VPU Decoder] ErrorAddr:[0] Start(0xa741fcd7), End(0x0), preEnd(0 x0)
[ 197.864565] [VPU Decoder] ErrorAddr:[0] Start(0xa74200c5), End(0x0), preEnd(0 x0)
[ 197.897932] [VPU Decoder] ErrorAddr:[0] Start(0xa7421872), End(0x0), preEnd(0 x0)
[ 197.930722] [VPU Decoder] ErrorAddr:[0] Start(0xa7421ccf), End(0x0), preEnd(0 x0)
^C Aborted by signal[2] Interrupt...
FSL_PLAYER_UI_MSG_EXIT
[ 197.964766] [VPU Decoder] ErrorAddr:[0] Start(0xa7422b45), End(0x0), preEnd(0 x0)
[ 197.997433] [VPU Decoder] ErrorAddr:[0] Start(0xa7422f0a), End(0x0), preEnd(0 x0)
[ 198.031252] [VPU Decoder] ErrorAddr:[0] Start(0xa7423ac8), End(0x0), preEnd(0 x0)
[ 198.064063] [VPU Decoder] ErrorAddr:[0] Start(0xa7423ca1), End(0x0), preEnd(0 x0)
[ 198.097957] [VPU Decoder] ErrorAddr:[0] Start(0xa7424fce), End(0x0), preEnd(0 x0)
[ 198.131209] [VPU Decoder] ErrorAddr:[0] Start(0xa74253a5), End(0x0), preEnd(0 x0)
[ 198.165309] [VPU Decoder] ErrorAddr:[0] Start(0xa7425efd), End(0x0), preEnd(0 x0)
[ 198.197870] [VPU Decoder] ErrorAddr:[0] Start(0xa7426360), End(0x0), preEnd(0 x0)
[ 198.231241] [VPU Decoder] ErrorAddr:[0] Start(0xa7426c9f), End(0x0), preEnd(0 x0)
[ 198.264302] [VPU Decoder] ErrorAddr:[0] Start(0xa7426fdb), End(0x0), preEnd(0 x0)
[ 198.297975] [VPU Decoder] ErrorAddr:[0] Start(0xa7428315), End(0x0), preEnd(0 x0)
[ 198.331097] [VPU Decoder] ErrorAddr:[0] Start(0xa74286e8), End(0x0), preEnd(0 x0)
Exit display thread
[ 198.365856] [VPU Decoder] ErrorAddr:[0] Start(0xa7429456), End(0x0), preEnd(0 x0)
Total showed frames (63), playing for (0:00:02.012299000), fps (3[ 198.373386] [VPU Decoder] ErrorAddr:[0] Start(0xa7429888), End(0x0), preEnd(0x0)
1.307).
[ 198.389135] [VPU Decoder] ErrorAddr:[0] Start(0xa742a091), End(0x0), preEnd(0 x0)
[ 198.396713] [VPU Decoder] ErrorAddr:[0] Start(0xa742a34f), End(0x0), preEnd(0 x0)
[ 198.404273] [VPU Decoder] ErrorAddr:[0] Start(0xa742ade7), End(0x0), preEnd(0 x0)
fsl_player_deinit
[1]+ Done gplay-1.0 /unit_tests/402.mp4 --video-sink="kmssin k driver-name=imx-dcss"
sorry, I thought you use imx8mq, this command is for imx8mq, for imx8qxp, you need to use mouse to enable dual display, I tested on my imx8qxp C0 board just now, my test steps are:
1) when you board boot up, you use the command gply-1.0 test1.mp4 to playback on one display
2) move your mouse to the second display, open the wayland command on the top left corner, then use the gplay-1.0 test2.mp4 to playback the another video on the second display
don't forget connect mouse and keyboard with your imx8qxp board
感谢您的回复!
那也就是说只能通过鼠标的定位来实现双屏显示,可以认为是以扩展屏的方式实现吗?
另外,imx8qxp和imx8qm在显示模块方面是存在差异的是吗?能提供一下详细的说明文档吗?谢谢
yes you're right, this is extend display mode, imx8qm should be same as imx8qxp , sorry we don't have such official document
那么imx8哪个系列的芯片可以实现复制功能的多屏异显呢?
you can use the imx8mq or imx8mm, I have tested on the imx8mq, you can refer to my document as below if you use old bsp,
for the latest bsp, try to use the command I sent to you before
i.mx8mq uses the different DSI IP from imx8mm, imx8mm board only has one mipi dsi port, so I haven't tested dual display on imx8mm board yet
非常感谢!