[i.MX8] How to share screen on Weston.

Showing results for 
Search instead for 
Did you mean: 

[i.MX8] How to share screen on Weston.

Contributor III


We are testing i.MX8 with below environment.

Evaluation Kit : 8MMINILPD4-EVK (Connect HDMI cable, USB keyboard and USB mouse.)
Linux for i.MX : Linux 5.10.9_1.0.0

We would like to share output screen.
So, we add as below to build rdp-backend.so.
#Add two lines.
DEPENDS += "freerdp"
EXTRA_OEMESON += "-Dbackend-rdp=true"
Also, we edited weston.ini
modules=screen-share.so <-- Add this line.
We enter "Ctrl + Alt + S" key.
This is short cut key of Weston to share screen.
However we got the error message as below.
[05:47:47.435] Loading module '/usr/lib/weston/screen-share.so'
[05:47:47.440] Loading module '/usr/lib/weston/systemd-notify.so'
[05:47:47.440] info: add 1 socket(s) provided by systemd
[05:47:47.444] Loading module '/usr/lib/libweston-9/xwayland.so'
[05:47:47.649] Registered plugin API 'weston_xwayland_v1' of size 32
[05:47:47.649] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[05:47:47.649] xserver listening on display :0
[05:47:47.649] launching '/usr/libexec/weston-desktop-shell'
[05:48:23.963] Screen share failed: No wl_shm found <-- Error message! What is this reason?
[05:48:23.963] unknown child process exited
How can I share the screen on Weston?

Any help would be appreciated.

Thank you.

Best regards,

0 Kudos
2 Replies

NXP TechSupport
NXP TechSupport

Hello tan-k

The screen share should be supported on imx platform with wayland backend.  At least I know there are customers used this features on imx6q

Here is how they did it on imx6 for your reference.  Hope it helps.

Remote Desktop: How-To

weston -imx should be built with rdp-compositor and screen sharing enabled :
add --enable-screen-sharing and --enable-rdp-compositor to the weston configs
The rdp-compositor has a dependency to freerdp.
On target:
1/ Install the freerdp package on target : Make sure you have the TLS certificate/key couple server.crt and server.key (generally : at /etc/freerdp/keys)
2/ the command to fork a compositor with the rdp backend should be written in the weston.ini
(make sure to export HOME) :
at $HOME/.config/weston.ini add the following:
command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so --no-clients-resize --rdp-tls-cert=/etc/freerdp/keys/server.crt --rdp-tls-key=/etc/freerdp/keys/server.key

2/ launch weston with the following command :

weston --tty=2 --backend=fbdev-backend.so --modules=screen-share.so --use-gl=1

3/ In order to do remote desktop with the screen-sharing a keyboard and a mouse should be connected to target:
when the compositor is up : do the ctrl+alt+s to fork the new compositor with rdp-backend that will share the screen through RDP

On Host:
launch an rdp client : on X e.g xfreerdp :
xfreerdp <target ip address>

When launching weston with the gl-renderer you should get the same desktop in your remote host.



0 Kudos

Contributor III


Thank you for your information!

We already set "screen-share" item in weston.ini (Attached our file) and load "screen-share.so".
Also we have the TLS certificate/key couple server.crt and server.key.
Do the ctrl+alt+s, then the new compositor failed with the error of "Screen share failed: No wl_shm found".
We changed "ExecStart" item in weston.service file (Attached our file).
Then we can connect remote desktop by using xfreerdp normally.
But the desktop is not shown on display.

We would like to get the same desktop in my remote host.
Do you have any solutions?

Best regards,

0 Kudos