Dual display (extended mode) with weston and IMX8MQEVK board

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

Dual display (extended mode) with weston and IMX8MQEVK board

Jump to solution
6,980 Views
dylan_laduranty
Contributor I

Hello,

I would like to use the IMX8MQEVK board in a dual screen configuration using Weston with one screen on the HDMI port and the other on MIPI-DSI port using MIPI-DSI <-> HDMI converter.

I did not manage to setup the second screen properly on Weston with the lastest NXP BSP (5.4.70_2.3.0), so I cannot do cloned or extended mode. Am I missing something or is it impossible to do in the current state ?

Also, will I have more chance to setup this configuration using a mainline kernel + etnaviv GPU driver ?

Regards,

Labels (1)
0 Kudos
1 Solution
6,954 Views
gary_bisson
Senior Contributor III

Hi,

Extended desktop is not possible using the i.MX 8M Quad CPU because it uses 2 different DRM/KMS devices (imx-dcss + mxsfb-drm) which isn't supported by Weston.

The only thing you can do is having a Desktop environment on 1 display is use the 2nd one as kmssink. That is why the dual display demo only shows playing a video on second display:

https://www.nxp.com/video/dual-displays-with-i-mx-8m-evaluation-kit:iMX8M-DUAL

To achieve what you are trying to do, I suggest looking into the i.MX 8M Plus which should be available in March:

https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-proces...

Here is a demo of the extended display on Nitrogen8MP:

https://www.youtube.com/watch?v=Hgo6nLHyg6A

Regards,

Gary

View solution in original post

8 Replies
6,969 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

1.BSP (5.4.70_2.3.0) is our latest stable version.

2.Default dtb is not support dual display, we have dual.dtb in kernel, you must set it.

 

BR

Zhiming

0 Kudos
6,963 Views
dylan_laduranty
Contributor I

Sorry I should have said that I am using the dual-display.dtb already.

Both screens are listed as /dev/dri/card0 and /dev/dri/card1.

Unfortunately the second screen is not accessible as I want.

For example, I would like to open a terminal on screen 1 and drag it to screen 2 as we can do on a computer with 2 screens in extended mode.

For now, the only thing I can do with the second display, is to play a video on it using Gstreamer but that's not my use case.

Regards,

0 Kudos
6,950 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

For extend screen ,you need disable dual.dtb, and try like this:

•Extended desktop is an interesting approach, as 2 screen framebuffers will be combined into a single one that will be shown across multiple displays.

•This functionality is only supported using the GAL2D blitter, in order to enable a multiple desktop approach, you need to pass the following parameters to your weston command:

•/etc/init.d/weston stop

•echo 0 > /sys/class/graphics/fb4/blank

•weston --tty=1 --use-gal2d=1 --use-gl=0 --device=/dev/fb0,/dev/fb4 &

•With this, 2 contiguous surfaces will be created, and the gal2d compositor will output the 2 main buffers to their respective display. And when a surface is shared between the 2 displays, the compositor will divide it so a fragment of each screen is shown on each buffer.

 

BR

0 Kudos
6,940 Views
gary_bisson
Senior Contributor III

Hi,

Interesting... However are you sure your commands do not only apply to i.MX6?

I doubt this will work on i.MX 8M Quad as it doesn't have any 2D GPU.

https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-proces...

Regards,

Gary

0 Kudos
6,935 Views
Zhiming_Liu
NXP TechSupport
NXP TechSupport

Hi

 

In Linux_Reference_Manual.pdf,chapter 5.2.4,you can see how to realize the multi display and GPU 3D  is only to accelerate GL in some 3D scene and in 2D scene like shell terminal is was use the 2D GPU.So the 3D GPU must have 2D component 

 

BR

0 Kudos
6,933 Views
gary_bisson
Senior Contributor III

Hi,

Sorry to insist, but I suggest you circle back internally on this.

The i.MX 8M Quad does NOT have a 2D GPU. That is why in Yocto NXP disables g2d by default and only enables it for platforms that do have one:

https://github.com/Freescale/meta-freescale/blob/master/recipes-graphics/wayland/weston-init/imx/wes...

https://github.com/Freescale/meta-freescale/blob/master/recipes-graphics/wayland/weston-init.bbappen...

You can also see it here where imxgpu2d is only defined for CPU that support it:

https://github.com/Freescale/meta-freescale/blob/master/conf/machine/include/imx-base.inc#L107

Regards,

Gary

 

0 Kudos
6,918 Views
dylan_laduranty
Contributor I

Hi,

I guess @gary_bisson  is right and I will not be able to setup a extended dual-display configuration as I wanted with this board.

Nevertheless, I tried the given commands by @Zhiming_Liu  but it failed. Weston didn't start with --use-gal2d=1 --use-gl=0 arguments.

Thanks for your time and explanations !

0 Kudos
6,955 Views
gary_bisson
Senior Contributor III

Hi,

Extended desktop is not possible using the i.MX 8M Quad CPU because it uses 2 different DRM/KMS devices (imx-dcss + mxsfb-drm) which isn't supported by Weston.

The only thing you can do is having a Desktop environment on 1 display is use the 2nd one as kmssink. That is why the dual display demo only shows playing a video on second display:

https://www.nxp.com/video/dual-displays-with-i-mx-8m-evaluation-kit:iMX8M-DUAL

To achieve what you are trying to do, I suggest looking into the i.MX 8M Plus which should be available in March:

https://www.nxp.com/products/processors-and-microcontrollers/arm-processors/i-mx-applications-proces...

Here is a demo of the extended display on Nitrogen8MP:

https://www.youtube.com/watch?v=Hgo6nLHyg6A

Regards,

Gary