RDP Backend not working with freeRDP-proxy
Trying to connect to a weston instance with backend=rdp through freerdp-proxy makes it so that nothing is displayed and weston appears to be frozen.
I tested it by first connecting to weston through the proxy and then connecting directly through Remmina, if the proxy connection is the first one that is initiated then I'm not able to connect through Remmina. If I swap the order, I'm able to connect to the weston instance through remmina and then initiate the connection through freerdp-proxy, but even the direct connection get frozen.
From the logs I can't deduce anything as it seems that everything is normal.
Attaching the video of the issue:
Proxy log:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.server] - [main]: freerdp-proxy version info:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.server] - [main]: FreeRDP version: 3.9.1-dev0
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.server] - [main]: Git commit: 08d21e9f0
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Proxy configuration:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Server:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Host: 0.0.0.0
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Port: 3390
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Target:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: TargetHost: 127.0.0.1
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: TargetPort: 3389
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: TargetTlsSecLevel: 1
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Input:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Keyboard: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Mouse: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Multitouch: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Security:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ServerNlaSecurity: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ServerTlsSecurity: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ServerRdpSecurity: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ClientNlaSecurity: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ClientTlsSecurity: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ClientRdpSecurity: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: ClientAllowFallbackToTls: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Channels:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: GFX: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: DisplayControl: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Clipboard: true
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: AudioOutput: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: AudioInput: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: DeviceRedirection: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: VideoRedirection: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: CameraRedirection: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: RemoteApp: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: PassthroughIsBlacklist: false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Static Channels Proxy:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print_list]: - false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Static Channels Proxy-Intercept:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print_list]: - false
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Plugins/Modules:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Plugins/Required:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: Certificates:
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: CertificateFile: /etc/weston/cert.pem
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: CertificateContent: (null)
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: PrivateKeyFile: /etc/weston/key.pem
[11:26:30:854] [30462:000076fe] [INFO][com.freerdp.proxy.config] - [pf_server_config_print]: PrivateKeyContent: (null)
[11:26:30:856] [30462:000076fe] [INFO][com.freerdp.core.listener] - [freerdp_listener_open]: Listening on [0.0.0.0]:3390
[11:26:34:301] [30462:000076fe] [INFO][com.freerdp.core.listener] - [freerdp_peer_set_local_and_hostname]: Accepting client from localhost
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]: *************************************************
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]: This build is using [runtime-check] build options:
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]: * 'WITH_VERBOSE_WINPR_ASSERT=ON'
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]:
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]: [runtime-check] build options might slow down the application
[11:26:34:311] [30462:00007723] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x7c4648000b70]: *************************************************
[11:26:34:313] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_handle_peer]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: new connection: proxy address: 0.0.0.0, client address: 127.0.0.1
[11:26:37:138] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_post_connect]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Accepted client: marco-x1g4
[11:26:37:138] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_setup_channels]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Accepted channel: rdpdr (1004)
[11:26:37:138] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_setup_channels]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Accepted channel: rdpsnd (1005)
[11:26:37:138] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_setup_channels]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Accepted channel: cliprdr (1006)
[11:26:37:138] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_setup_channels]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Accepted channel: drdynvc (1007)
[11:26:37:147] [30462:00007723] [INFO][com.freerdp.proxy.server] - [pf_server_post_connect]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: remote target is 127.0.0.1:3389
[11:26:37:147] [30462:0000772a] [INFO][com.freerdp.proxy.client] - [pf_client_connect]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: connecting using client info: Username: marco, Domain: (null)
[11:26:37:147] [30462:0000772a] [INFO][com.freerdp.proxy.client] - [pf_client_connect]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: connecting using security settings: rdp=0, tls=1, nla=0
[11:26:37:147] [30462:0000772a] [INFO][com.freerdp.proxy.client] - [pf_client_load_channels]: [SessionID=62FD5AA970C89828DF8D2A4A0EF41AC5]: Loading addins
Domain:
Weston log (only proxy connected):
Date: 2024-11-14 CET
[11:26:21.531] weston 14.0.0
https://wayland.freedesktop.org
Bug reports to: https://gitlab.freedesktop.org/wayland/weston/issues/
Build: 14.0.0
[11:26:21.531] Command line: /usr/bin/weston
[11:26:21.531] OS: Linux, 6.8.7-2-cachyos-echo, #1 SMP PREEMPT_DYNAMIC Sat, 20 Apr 2024 15:01:20 +0000, x86_64
[11:26:21.531] Flight recorder: enabled
[11:26:21.531] Using config file '/home/marco/.config/weston.ini'
[11:26:21.531] Output repaint window is 7 ms maximum.
[11:26:21.531] Loading module '/usr/lib64/libweston-14/rdp-backend.so'
[11:26:21.581] using FreeRDP version 3.8.0
[11:26:21.581] Loading module '/usr/lib64/libweston-14/gl-renderer.so'
[11:26:21.600] Using rendering device: /dev/dri/renderD128
[11:26:21.605] EGL version: 1.5
[11:26:21.605] EGL vendor: Mesa Project
[11:26:21.605] EGL client APIs: OpenGL OpenGL_ES
[11:26:21.605] EGL features:
EGL Wayland extension: yes
context priority: yes
buffer age: no
partial update: no
swap buffers with damage: no
configless context: yes
surfaceless context: yes
dmabuf support: modifiers
[11:26:21.607] GL version: OpenGL ES 3.2 Mesa 24.2.3
[11:26:21.607] GLSL version: OpenGL ES GLSL ES 3.20
[11:26:21.607] GL vendor: Intel
[11:26:21.607] GL renderer: Mesa Intel(R) UHD Graphics 620 (WHL GT2)
[11:26:21.613] GL ES 3.2 - renderer features:
read-back format: ARGB8888
glReadPixels supports y-flip: yes
glReadPixels supports PBO: yes
wl_shm 10 bpc formats: yes
wl_shm 16 bpc formats: yes
wl_shm half-float formats: yes
internal R and RG formats: yes
OES_EGL_image_external: yes
[11:26:21.613] Using GL renderer
[11:26:21:464] [30404:000076c4] [INFO][com.freerdp.core.listener] - [freerdp_listener_open]: Listening on [0.0.0.0]:3389
[11:26:21:464] [30404:000076c4] [INFO][com.freerdp.core.listener] - [freerdp_listener_open]: Listening on [::]:3389
[11:26:21.613] Registered plugin API 'weston_rdp_output_api_v2' of size 24
[11:26:21.613] Color manager: no-op
protocol support: no
[11:26:21.613] rdp_backend_output_configure.. Done
[11:26:21.613] Output 'rdp-0' attempts EOTF mode SDR and colorimetry mode default.
[11:26:21.613] Output 'rdp-0' using color profile: stock sRGB color profile
[11:26:21.613] Output 'rdp-0' enabled with head(s) rdp-0
[11:26:21.613] Compositor capabilities:
arbitrary surface rotation: yes
screen capture uses y-flip: yes
cursor planes: no
arbitrary resolutions: yes
view mask clipping: yes
explicit sync: yes
color operations: yes
presentation clock: CLOCK_MONOTONIC_RAW, id 4
presentation clock resolution: 0.000000001 s
[11:26:21.613] libwayland: unable to lock lockfile /run/user/1000/wayland-1.lock, maybe another compositor is running
[11:26:21.614] Loading module '/usr/lib64/weston/desktop-shell.so'
[11:26:21.614] Loading module '/usr/lib64/libweston-14/xwayland.so'
[11:26:21.614] Registered plugin API 'weston_xwayland_v3' of size 32
[11:26:21.614] Registered plugin API 'weston_xwayland_surface_v2' of size 24
[11:26:21.614] failed to bind to @/tmp/.X11-unix/X0: Address already in use
[11:26:21.614] xserver listening on display :3
[11:26:21.614] launching '/usr/libexec/weston-keyboard'
[11:26:21.615] launching '/usr/libexec/weston-desktop-shell'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
could not load cursor 'dnd-move'
could not load cursor 'dnd-copy'
could not load cursor 'dnd-none'
[11:26:37:148] [30404:000076c4] [INFO][com.freerdp.core.listener] - [freerdp_peer_set_local_and_hostname]: Accepting client from localhost
[11:26:37:149] [30404:000076c4] [DEBUG][com.winpr.timezone] - [winpr_get_unix_timezone_identifier_from_file]: tzid: Europe/Rome
[11:26:37:149] [30404:000076c4] [DEBUG][com.winpr.timezone] - [winpr_get_timezone_from_link]: tzid: Europe/Rome
[11:26:37:151] [30404:000076c4] [DEBUG][com.winpr.timezone] - [winpr_get_unix_timezone_identifier_from_file]: tzid: Europe/Rome
[11:26:37:151] [30404:000076c4] [DEBUG][com.winpr.timezone] - [winpr_get_timezone_from_link]: tzid: Europe/Rome
[11:26:37:154] [30404:000076c4] [DEBUG][com.freerdp.primitives] - [primitives_autodetect_best]: primitives benchmark: only one backend, skipping...
[11:26:37:155] [30404:000076c4] [DEBUG][com.freerdp.primitives] - [primitives_autodetect_best]: primitives autodetect, using generic
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.rdp] - [rdp_server_transition_to_state][0x63d63d90c0d0]: CONNECTION_STATE_INITIAL --> CONNECTION_STATE_INITIAL
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.rdp] - [rdp_server_transition_to_state][0x63d63d90c0d0]: CONNECTION_STATE_INITIAL --> CONNECTION_STATE_NEGO
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.nego] - [nego_read_request_token_or_cookie]: received cookie [Cookie: mstshash=marco]
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.nego] - [nego_process_negotiation_request]: RDP_NEG_REQ: RequestedProtocol: [SSL][0x00000001]
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.connection] - [rdp_server_accept_nego]: Client Security: RDSTLS:0 NLA:0 TLS:1 RDP:0
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.connection] - [rdp_server_accept_nego]: Server Security: RDSTLS:0 NLA:0 TLS:1 RDP:1
[11:26:37:156] [30404:000076c4] [DEBUG][com.freerdp.core.connection] - [rdp_server_accept_nego]: Negotiated Security: RDSTLS:0 NLA:0 TLS:1 RDP:0