[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,372 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,947 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,333 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,366 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,355 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,195 Views
himanshubhavani
Contributor I
Hi
Have you found any solution ?
0 Kudos
Reply

12,081 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,344 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,852 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,839 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