[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.

9,874 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
9 Replies

2,449 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

6,835 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

9,868 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

9,857 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

2,697 Views
himanshubhavani
Contributor I
Hi
Have you found any solution ?
0 Kudos

7,583 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

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

Thanks
0 Kudos

2,354 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

2,341 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