Weston has RDP backend support. This can be used e.g. for screen mirroring.
Add PACKAGECONFIG so it can be enabled by the user. By default, this is not
enabled, to retain the old behavior of the recipe.

Below is an example testcase of using the RDP backend for screen mirroring,
i.e. two devices display the same content across ethernet link, input on
either is passed across the link.

- Add the following to weston.ini:
  [core]
  modules=screen-share.so
  screen-share=true
  [screen-share]
  command=/usr/bin/weston --backend=rdp-backend.so --shell=fullscreen-shell.so 
--no-clients-resize --rdp-tls-cert=/path/to/board.crt 
--rdp-tls-key=/path/to/board.key --no-config

- Generate keys on the board (the board.key and board.crt above):
  $ winpr-makecert -rdp -path /path/to/

- Restart weston on the board. To start screen sharing, press
  Ctrl-Alt-S
  on the keyboard (see weston compositor/screen-share.c).

- Connect to the weston using freerdp, e.g.:
  $ xfreerdp /v:192.168.1.300

Signed-off-by: Marek Vasut <[email protected]>
Cc: Joshua Watt <[email protected]>
Cc: Khem Raj <[email protected]>
Cc: Richard Purdie <[email protected]>
---
NOTE: I didn't find any example of setting up the screen mirroring,
      so I hope this example will be useful to someone.
---
 meta/recipes-graphics/wayland/weston_9.0.0.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-graphics/wayland/weston_9.0.0.bb 
b/meta/recipes-graphics/wayland/weston_9.0.0.bb
index fbf181b4a6..295cddc57d 100644
--- a/meta/recipes-graphics/wayland/weston_9.0.0.bb
+++ b/meta/recipes-graphics/wayland/weston_9.0.0.bb
@@ -32,7 +32,7 @@ LDFLAGS += "${@bb.utils.contains('DISTRO_FEATURES', 'lto', 
'-Wl,-z,undefs', '',
 
 WESTON_MAJOR_VERSION = "${@'.'.join(d.getVar('PV').split('.')[0:1])}"
 
-EXTRA_OEMESON += "-Dbackend-default=auto -Dbackend-rdp=false -Dpipewire=false"
+EXTRA_OEMESON += "-Dbackend-default=auto -Dpipewire=false"
 
 PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'kms 
fbdev wayland egl clients', '', d)} \
                    ${@bb.utils.contains('DISTRO_FEATURES', 'x11 wayland', 
'xwayland', '', d)} \
@@ -58,6 +58,8 @@ PACKAGECONFIG[x11] = 
"-Dbackend-x11=true,-Dbackend-x11=false,virtual/libx11 libx
 PACKAGECONFIG[headless] = "-Dbackend-headless=true,-Dbackend-headless=false"
 # Weston on framebuffer
 PACKAGECONFIG[fbdev] = "-Dbackend-fbdev=true,-Dbackend-fbdev=false,udev mtdev"
+# Weston on RDP
+PACKAGECONFIG[rdp] = "-Dbackend-rdp=true,-Dbackend-rdp=false,freerdp"
 # weston-launch
 PACKAGECONFIG[launch] = "-Dweston-launch=true,-Dweston-launch=false,drm"
 # VA-API desktop recorder
-- 
2.33.0

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#155489): 
https://lists.openembedded.org/g/openembedded-core/message/155489
Mute This Topic: https://lists.openembedded.org/mt/85250120/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to