Bug 494715

Summary: RDP client sees a black screen when connecting to KRdp, although keyboard and mouse input is still registered on the server device
Product: [Plasma] KRdp Reporter: John Kizer <john.kizer>
Component: generalAssignee: Unassigned bugs <unassigned-bugs-null>
Status: REPORTED ---    
Severity: normal CC: ahiemstra, i.a.rodin, kde, mikesmith929+kde, sites+kdebugs
Priority: NOR    
Version First Reported In: 6.2.0   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:
Attachments: Logs from krdpserver during attempts to connect

Description John Kizer 2024-10-14 04:04:15 UTC
Created attachment 174790 [details]
Logs from krdpserver during attempts to connect

SUMMARY
With KRdp running on an Nvidia-only desktop PC, both KRDC and Remmina are able to connect to the RDP server, but only see a black screen.

STEPS TO REPRODUCE
1. Start KRdp on an Nvidia-only machine (using the Nvidia proprietary drivers) through the System Settings > Remote Desktop KCM
2. On another machine (same network), open Remmina and configure an RDP connection to the host using 1920x1080 resolution, Automatic color depth and Best (slowest) quality (other settings seem to result in a failed connection)
3. Try to connect

OBSERVED RESULT
The connection is established with the expected screen resolution, but the entire screen appears black, and no interaction is possible with the remote machine

EXPECTED RESULT
The connection is established with the expected screen resolution, the remote desktop is rendered in the Remmina/KRDC window, and interaction with the remote desktop is possible

SOFTWARE/OS VERSIONS
(identical on both client and server)
Operating System: Fedora Linux 40
KDE Plasma Version: 6.2.0
KDE Frameworks Version: 6.7.0
Qt Version: 6.7.2
Nvidia Driver Version: 560.35.03

ADDITIONAL INFORMATION
Below are what I assume are the relevant lines from the logs on the host machine when trying to connect - the full contents of sudo journalctl --since=-3m --identifier=krdpserver are attached.

Oct 13 23:50:52 server-name krdpserver[7666]: kpipewire_record_logging: Hardware encoding is not supported on this device.
Oct 13 23:50:52 server-name krdpserver[7666]: [23:50:51:144][libx264 @ 0x7f64180d7d40] -qscale is ignored, -crf is recommended.
Oct 13 23:50:52 server-name krdpserver[7666]: [libx264 @ 0x7f64180d7d40] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
Oct 13 23:50:52 server-name krdpserver[7666]: [libx264 @ 0x7f64180d7d40] profile Constrained Baseline, level 6.2, 4:2:0, 8-bit
Oct 13 23:50:52 server-name krdpserver[7666]: kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
Oct 13 23:50:55 server-name krdpserver[7666]: [23:50:55:949] [7666:9071] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_ACTIVE - peer_recv_pdu() fail
Oct 13 23:50:55 server-name krdpserver[7666]: [23:50:55:949] [7666:9071] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
Comment 1 Mike Smith 2025-01-24 05:49:22 UTC
I've seen the black screen issue and I'm not using Nvidia, I have AMD. The Krdp server is running:

Operating System: Fedora Linux 41
KDE Plasma Version: 6.2.5
KDE Frameworks Version: 6.10.0
Qt Version: 6.8.1
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

I will add that you can actually interact with the windows of the server, just it's difficult with just a black screen.
Comment 2 John Kizer 2025-01-24 16:19:26 UTC
Thanks for adding that - I see that as well, and for what it's worth, Remmina now shows a solid white screen instead of a solid black screen, and the cursor does respond (ex. text bar over text fields, resize arrows, etc.).

The system journal logs look a little different now, too - pasting below my current ones from trying to use Remmina, and then KRDC:

Jan 24 11:11:08 g224-fedora krdpserver[2369]: libva info: VA-API version 1.22.0
Jan 24 11:11:08 g224-fedora krdpserver[2369]: libva info: Trying to open /usr/lib64/dri-nonfree/nvidia_drv_video.so
Jan 24 11:11:08 g224-fedora krdpserver[2369]: libva info: Trying to open /usr/lib64/dri-freeworld/nvidia_drv_video.so
Jan 24 11:11:08 g224-fedora krdpserver[2369]: libva info: Trying to open /usr/lib64/dri/nvidia_drv_video.so
Jan 24 11:11:08 g224-fedora krdpserver[2369]: libva info: va_openDriver() returns -1
Jan 24 11:11:08 g224-fedora krdpserver[2369]: kpipewire_vaapi_logging: VAAPI: Failed to initialize display
Jan 24 11:11:08 g224-fedora krdpserver[2369]: kpipewire_vaapi_logging: DRM device not found
Jan 24 11:11:12 g224-fedora krdpserver[2369]: [11:11:12:725] [2369:101707] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Jan 24 11:11:12 g224-fedora krdpserver[2369]: [11:11:12:729] [2369:101707] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Jan 24 11:11:12 g224-fedora krdpserver[2369]: org.kde.krdp: New client connected:  UNIX platform Unspecified version
Jan 24 11:11:12 g224-fedora krdpserver[2369]: QObject: Cannot create children for a parent that is in a different thread.
                                              (Parent is QApplication(0x7ffd79a96ed0), parent's thread is QThread(0x559994e08f00), current thread is QThread(0x7f07ac037790)
Jan 24 11:11:12 g224-fedora krdpserver[2369]: kpipewire_record_logging: Hardware encoding is not supported on this device.
Jan 24 11:11:12 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] -qscale is ignored, -crf is recommended.
Jan 24 11:11:12 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
Jan 24 11:11:12 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] profile Constrained Baseline, level 6.2, 4:2:0, 8-bit
Jan 24 11:11:12 g224-fedora krdpserver[2369]: kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
Jan 24 11:11:17 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:11:17 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:11:28 g224-fedora krdpserver[2369]: org.kde.krdp: Portal session was closed!
Jan 24 11:11:28 g224-fedora krdpserver[2369]: qt.qpa.wayland: Creating a fake screen in order for Qt not to crash
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [11:11:28:778] [2369:101707] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 0: Success
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [11:11:28:778] [2369:101707] [ERROR][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Jan 24 11:11:28 g224-fedora krdpserver[2369]: QObject::~QObject: Timers cannot be stopped from another thread
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] frame I:1     Avg QP:20.00  size:246914
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] frame P:98    Avg QP:17.60  size:  2984
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] mb I  I16..4: 100.0%  0.0%  0.0%
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] mb P  I16..4:  0.2%  0.0%  0.0%  P16..4:  5.7%  0.0%  0.0%  0.0%  0.0%    skip:94.1%
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] coded y,uvDC,uvAC intra: 30.2% 42.4% 17.0% inter: 0.2% 5.3% 0.1%
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] i16 v,h,dc,p: 35% 41%  7% 17%
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] i8c dc,h,v,p: 42% 36% 13%  9%
Jan 24 11:11:28 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a0302180] kb/s:43584.08
Jan 24 11:11:44 g224-fedora krdpserver[2369]: [11:11:44:263] [2369:101788] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Jan 24 11:11:44 g224-fedora krdpserver[2369]: [11:11:44:265] [2369:101788] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Jan 24 11:11:44 g224-fedora krdpserver[2369]: org.kde.krdp: New client connected:  UNIX platform Unspecified version
Jan 24 11:11:44 g224-fedora krdpserver[2369]: kpipewire_record_logging: Hardware encoding is not supported on this device.
Jan 24 11:11:44 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] -qscale is ignored, -crf is recommended.
Jan 24 11:11:44 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
Jan 24 11:11:44 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] profile Constrained Baseline, level 6.2, 4:2:0, 8-bit
Jan 24 11:11:44 g224-fedora krdpserver[2369]: kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
Jan 24 11:11:45 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:11:45 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:12:19 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:12:19 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [11:12:24:899] [2369:101788] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 0: Success
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [11:12:24:899] [2369:101788] [ERROR][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Jan 24 11:12:24 g224-fedora krdpserver[2369]: QObject::~QObject: Timers cannot be stopped from another thread
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] frame I:4     Avg QP:17.00  size:328889
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] frame P:329   Avg QP:18.00  size:  4162
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] mb I  I16..4: 100.0%  0.0%  0.0%
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] mb P  I16..4:  0.5%  0.0%  0.0%  P16..4:  4.2%  0.0%  0.0%  0.0%  0.0%    skip:95.3%
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] coded y,uvDC,uvAC intra: 34.5% 40.8% 21.1% inter: 0.3% 3.9% 0.2%
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] i16 v,h,dc,p: 42% 38%  6% 14%
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] i8c dc,h,v,p: 44% 32% 15%  9%
Jan 24 11:12:24 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07ac33ddc0] kb/s:64503.42
Jan 24 11:13:13 g224-fedora krdpserver[2369]: [11:13:13:604] [2369:101856] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
Jan 24 11:13:13 g224-fedora krdpserver[2369]: [11:13:13:691] [2369:101856] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
Jan 24 11:13:14 g224-fedora krdpserver[2369]: org.kde.krdp: New client connected:  UNIX platform Unspecified version
Jan 24 11:13:14 g224-fedora krdpserver[2369]: kpipewire_record_logging: Hardware encoding is not supported on this device.
Jan 24 11:13:14 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] -qscale is ignored, -crf is recommended.
Jan 24 11:13:14 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
Jan 24 11:13:14 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] profile Constrained Baseline, level 6.2, 4:2:0, 8-bit
Jan 24 11:13:14 g224-fedora krdpserver[2369]: kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
Jan 24 11:13:15 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:15 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:13:16 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:16 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:13:17 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:17 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:13:20 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:20 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:13:27 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:27 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:13:33 g224-fedora krdpserver[2369]: QObject::killTimer: Timers cannot be stopped from another thread
Jan 24 11:13:33 g224-fedora krdpserver[2369]: QObject::startTimer: Timers cannot be started from another thread
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [11:14:02:356] [2369:101856] [ERROR][com.freerdp.core.transport] - BIO_read returned a system error 0: Success
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [11:14:02:356] [2369:101856] [ERROR][com.freerdp.core] - transport_read_layer:freerdp_set_last_error_ex ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Jan 24 11:14:02 g224-fedora krdpserver[2369]: QObject::~QObject: Timers cannot be stopped from another thread
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] frame I:3     Avg QP:18.00  size:356816
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] frame P:251   Avg QP:19.99  size: 19679
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] mb I  I16..4: 100.0%  0.0%  0.0%
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] mb P  I16..4:  5.9%  0.0%  0.0%  P16..4:  7.5%  0.0%  0.0%  0.0%  0.0%    skip:86.5%
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] coded y,uvDC,uvAC intra: 22.5% 23.6% 11.2% inter: 2.2% 5.1% 1.2%
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] i16 v,h,dc,p: 42% 45%  7%  7%
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] i8c dc,h,v,p: 50% 33% 14%  4%
Jan 24 11:14:02 g224-fedora krdpserver[2369]: [libx264 @ 0x7f07a007b700] kb/s:189284.88