imx8qxp dual display HDMI and LVDS

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8qxp dual display HDMI and LVDS

2,257 Views
flame_knight000
Contributor I

我们现在在使用的芯片是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就可以达到异显的效果?

希望能帮忙给些建议,谢谢!

0 Kudos
12 Replies

2,249 Views
joanxie
NXP TechSupport
NXP TechSupport

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

 

0 Kudos

2,243 Views
flame_knight000
Contributor I
@ joanxie 非常感谢回复,那么如何通过gpu来实现双屏异显呢?请指教
0 Kudos

2,210 Views
joanxie
NXP TechSupport
NXP TechSupport

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

0 Kudos

2,203 Views
flame_knight000
Contributor I

@joanxie 

非常感谢您的回复!

按照您提供的命令进行了测试:

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"

0 Kudos

2,181 Views
joanxie
NXP TechSupport
NXP TechSupport

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

0 Kudos

2,168 Views
flame_knight000
Contributor I

@joanxie 

感谢您的回复!

那也就是说只能通过鼠标的定位来实现双屏显示,可以认为是以扩展屏的方式实现吗?

另外,imx8qxp和imx8qm在显示模块方面是存在差异的是吗?能提供一下详细的说明文档吗?谢谢

0 Kudos

2,164 Views
joanxie
NXP TechSupport
NXP TechSupport

yes you're right, this is extend display mode, imx8qm should be same as imx8qxp , sorry we don't have such official document

 

 

0 Kudos

2,160 Views
flame_knight000
Contributor I

@joanxie 

那么imx8哪个系列的芯片可以实现复制功能的多屏异显呢?

0 Kudos

2,145 Views
joanxie
NXP TechSupport
NXP TechSupport

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,

"https://community.nxp.com/t5/i-MX-Processors-Knowledge-Base/i-mx8M-EVK-board-encoder-and-decoder/ta-..."

 for the latest bsp, try to use the command I sent to you before

 

0 Kudos

2,141 Views
flame_knight000
Contributor I

@joanxie 

您好!还是有个问题想请教一下:

关于imx8q系列和imx8m系列在显示模块部分有什么区别吗?

0 Kudos

2,135 Views
joanxie
NXP TechSupport
NXP TechSupport

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

0 Kudos

2,143 Views
flame_knight000
Contributor I

非常感谢!

0 Kudos