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

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

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

14,376 Views
tan-k
Contributor III

Hi,

We are testing i.MX8 with below environment.

[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.
---------------------------------------------------------
sources\meta-imx\meta-bsp\recipes-graphics\wayland\weston_9.0.0.imx.bbappend
#Add two lines.
DEPENDS += "freerdp"
EXTRA_OEMESON += "-Dbackend-rdp=true"
---------------------------------------------------------
Also, we edited weston.ini
---------------------------------------------------------
[core]
#gbm-format=argb8888
idle-time=0
use-g2d=1
xwayland=true
repaint-window=16
#enable-overlay-view=1
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.
weston.log
---------------------------------------------------------
[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
Reply
9 Replies

6,951 Views
prashantdivate
Contributor II

Hi @tan-k @romainmoura 
I succeeded in remotely access wayland application using RDP client in yocto environment

FYI- 
full article
https://medium.com/@prashant-divate/remotely-accessing-wayland-based-applications-using-rdp-client-i...

addressed in meta layer
https://github.com/prashantdivate/meta-sirius/tree/master

Tags (4)
0 Kudos
Reply

11,337 Views
inetronic
Contributor I

Hi,

we had the same problem. Black remote screen with "use-g2d=1".

Uncomment it:

#use-g2d=1 

With our hardware it works (slower because no 2D graphic accel.)

0 Kudos
Reply

14,370 Views
Bio_TICFSL
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:
[screen-share]
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.

 

Regards

0 Kudos
Reply

14,359 Views
tan-k
Contributor III

Hi,

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
Reply

7,199 Views
himanshubhavani
Contributor I
Hi
Have you found any solution ?
0 Kudos
Reply

12,085 Views
danix2k
Contributor I

Hi @tan-k ,

I'm having the same behavior. How did you resolve that? I need to change something else in other conf file?

Thanks

0 Kudos
Reply

8,348 Views
romainmoura
Contributor II
Hello,
Same issue :
Screen share failed: No wl_shm found
Did someone find how to resolve it ?

Thanks
0 Kudos
Reply

6,856 Views
prashantdivate
Contributor II

Hello @romainmoura 

It looks like the screen-share module cannot find globals like `wl_compositor` and `wl_shm`, and screen sharing failed. So please add desktop shell in weston.ini file

0 Kudos
Reply

6,843 Views
romainmoura
Contributor II

hello,

Thanks for your reply.

I fixed the issue a will ago, sorry for not posting the solution. I think there was issue in the weston.ini file. Here is mine which is working now :

romainmoura_0-1698564337909.png

Best regards

0 Kudos
Reply