Bug 499144 - Remote Desktop Connection - Because of a protocol error, this session will be disconnected. Please try connecting to the remote computer again.
Summary: Remote Desktop Connection - Because of a protocol error, this session will be...
Status: CONFIRMED
Alias: None
Product: KRdp
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.2.5
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-01-25 23:21 UTC by Mike Smith
Modified: 2025-08-23 22:56 UTC (History)
5 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments
Joutnal log with the error(s) (8.56 KB, text/plain)
2025-01-25 23:21 UTC, Mike Smith
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Smith 2025-01-25 23:21:41 UTC
Created attachment 177681 [details]
Joutnal log with the error(s)

***
If you're not sure this is actually a bug, instead post about it at https://discuss.kde.org

If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports

Please remove this comment after reading and before submitting - thanks!
***

SUMMARY
krdp server running on the remote host with Fedora 41 Plasma 6.25  Wayland.
Remote Desktop client on a windows 11 machine.
Connected to the servers network via Wireguard. 

STEPS TO REPRODUCE
1.  Connect to the servers network
2.  Use RDP on the client to connect to the server
3.  Input correct username and password

OBSERVED RESULT
After accepting the certificate and connecting to the server the client will receive a popup that says: Because of a protocol error, this session will be disconnected. Please try connecting to the remote computer again.

EXPECTED RESULT
Viewing the server machine. 

SOFTWARE/OS VERSIONS
Windows: 11
macOS: 
(available in the Info Center app, or by running `kinfo` in a terminal window)
Linux/KDE Plasma: Fedora 41 / KDE 
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.1

ADDITIONAL INFORMATION
I've uploaded the output of: journalctl --user-unit=plasma-krdp_server


Kernel Version: 6.12.9-200.fc41.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 8700G w/ Radeon 780M Graphics
Memory: 30.5 GiB of RAM
Graphics Processor: AMD Radeon Graphics
Manufacturer: Gigabyte Technology Co., Ltd.
Product Name: B650M AORUS ELITE AX
Comment 1 Nate Graham 2025-01-27 22:15:33 UTC
Relevant-looking log lines:

Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 104: Connection reset by peer
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core.nla] - [nla_recv] error: -1
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core.transport] - client authentication failure
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_INITIAL - rdp_server_accept_nego() fail
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:203130] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
Jan 25 16:01:39 cyanic-f krdpserver[17412]: [16:01:39:114] [17412:17412] [ERROR][com.freerdp.core.transport] - BIO_should_retry returned a system error 32: Broken pipe
Comment 2 Mike Smith 2025-01-28 16:28:44 UTC
(In reply to Nate Graham from comment #1)
> [ERROR][com.freerdp.core.transport] - client authentication failure

Hello Nate, appreciate you looking into this / commenting. Are you saying it's an authentication failure? The username and password were correct as I was able to get past the login but failed right after. 

Furthermore if the username password combination was incorrect wouldn't it simply re-display the sign in form?

Or you saying something else, like the application is mishandling the credentials on a failure? Sorry if I misunderstood.
Comment 3 Nate Graham 2025-01-30 17:06:31 UTC
I'm actually not saying anything; this code isn't familiar to me, so I'm just looking for lines in the log that appear suspicious.
Comment 4 Oliver Trenkelbach 2025-04-11 08:02:04 UTC
I can confirm the problem also surfaces using debian trixie (testing) with wayland. 
krdp/testing,now 6.3.4-1 amd64 [installed]
libfreerdp-server3-3/testing,now 3.14.0+dfsg-1 amd64 [installed,automatic]
libkpipewirerecord6/testing,now 6.3.4-1 amd64 [installed,automatic]

client on win11 : mstsc.exe (Microsofts default rdp client)
On client side it passes the credentials and cert checking, but later gets a protocol error when trying to show the screen :
Error code : 0xd06
Extended error code: 0x0

And here the server side :

:~$ krdpserver -u testuser -p testpw --monitor 0 --quality 50
org.kde.krdp: Listening for connections on QHostAddress(QHostAddress::Any) 3389
org.kde.krdp: Initializing Freedesktop Portal Session
org.kde.krdp: Session setup completed, start processing...
org.kde.krdp: Started Freedesktop Portal session
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
kpipewire_vaapi_logging: VAAPI: Mesa Gallium driver 25.0.3-1 for AMD Radeon Graphics (radeonsi, phoenix, LLVM 19.1.7, DRM 3.61, 6.12.21-amd64) in use for device "/dev/dri/renderD128"
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.core.transport] - [transport_read_layer]: BIO_read returned a system error 104: Connection reset by peer
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.core.peer] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.core.nla] - [nla_server_recv_stream]: nla_recv() error: -1
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.core.transport] - [transport_accept_nla]: client authentication failure
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.api] - [peer_recv_callback_internal]: CONNECTION_STATE_NEGO - rdp_server_accept_nego() fail
[09:27:33:411] [8058:00001ff8] [ERROR][com.freerdp.core.transport] - [transport_check_fds]: transport_check_fds: transport->ReceiveCallback() - STATE_RUN_FAILED [-1]
org.kde.krdp: Unable to check file descriptor
org.kde.krdp: Closing session
org.kde.krdp: Closing Freedesktop Portal Session
org.kde.krdp: Initializing Freedesktop Portal Session
org.kde.krdp: Session setup completed, start processing...
org.kde.krdp: Started Freedesktop Portal session
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
libva info: VA-API version 1.22.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
org.kde.krdp: New client connected:  Windows platform Windows NT
org.kde.krdp: Video stream initialized
QObject: Cannot create children for a parent that is in a different thread.
(Parent is QApplication(0x7ffcbdd3f9b0), parent's thread is QThread(0x55c6ed277670), current thread is QThread(0x7ff83005fde0)
org.kde.krdp: Received caps:
org.kde.krdp:   RDPGFX_CAPVERSION_8 AVC: false YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_81 AVC: false YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_10 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_102 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_103 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_104 AVC: true YUV420: true
org.kde.krdp:   RDPGFX_CAPVERSION_105 AVC: true YUV420: true
org.kde.krdp:   RDPGFX_CAPVERSION_106 AVC: true YUV420: true
org.kde.krdp: Selected caps: RDPGFX_CAPVERSION_106
org.kde.krdp: Received caps:
org.kde.krdp:   RDPGFX_CAPVERSION_8 AVC: false YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_81 AVC: false YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_10 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_102 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_103 AVC: true YUV420: false
org.kde.krdp:   RDPGFX_CAPVERSION_104 AVC: true YUV420: true
org.kde.krdp:   RDPGFX_CAPVERSION_105 AVC: true YUV420: true
org.kde.krdp:   RDPGFX_CAPVERSION_106 AVC: true YUV420: true
org.kde.krdp: Selected caps: RDPGFX_CAPVERSION_106
[09:28:35:833] [8058:000020a8] [ERROR][com.freerdp.core.transport] - [transport_read_layer]: BIO_read returned a system error 104: Connection reset by peer
[09:28:35:833] [8058:000020a8] [ERROR][com.freerdp.core.peer] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
[09:28:35:833] [8058:000020eb] [ERROR][com.freerdp.channels.rdpgfx.server] - [rdpgfx_server_handle_messages]: WTSVirtualChannelRead failed!
[09:28:35:833] [8058:000020eb] [ERROR][com.freerdp.channels.rdpgfx.server] - [rdpgfx_server_thread_func]: rdpgfx_server_handle_messages failed with error 1359
org.kde.krdp: Unable to check file descriptor
org.kde.krdp: Closing session
[09:28:35:849] [8058:00001f7a] [ERROR][com.freerdp.core.transport] - [transport_default_write]: BIO_should_retry returned an error: error:80000020:system library::Broken pipe
org.kde.krdp: Closing Freedesktop Portal Session

By the way great work, having an integrated rdp solution is really benefitial for working from home.

I tried a connection from Win11 also with wfreerdp without success (according to the freerdp github the windows client is unmaintained), as well as with devolutions remote desktop manager (free edition, https://devolutions.net/remote-desktop-manager/) only the mouse was working, but no keyboard.
From my humble view, making sure that it works with krdc or freerdp isn't enough. mstsc should be a main target.
Comment 5 Pedro Albuquerque Santos 2025-08-14 21:07:11 UTC
I also still have this issue on Plasma 6.4.4. In my case, I was trying to connect to a local Hyper-V VM running Fedora 42 as an alternative to XRDP since XRDP only supports X11 (although it also support VSOCK, which is nice for direct integration with Hyper-V's Enhanced Session). I also tried it on openSUSE Tumbleweed with the same results.
Comment 6 Chris 2025-08-23 20:33:02 UTC
I have this issue as well, on fully updated Fedora 42 install. Connecting from a Windows 11 (23H2) machine i don't have admin rights on, so no option for other RDP clients. I was hoping to access my Fedora laptop from the Windows 11 machine, but can't with the Microsoft RDP client (mstsc). 

Connecting from a Windows 10 (1809) machine with "mstsc" works just fine. Would be really great to have the Windows 11 mstsc working.

mstsc error code: 0xd06

Operating System: Fedora Linux 42
KDE Plasma Version: 6.4.4
KDE Frameworks Version: 6.17.0
Qt Version: 6.9.1
Kernel Version: 6.15.10-200.fc42.x86_64 (64-bit)

This seems to be the relevant log section:

[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] - [transport_read_layer]: BIO_read returned a system error 104: Connection reset by peer
[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.peer] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.nla] - [nla_server_recv_stream]: nla_recv() error: -1
[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] - [transport_accept_nla]: client authentication failure
[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.api] - [peer_recv_callback_internal]: CONNECTION_STATE_NEGO - rdp_server_accept_nego() fail
[21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] - [transport_check_fds]: transport_check_fds: transport->ReceiveCallback() - STATE_RUN_FAILED [-1]
[21:11:02:550] [23043:00005a03] [WARN][com.freerdp.core.rdp] - [rdp_send_deactivate_all][0x557f084fdca0]: rdpMcs::userId == 0, skip sending PDU_TYPE_DEACTIVATE_ALL
[21:11:02:550] [23043:00005a03] [ERROR][com.freerdp.core.transport] - [transport_default_write]: BIO_should_retry returned a system error 32: Broken pipe
[21:11:12:624] [23043:000064da] [WARN][com.freerdp.api] - [peer_unexpected_client_message]: Unexpected client message in state CONNECTION_STATE_FINALIZATION_FONT_LIST, missing flag FINALIZE_CS_FONT_LIST_PDU [0x00000100]
org.kde.krdp: New client connected:  Windows platform Windows NT
kpipewire_record_logging: Hardware encoding is not supported on this device.
[libx264 @ 0x7f7dc4479d80] -qscale is ignored, -crf is recommended.
[libx264 @ 0x7f7dc4479d80] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[libx264 @ 0x7f7dc4479d80] profile Constrained Baseline, level 6.1, 4:2:0, 8-bit
kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
[21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.transport] - [transport_default_write]: BIO_should_retry returned a system error 104: Connection reset by peer
[21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.peer] - [transport_default_write]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
[21:11:13:230] [23043:00005a03] [ERROR][com.freerdp.core.transport] - [transport_default_write]: BIO_should_retry returned an error: error:0A00010F:SSL routines::bad length
[libx264 @ 0x7f7dc4479d80] frame I:1     Avg QP:20.00  size:426534
[libx264 @ 0x7f7dc4479d80] frame P:21    Avg QP:20.52  size:  7931
[libx264 @ 0x7f7dc4479d80] mb I  I16..4: 100.0%  0.0%  0.0%
[libx264 @ 0x7f7dc4479d80] mb P  I16..4:  0.3%  0.0%  0.0%  P16..4:  7.1%  0.0%  0.0%  0.0%  0.0%    skip:92.6%
[libx264 @ 0x7f7dc4479d80] coded y,uvDC,uvAC intra: 43.0% 43.2% 40.8% inter: 2.1% 5.5% 1.8%
[libx264 @ 0x7f7dc4479d80] i16 v,h,dc,p: 61% 30%  8%  1%
[libx264 @ 0x7f7dc4479d80] i8c dc,h,v,p: 63% 19% 16%  2%
[libx264 @ 0x7f7dc4479d80] kb/s:215665.44
Comment 7 Pedro Albuquerque Santos 2025-08-23 21:42:36 UTC
(In reply to Chris from comment #6)
> I have this issue as well, on fully updated Fedora 42 install. Connecting
> from a Windows 11 (23H2) machine i don't have admin rights on, so no option
> for other RDP clients. I was hoping to access my Fedora laptop from the
> Windows 11 machine, but can't with the Microsoft RDP client (mstsc). 
> 
> Connecting from a Windows 10 (1809) machine with "mstsc" works just fine.
> Would be really great to have the Windows 11 mstsc working.
> 
> mstsc error code: 0xd06
> 
> Operating System: Fedora Linux 42
> KDE Plasma Version: 6.4.4
> KDE Frameworks Version: 6.17.0
> Qt Version: 6.9.1
> Kernel Version: 6.15.10-200.fc42.x86_64 (64-bit)
> 
> This seems to be the relevant log section:
> 
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> [transport_read_layer]: BIO_read returned a system error 104: Connection
> reset by peer
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.peer] -
> [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.nla] -
> [nla_server_recv_stream]: nla_recv() error: -1
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> [transport_accept_nla]: client authentication failure
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.api] -
> [peer_recv_callback_internal]: CONNECTION_STATE_NEGO -
> rdp_server_accept_nego() fail
> [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> [transport_check_fds]: transport_check_fds: transport->ReceiveCallback() -
> STATE_RUN_FAILED [-1]
> [21:11:02:550] [23043:00005a03] [WARN][com.freerdp.core.rdp] -
> [rdp_send_deactivate_all][0x557f084fdca0]: rdpMcs::userId == 0, skip sending
> PDU_TYPE_DEACTIVATE_ALL
> [21:11:02:550] [23043:00005a03] [ERROR][com.freerdp.core.transport] -
> [transport_default_write]: BIO_should_retry returned a system error 32:
> Broken pipe
> [21:11:12:624] [23043:000064da] [WARN][com.freerdp.api] -
> [peer_unexpected_client_message]: Unexpected client message in state
> CONNECTION_STATE_FINALIZATION_FONT_LIST, missing flag
> FINALIZE_CS_FONT_LIST_PDU [0x00000100]
> org.kde.krdp: New client connected:  Windows platform Windows NT
> kpipewire_record_logging: Hardware encoding is not supported on this device.
> [libx264 @ 0x7f7dc4479d80] -qscale is ignored, -crf is recommended.
> [libx264 @ 0x7f7dc4479d80] using cpu capabilities: MMX2 SSE2Fast SSSE3
> SSE4.2 AVX FMA3 BMI2 AVX2
> [libx264 @ 0x7f7dc4479d80] profile Constrained Baseline, level 6.1, 4:2:0,
> 8-bit
> kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
> [21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.transport] -
> [transport_default_write]: BIO_should_retry returned a system error 104:
> Connection reset by peer
> [21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.peer] -
> [transport_default_write]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
> [21:11:13:230] [23043:00005a03] [ERROR][com.freerdp.core.transport] -
> [transport_default_write]: BIO_should_retry returned an error:
> error:0A00010F:SSL routines::bad length
> [libx264 @ 0x7f7dc4479d80] frame I:1     Avg QP:20.00  size:426534
> [libx264 @ 0x7f7dc4479d80] frame P:21    Avg QP:20.52  size:  7931
> [libx264 @ 0x7f7dc4479d80] mb I  I16..4: 100.0%  0.0%  0.0%
> [libx264 @ 0x7f7dc4479d80] mb P  I16..4:  0.3%  0.0%  0.0%  P16..4:  7.1% 
> 0.0%  0.0%  0.0%  0.0%    skip:92.6%
> [libx264 @ 0x7f7dc4479d80] coded y,uvDC,uvAC intra: 43.0% 43.2% 40.8% inter:
> 2.1% 5.5% 1.8%
> [libx264 @ 0x7f7dc4479d80] i16 v,h,dc,p: 61% 30%  8%  1%
> [libx264 @ 0x7f7dc4479d80] i8c dc,h,v,p: 63% 19% 16%  2%
> [libx264 @ 0x7f7dc4479d80] kb/s:215665.44

Interesting. I didn't realize this was a Windows 11 specific issue. I thought it was broken all across the board. Is there any way to configure the Windows 11 client to behave like Windows 10? What about alternative clients for RDP that work on Windows? I only ever used the official one on Windows.

Probably, even if one of these workarounds work they might not work specifically for you if they require admin rights. But it would be interesting to know if it is possible anyway.
Comment 8 Pedro Albuquerque Santos 2025-08-23 22:56:30 UTC
(In reply to Pedro Albuquerque Santos from comment #7)
> (In reply to Chris from comment #6)
> > I have this issue as well, on fully updated Fedora 42 install. Connecting
> > from a Windows 11 (23H2) machine i don't have admin rights on, so no option
> > for other RDP clients. I was hoping to access my Fedora laptop from the
> > Windows 11 machine, but can't with the Microsoft RDP client (mstsc). 
> > 
> > Connecting from a Windows 10 (1809) machine with "mstsc" works just fine.
> > Would be really great to have the Windows 11 mstsc working.
> > 
> > mstsc error code: 0xd06
> > 
> > Operating System: Fedora Linux 42
> > KDE Plasma Version: 6.4.4
> > KDE Frameworks Version: 6.17.0
> > Qt Version: 6.9.1
> > Kernel Version: 6.15.10-200.fc42.x86_64 (64-bit)
> > 
> > This seems to be the relevant log section:
> > 
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> > [transport_read_layer]: BIO_read returned a system error 104: Connection
> > reset by peer
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.peer] -
> > [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.nla] -
> > [nla_server_recv_stream]: nla_recv() error: -1
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> > [transport_accept_nla]: client authentication failure
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.api] -
> > [peer_recv_callback_internal]: CONNECTION_STATE_NEGO -
> > rdp_server_accept_nego() fail
> > [21:11:02:549] [23043:000064c2] [ERROR][com.freerdp.core.transport] -
> > [transport_check_fds]: transport_check_fds: transport->ReceiveCallback() -
> > STATE_RUN_FAILED [-1]
> > [21:11:02:550] [23043:00005a03] [WARN][com.freerdp.core.rdp] -
> > [rdp_send_deactivate_all][0x557f084fdca0]: rdpMcs::userId == 0, skip sending
> > PDU_TYPE_DEACTIVATE_ALL
> > [21:11:02:550] [23043:00005a03] [ERROR][com.freerdp.core.transport] -
> > [transport_default_write]: BIO_should_retry returned a system error 32:
> > Broken pipe
> > [21:11:12:624] [23043:000064da] [WARN][com.freerdp.api] -
> > [peer_unexpected_client_message]: Unexpected client message in state
> > CONNECTION_STATE_FINALIZATION_FONT_LIST, missing flag
> > FINALIZE_CS_FONT_LIST_PDU [0x00000100]
> > org.kde.krdp: New client connected:  Windows platform Windows NT
> > kpipewire_record_logging: Hardware encoding is not supported on this device.
> > [libx264 @ 0x7f7dc4479d80] -qscale is ignored, -crf is recommended.
> > [libx264 @ 0x7f7dc4479d80] using cpu capabilities: MMX2 SSE2Fast SSSE3
> > SSE4.2 AVX FMA3 BMI2 AVX2
> > [libx264 @ 0x7f7dc4479d80] profile Constrained Baseline, level 6.1, 4:2:0,
> > 8-bit
> > kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
> > [21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.transport] -
> > [transport_default_write]: BIO_should_retry returned a system error 104:
> > Connection reset by peer
> > [21:11:13:215] [23043:000064da] [ERROR][com.freerdp.core.peer] -
> > [transport_default_write]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
> > [21:11:13:230] [23043:00005a03] [ERROR][com.freerdp.core.transport] -
> > [transport_default_write]: BIO_should_retry returned an error:
> > error:0A00010F:SSL routines::bad length
> > [libx264 @ 0x7f7dc4479d80] frame I:1     Avg QP:20.00  size:426534
> > [libx264 @ 0x7f7dc4479d80] frame P:21    Avg QP:20.52  size:  7931
> > [libx264 @ 0x7f7dc4479d80] mb I  I16..4: 100.0%  0.0%  0.0%
> > [libx264 @ 0x7f7dc4479d80] mb P  I16..4:  0.3%  0.0%  0.0%  P16..4:  7.1% 
> > 0.0%  0.0%  0.0%  0.0%    skip:92.6%
> > [libx264 @ 0x7f7dc4479d80] coded y,uvDC,uvAC intra: 43.0% 43.2% 40.8% inter:
> > 2.1% 5.5% 1.8%
> > [libx264 @ 0x7f7dc4479d80] i16 v,h,dc,p: 61% 30%  8%  1%
> > [libx264 @ 0x7f7dc4479d80] i8c dc,h,v,p: 63% 19% 16%  2%
> > [libx264 @ 0x7f7dc4479d80] kb/s:215665.44
> 
> Interesting. I didn't realize this was a Windows 11 specific issue. I
> thought it was broken all across the board. Is there any way to configure
> the Windows 11 client to behave like Windows 10? What about alternative
> clients for RDP that work on Windows? I only ever used the official one on
> Windows.
> 
> Probably, even if one of these workarounds work they might not work
> specifically for you if they require admin rights. But it would be
> interesting to know if it is possible anyway.

I managed to connect twice using mRemoteNG (which I believe bundles FreeRDP): https://github.com/mRemoteNG Unfortunately, it quickly became unreliable. After those first two successful attempts, I haven’t been able to reconnect at all. At best, it’s highly inconsistent.

For now, as long as an X11 session is still available, the most reliable workaround seems to be using xrdp instead of krdp. That might work for Chris’s use case since he only needs to configure that on hist laptop and then he should be able to connect from the Windows 11 without needing any extra admin rights. However, if KDE intends to drop X11 support, this issue will eventually need to be addressed, since xrdp does not support Wayland.

GNOME faces a similar challenge. Once they fully remove X11, the only built‑in way to use RDP (or VNC) will be through GNOME Remote Desktop, which, as far as I know, is tightly coupled to GNOME and likely not usable as a standalone solution for other Wayland desktops. Ideally, we would have an RDP/VNC server implementation that works across any Wayland desktop, but I am not sure if that is technically feasible within Wayland’s architecture.

One feature from GNOME Remote Desktop that I would love to see in KRDP is the ability to log in directly to GDM and start a new session, rather than only connecting to an existing one. This has two major benefits:
- The new session can start at any resolution the user chooses, instead of being locked to the resolution of an existing session.
- If you restart your PC remotely, you can still connect because you are not left without a session to attach to.

In short, I hope this gets fixed sooner rather than later. It should be considered a blocker for the eventual removal of X11 sessions. KRDP needs to be in a solid state before X11 is dropped.