Explain/document how to enable clipboard sharing with rdp backend
I need to enable clipboard sharing (copy and paste) with rdp protocol between a windows host and a weston instance running in a vm (wsl2).
WSL system:
- native wslg support disabled
- OS debian testing
Linux wsl-Debian 5.15.79.1-microsoft-standard-WSL2 #1 SMP Wed Nov 23 01:01:46 UTC 2022 x86_64 GNU/Linux
- weston version
weston 10.0.1
- weston run (see log below)
Windows remote desktop
- run with mstsc.exe
- clipboard enabled
Copy and paste work in weston between different application
Copy and paste between windows and weston doesn't work
Could someone explain how to enable clipboard sharing between windows host and weston with a rdp backend?
00:00:00.000 [seatd/seat.c:39] Created VT-bound seat seat0
00:00:00.000 [seatd/seatd.c:194] seatd started
Date: 2023-01-02 CET
[18:33:24.869] weston 10.0.1
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 10.0.1
[18:33:24.869] Command line: /usr/bin/weston --backend=rdp-backend.so --config=/home/debian/.devbox/experimental-wayland/wsl-run/weston.ini --logger-scopes=log,rdp-backend --rdp-tls-key=/tmp/weston/key/tls.key --rdp-tls-cert=/tmp/weston/key/tls.crt --port=8081 --xwayland
[18:33:24.869] OS: Linux, 5.15.79.1-microsoft-standard-WSL2, #1 SMP Wed Nov 23 01:01:46 UTC 2022, x86_64
[18:33:24.869] Flight recorder: enabled
[18:33:24.869] Using config file '/home/debian/.devbox/experimental-wayland/wsl-run/weston.ini'
[18:33:24.869] Output repaint window is 7 ms maximum.
[18:33:24.869] Loading module '/usr/lib/x86_64-linux-gnu/libweston-10/rdp-backend.so'
[18:33:24.885] using FreeRDP version 2.9.0
[18:33:24.885] TLS support activated
[18:33:24:008] [15221:15221] [INFO][com.freerdp.core.listener] - Listening on [0.0.0.0]:8081
[18:33:24.886] Registered plugin API 'weston_rdp_output_api_v1' of size 8
[18:33:24.886] Color manager: no-op
[18:33:24.886] Output 'rdp' using color profile: built-in default sRGB SDR profile
[18:33:24.887] Output 'rdp' enabled with head(s) rdp
[18:33:24.887] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: no
cursor planes: no
arbitrary resolutions: yes
view mask clipping: yes
explicit sync: no
color operations: no
presentation clock: CLOCK_MONOTONIC_RAW, id 4
presentation clock resolution: 0.000000001 s
[18:33:24.887] Loading module '/usr/lib/x86_64-linux-gnu/weston/desktop-shell.so'
[18:33:24.887] launching '/usr/lib/x86_64-linux-gnu/weston-keyboard'
[18:33:24.889] Note: support for the deprecated wl_shell interface is disabled. If a legacy client still needs it, it can be re-enabled by passing -Ddeprecated-wl-shell=true to Meson when building Weston.
[18:33:24.889] Loading module '/usr/lib/x86_64-linux-gnu/libweston-10/xwayland.so'
[18:33:24.890] Registered plugin API 'weston_xwayland_v1' of size 32
[18:33:24.890] Registered plugin API 'weston_xwayland_surface_v1' of size 16
[18:33:24.891] xserver listening on display :0
[18:33:24.891] launching '/usr/lib/x86_64-linux-gnu/weston-desktop-shell'
[18:33:35:031] [15221:15221] [DEBUG][com.freerdp.primitives] - primitives benchmark result:
[18:33:36:185] [15221:15221] [DEBUG][com.freerdp.primitives] - * generic= 57
[18:33:36:338] [15221:15221] [DEBUG][com.freerdp.primitives] - * optimized= 100
[18:33:36:338] [15221:15221] [DEBUG][com.freerdp.primitives] - primitives autodetect, using optimized
[18:33:36:341] [15221:15221] [DEBUG][com.freerdp.core.nego] - RDP_NEG_REQ: RequestedProtocol: 0x0000000B
[18:33:36:341] [15221:15221] [INFO][com.freerdp.core.connection] - Client Security: NLA:1 TLS:1 RDP:0
[18:33:36:341] [15221:15221] [INFO][com.freerdp.core.connection] - Server Security: NLA:0 TLS:1 RDP:1
[18:33:36:341] [15221:15221] [INFO][com.freerdp.core.connection] - Negotiated Security: NLA:0 TLS:1 RDP:0
[18:33:36:352] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_INITIAL --> CONNECTION_STATE_NEGO
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - Accepted client: *******
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - Accepted channels:
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - rdpdr
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - rdpsnd
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - cliprdr
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.connection] - drdynvc
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.gcc] - Active rdp encryption level: NONE
[18:33:36:389] [15221:15221] [INFO][com.freerdp.core.gcc] - Selected rdp encryption method: NONE
[18:33:36:389] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_NEGO --> CONNECTION_STATE_MCS_CONNECT
[18:33:36:390] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_MCS_CONNECT --> CONNECTION_STATE_MCS_ERECT_DOMAIN
[18:33:36:430] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_MCS_ERECT_DOMAIN --> CONNECTION_STATE_MCS_ATTACH_USER
[18:33:36:433] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_MCS_ATTACH_USER --> CONNECTION_STATE_RDP_SECURITY_COMMENCEMENT
[18:33:36:576] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_RDP_SECURITY_COMMENCEMENT --> CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE
[18:33:36:576] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_SECURE_SETTINGS_EXCHANGE --> CONNECTION_STATE_LICENSING
[18:33:36:576] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_LICENSING --> CONNECTION_STATE_CAPABILITIES_EXCHANGE
[18:33:36:601] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_CONFIRM_ACTIVE
[18:33:36:601] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_CAPABILITIES_EXCHANGE --> CONNECTION_STATE_FINALIZATION
[18:33:36:601] [15221:15221] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x1f size=37 channelId=1009)
[18:33:36:601] [15221:15221] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x14 size=41 channelId=1009)
[18:33:36:601] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_DATA
[18:33:36:602] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_DATA
[18:33:36:602] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_DATA
[18:33:36:602] [15221:15221] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x14 size=41 channelId=1009)
[18:33:36:603] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_DATA
[18:33:36:603] [15221:15221] [DEBUG][com.freerdp.core.rdp] - rdp_send_data_pdu: sending data (type=0x28 size=41 channelId=1009)
[18:33:36:603] [15221:15221] [DEBUG][com.freerdp.core.connection] - rdp_server_transition_to_state CONNECTION_STATE_FINALIZATION --> CONNECTION_STATE_ACTIVE
[18:33:36.505] kbd_layout:0x20409 kbd_type:0x7 kbd_subType:0x0 kbd_functionKeys:0xc
[18:33:36:834] [15221:15221] [DEBUG][com.freerdp.core.peer] - Received PDU_TYPE_DATA
Edited by Gianluca S.