Bug 502333 - Black screen after connecting with KRdp
Summary: Black screen after connecting with KRdp
Status: REPORTED
Alias: None
Product: krdc
Classification: Applications
Component: RDP (other bugs)
Version First Reported In: 24.12.3
Platform: Fedora RPMs Linux
: NOR normal
Target Milestone: ---
Assignee: Urs Wolfer
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-04-02 20:19 UTC by Piotr Dobrogost
Modified: 2025-08-16 12:04 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Dobrogost 2025-04-02 20:19:18 UTC
I'm getting black screen after connecting to KRdp.
Connecting to the same host from Windows 10 with Remote Desktop app works with the caveat that after connecting, the screen is also black but then if I kill KRdp process and it gets started automatically again by systemd (due to being run as a service) and then I connect once more from Windows 10 it works this time.


Output from `journalctl --user -f -u app-org.kde.krdc@06646c305f64498b8c204dfbf354ce4f.service`:

kwi 02 21:53:33 hostx krdc[17274]: KRDC: Starting RDP session
kwi 02 21:53:33 hostx krdc[17274]: [21:53:33:828] [17274:17274] [WARN][com.freerdp.crypto] - Certificate verification failure 'self-signed certificate (18)' at stack position 0
kwi 02 21:53:33 hostx krdc[17274]: [21:53:33:828] [17274:17274] [WARN][com.freerdp.crypto] - C = XX, L = Default City, O = Default Company Ltd
kwi 02 21:53:52 hostx krdc[17274]: [21:53:52:468] [17274:19555] [WARN][com.freerdp.codec] - DecodeFrame2 state: 0x0004 iBufferStatus: 0
kwi 02 21:53:52 hostx krdc[17274]: [21:53:52:468] [17274:19555] [WARN][com.freerdp.gdi] - avc420_decompress failure: -2002, ignoring update.
kwi 02 21:53:52 hostx krdc[17274]: [21:53:52:540] [17274:19555] [WARN][com.freerdp.codec] - DecodeFrame2 iBufferStatus: 0
kwi 02 21:54:00 hostx krdc[17274]: [21:54:00:324] [17274:19555] [WARN][com.freerdp.codec] - DecodeFrame2 iBufferStatus: 0
kwi 02 21:54:00 hostx krdc[17274]: [21:54:00:374] [17274:19555] [WARN][com.freerdp.codec] - DecodeFrame2 iBufferStatus: 0
(…)



Output from `journalctl --user -f -u app-org.kde.krdpserver.service`:

kwi 02 21:53:50 demon krdpserver[65971]: [21:53:50:289] [65971:69026] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
kwi 02 21:53:51 demon krdpserver[65971]: [21:53:51:384] [65971:69026] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
kwi 02 21:53:52 demon krdpserver[65971]: org.kde.krdp: New client connected:  UNIX platform Unspecified version
kwi 02 21:53:52 demon krdpserver[65971]: kpipewire_record_logging: Hardware encoding is not supported on this device.
kwi 02 21:53:52 demon krdpserver[65971]: [libx264 @ 0x7fd28cabc1c0] -qscale is ignored, -crf is recommended.
kwi 02 21:53:52 demon krdpserver[65971]: [libx264 @ 0x7fd28cabc1c0] MB rate (18000000) > level limit (16711680)
kwi 02 21:53:52 demon krdpserver[65971]: [libx264 @ 0x7fd28cabc1c0] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2 AVX512
kwi 02 21:53:52 demon krdpserver[65971]: [libx264 @ 0x7fd28cabc1c0] profile Constrained Baseline, level 6.2, 4:2:0, 8-bit
kwi 02 21:53:52 demon krdpserver[65971]: kpipewire_dmabuf_logging: eglChooseConfig returned this many configs: 1
kwi 02 21:54:00 demon krdpserver[65971]: QObject::killTimer: Timers cannot be stopped from another thread
kwi 02 21:54:00 demon krdpserver[65971]: QObject::startTimer: Timers cannot be started from another thread
kwi 02 21:54:05 demon krdpserver[65971]: QObject::killTimer: Timers cannot be stopped from another thread
kwi 02 21:54:05 demon krdpserver[65971]: QObject::startTimer: Timers cannot be started from another thread
kwi 02 21:55:00 demon krdpserver[65971]: QObject::killTimer: Timers cannot be stopped from another thread
kwi 02 21:55:00 demon krdpserver[65971]: QObject::startTimer: Timers cannot be started from another thread
(…)



[miner@hostx ~]$ dnf list installed '*krdc*'  '*freerdp*'  '*264*'
(…)
Installed packages
freerdp.x86_64                    2:3.12.0-1.fc42                   fedora
freerdp-libs.x86_64               2:3.12.0-1.fc42                   fedora
freerdp2-libs.x86_64              2.11.7-7.fc42                     fedora
gstreamer1-plugin-openh264.x86_64 1.26.0-1.fc42                     fedora
krdc.x86_64                       24.12.3-1.fc42                    fedora
krdc-libs.x86_64                  24.12.3-1.fc42                    fedora
mozilla-openh264.x86_64           2.4.1-2.fc42                      fedora-cisco-openh264
openh264.x86_64                   2.4.1-2.fc42                      fedora-cisco-openh264
x264-libs.x86_64                  0.164-16.20231001git31e19f92.fc42 rpmfusion-free


[miner@hostx ~]$ kinfo
Operating System: Fedora Linux 42
KDE Plasma Version: 6.3.3
KDE Frameworks Version: 6.12.0
Qt Version: 6.8.2
Kernel Version: 6.14.0-63.fc42.x86_64 (64-bit)
Graphics Platform: Wayland
Processors: 4 × Intel® Core™ i3-8100 CPU @ 3.60GHz
Memory: 3.5 GiB of RAM
Graphics Processor 1: Intel® UHD Graphics 630
Graphics Processor 2: NVIDIA GeForce GTX 1070
Graphics Processor 3: NVIDIA GeForce GTX 1070
Graphics Processor 4: NVIDIA GeForce GTX 1070
Graphics Processor 5: NVIDIA GeForce GTX 1070
Comment 1 Fabio 2025-04-04 13:37:45 UTC
The next version of krdc 25.04 (april 17) and krdp 6.4 (june 17) will be based on freerdp3 instead of freerdp2.
From the krdc "client" side, a lot of problems related to h264 will be fixed just by upgrading freerdp.
Still, I'm afraid the problem you are experiencing is more related to krdp, so I'll try to replicate your problem and work with the krdp guys to see if we can get it working before 6.4.
Keeping this ticket open as a reminder to ensure krdc and krdp play nice together.
Comment 2 Piotr Dobrogost 2025-04-04 14:23:19 UTC
Thanks for a quick reply.
I saw KRdp is moving to freerdp3 and wanted to ask if KRDC is planning the same; good to hear it does and hopefully it resolves this issue.
Did you take a look at bug 500276 linked to this one? Similar problem there, albeit with Remmina, and an interesting fix. I'm wondering if you are using Fedora and are able to rebuild freerdp2 package without openh264 support to check if it helps?
Comment 3 Piotr Dobrogost 2025-04-04 15:17:37 UTC
> The next version of krdc 25.04 (april 17)

I thought maybe it's already in the Fedora Rawhide and I could force installing it and check if it makes any difference but apparently it's not available there:

miner@hostx ~]$ sudo dnf --releasever=rawhide install krdc
Updating and loading repositories:
(…)
Repositories loaded.
Package "krdc-24.12.3-1.fc42.x86_64" is already installed.
Nothing to do.

Do you know where I could obtain .rpm package for krdc 25.04?
Comment 4 Fabio 2025-04-04 15:25:42 UTC
A first good news is that i just tried a krdc to krdp connection on neon-unstable-developer version and it works fine, I've even been able to watch a youtube video (at about 2 fps but I guess that's fine while running inside a vm on the same laptop). So the basic functionality should be ok.

I had a look at https://bugs.kde.org/show_bug.cgi?id=500276 and it seems related to the way Fedora compiles krdc. Time to build a Fedora VM, I guess. 

> Do you know where I could obtain .rpm package for krdc 25.04?

Here maybe: https://koji.fedoraproject.org/koji/packageinfo?packageID=16752 , 25.03.80 is the beta for 25.04 
but I'm not sure whether those packages may require a lot of updated dependencies possibly trashing your installation, so take care.
Comment 5 Piotr Dobrogost 2025-04-06 19:01:59 UTC
I'm not sure if there was active plasma session running on the server when I was trying this…
Now, I set auto-login in SDDM and restarted the server to be "sure" there is an active session on remote server.
Now, on the server I get this:
```
$ systemctl --user status plasma-workspace-wayland.target
● plasma-workspace-wayland.target
     Loaded: loaded (/usr/lib/systemd/user/plasma-workspace-wayland.target; static)
     Active: active since Sun 2025-04-06 20:11:14 CEST; 32min ago
 Invocation: 75c2af75b6a040ca9bc62969de6d5936

kwi 06 20:11:14 demon systemd[1270]: Reached target plasma-workspace-wayland.target.
```
which I think means that plasma session is active (although $SESSION_DESKTOP is empty but I think it shouldn't)?

Now when trying to connect I get this in KRdp server logs:

```
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:476] [2210:209349] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [ERROR][com.winpr.sspi.NTLM] - Error: Could not find user in SAM database
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [WARN][com.winpr.sspi] - CompleteAuthToken status SEC_E_INTERNAL_ERROR [0x80090304]
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [WARN][com.freerdp.core.nla] - CompleteAuthToken status SEC_E_INTERNAL_ERROR [0x80090304]
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [ERROR][com.freerdp.core.transport] - client authentication failure
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [ERROR][com.freerdp.core.peer] - peer_recv_callback: CONNECTION_STATE_INITIAL - rdp_server_accept_nego() fail
kwi 06 20:54:03 demon krdpserver[2210]: [20:54:03:580] [2210:209349] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1
```

and this in KRDC logs:

```
kwi 06 20:54:12 hostx krdc[1707721]: [20:54:12:126] [1707721:1707721] [ERROR][com.freerdp.core.connection] - Timeout waiting for activation
kwi 06 20:54:12 hostx krdc[1707721]: KRDC: Unable to connect
kwi 06 20:54:12 hostx kwin_wayland[1849]: kwin_core: Cannot grant a token to KWin::ClientConnection(0x559c00876960)
kwi 06 20:54:36 hostx krdc[1707721]: [20:54:36:300] [1707721:1707721] [ERROR][com.freerdp.core] - freerdp_abort_connect:freerdp_set_last_error_ex ERRCONNECT_CONNECT_CANCELLED [0x0002000B]
```


I couldn't find anything interesting about `[com.winpr.sspi.NTLM] - Error: Could not find user in SAM database` error.
Comment 6 Piotr Dobrogost 2025-04-07 20:03:02 UTC
Just an update that I tried krdc version 25.03.80 from a live image of Rawhide and got the same error on server side (KRdp):
`Error: Could not find user in SAM database`
Comment 7 Fabio 2025-04-07 20:37:17 UTC
>  I couldn't find anything interesting about `[com.winpr.sspi.NTLM] - Error: Could not find user in SAM database` error.

As far as I can see krdc (the client) is trying to connect, but the krdp (the server) is not able to authenticate the user.

Krdp currently only supports NLA authentication (Network Level Authentication: https://invent.kde.org/plasma/krdp/-/blob/master/src/RdpConnection.cpp?ref_type=heads#L294 ) using NTLM.
When starting the server Krdp creates a temporary SAM file containing the valid user/password pairs ( https://invent.kde.org/plasma/krdp/-/blob/master/src/RdpConnection.cpp?ref_type=heads#L49 ) that libfreerdp uses to authenticate users.
Freerdp is reporting failure while trying to authenticate the user to the SAM database provided by Krdp.

I guess the server you are testing is still based on libfrerdp2, so I'm not sure if the issue could be due to some bug already fixed on freerdp3.
Comment 8 Piotr Dobrogost 2025-04-08 10:04:02 UTC
By the way it appears that FreeRDP has only rudimentary support for `NO_PROXY` environment variable what prevented me from connecting to another host inside corporate LAN by trying to needlessly connect through the proxy – https://discuss.kde.org/t/how-to-make-rdp-connection-not-using-http-proxy-in-krdc-freerdp/32315?u=piotr_dobrogost
Maybe KRDC could check if `NO_PROXY` is set and display some warning with the link to https://github.com/FreeRDP/FreeRDP/issues/4697 ?
Comment 9 Fabio 2025-04-11 16:06:37 UTC
So, I finally had the time to setup a Fedora KDE vm to test the issue.

First attempt using Virtualbox, it failed since the server was not able to find an accellerated video driver (wmwgfx_drv_video.so) and i got an empty video stream.
Turns out VBox 3d accelleration under Linux is broken, so back to the start line.

Second attempt using virt-manager (KVM+qemu+virtio):
 * 3d accelleration works
 * kpipewire still reports "Hardware encoding is not supported on this device."
 * openh264 gets used anyway
 * the video stream works 

apr 11 17:48:37 fedora systemd[1205]: Starting app-org.kde.krdpserver.service - KRDP Server...
apr 11 17:48:37 fedora systemd[1205]: Started app-org.kde.krdpserver.service - KRDP Server.
apr 11 17:49:17 fedora krdpserver[2345]: [17:49:17:756] [2345:2355] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_CONTINUE_NEEDED [0x00090312]
apr 11 17:49:17 fedora krdpserver[2345]: [17:49:17:756] [2345:2355] [WARN][com.winpr.negotiate] - AcceptSecurityContext status SEC_I_COMPLETE_NEEDED [0x00090313]
apr 11 17:49:17 fedora krdpserver[2345]: org.kde.krdp: New client connected:  Unspecified platform Unspecified version
apr 11 17:49:17 fedora krdpserver[2345]: libva info: VA-API version 1.22.0
apr 11 17:49:17 fedora krdpserver[2345]: libva info: Trying to open /usr/lib64/dri-nonfree/virtio_gpu_drv_video.so
apr 11 17:49:17 fedora krdpserver[2345]: libva info: Trying to open /usr/lib64/dri-freeworld/virtio_gpu_drv_video.so
apr 11 17:49:17 fedora krdpserver[2345]: libva info: Trying to open /usr/lib64/dri/virtio_gpu_drv_video.so
apr 11 17:49:17 fedora krdpserver[2345]: libva info: Found init function __vaDriverInit_1_22
apr 11 17:49:17 fedora krdpserver[2345]: libva info: va_openDriver() returns 0
apr 11 17:49:17 fedora krdpserver[2345]: kpipewire_vaapi_logging: VAAPI: Mesa Gallium driver 25.0.2 for virgl (Mesa Intel(R) Graphics (ADL GT2)) in use for device "/dev/dri/renderD128"
apr 11 17:49:17 fedora krdpserver[2345]: kpipewire_vaapi_logging: DRM device not found
apr 11 17:49:24 fedora krdpserver[2345]: kpipewire_record_logging: Hardware encoding is not supported on this device.
apr 11 17:49:24 fedora krdpserver[2345]: kpipewire_record_logging: libx264 codec not found
apr 11 17:49:24 fedora krdpserver[2345]: [libopenh264 @ 0x7f8b4835ca00] [OpenH264] this = 0x0x7f8b48040fd0, Warning:layerId(0) doesn't support profile(578), change to UNSPECIFIC profile
apr 11 17:49:24 fedora krdpserver[2345]: [libopenh264 @ 0x7f8b4835ca00] [OpenH264] this = 0x0x7f8b48040fd0, Warning:bEnableFrameSkip = 0,bitrate can't be controlled for RC_QUALITY_MODE,RC_BITRATE_MODE and RC_TIMESTAMP_MODE without enabling skip frame.

Tested using krdp 6.3.4-1.fc41, openh264 2.4.1-2.fc41, self-compiled krdc 25.04
Comment 10 Piotr Dobrogost 2025-04-22 13:28:16 UTC
Tried with krdc.x86_64 25.04.0-2.fc42 and krdp.x86_64 6.3.4-2.fc42 still with no image.
There seems to be a problem with h264 decoder:

```
kwi 22 15:20:34 hostx krdc[3503]: KRDC: Starting RDP session
kwi 22 15:20:34 hostx krdc[3503]: [15:20:34:892] [3503:00001a43] [ERROR][com.freerdp.codec] - [openh264_init]: Failed to create OpenH264 decoder
kwi 22 15:20:34 hostx krdc[3503]: [15:20:34:892] [3503:00001a43] [WARN][com.freerdp.core.codecs] - [freerdp_client_codecs_prepare]: Failed to create h264 codec context
kwi 22 15:20:35 hostx krdc[3503]: [15:20:35:013] [3503:00001a43] [WARN][com.freerdp.crypto] - [verify_cb]: Certificate verification failure 'self-signed certificate (18)' at stack position 0
kwi 22 15:20:35 hostx krdc[3503]: [15:20:35:013] [3503:00001a43] [WARN][com.freerdp.crypto] - [verify_cb]: C = XX, L = Default City, O = Default Company Ltd
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:186] [3503:00001a43] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:188] [3503:00001a43] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:290] [3503:00001a43] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:290] [3503:00001a43] [WARN][com.freerdp.core.license] - [license_read_binary_blob_data]: license binary blob::type BB_ERROR_BLOB, length=0, skipping.
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:291] [3503:00001a43] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:363] [3503:00001a54] [ERROR][com.freerdp.codec] - [openh264_init]: Failed to create OpenH264 decoder
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:363] [3503:00001a54] [WARN][com.freerdp.core.codecs] - [freerdp_client_codecs_prepare]: Failed to create h264 codec context
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.codec] - [openh264_init]: Failed to create OpenH264 decoder
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: unable to create h264 context
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_decode_AVC420]: context->SurfaceCommand failed with error 8
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_decode]: rdpgfx_decode_AVC420 failed with error 8
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_recv_wire_to_surface_1_pdu]: rdpgfx_decode failed with error 8!
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_recv_pdu]: rdpgfx_recv_wire_to_surface_1_pdu failed with error 8!
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_recv_pdu]: Error while processing GFX cmdId: RDPGFX_CMDID_WIRETOSURFACE_1 (0x0001)
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.rdpgfx.client] - [rdpgfx_on_data_received]: rdpgfx_recv_pdu failed with error 8!
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.drdynvc.client] - [drdynvc_process_data]: ChannelId 1 not found!
kwi 22 15:20:40 hostx krdc[3503]: [15:20:40:541] [3503:00001a54] [ERROR][com.freerdp.channels.drdynvc.client] - [drdynvc_process_data]: ChannelId 1 not found!
```

I have the following packages installed:
```
$ dnf list --installed '*264*' '*ffmpeg*'
Installed packages
compat-ffmpeg4.x86_64    4.4.5-3.fc42                      rpmfusion-free
ffmpeg.x86_64            7.1.1-3.fc42                      rpmfusion-free
ffmpeg-libs.x86_64       7.1.1-3.fc42                      rpmfusion-free
ffmpegthumbs.x86_64      25.04.0-1.fc42                    updates
noopenh264.x86_64        2.5.0-2.fc42                      fedora
vlc-plugin-ffmpeg.x86_64 1:3.0.21-19.fc42                  fedora
x264-libs.x86_64         0.164-16.20231001git31e19f92.fc42 rpmfusion-free
```
Comment 11 Fabio 2025-04-22 13:31:12 UTC
> There seems to be a problem with h264 decoder:
Can you try to run xfreerdp / wlfreerdp on the same host and see if it reports the same error?
If it does, I'm afraid we can only raise the issue to the distro package
Comment 12 Piotr Dobrogost 2025-04-22 13:57:48 UTC
After installing `openh264` with `sudo dnf swap \*openh264\* noopenh264` I get white solid background instead of remote stream and the following in log:
```
kwi 22 15:39:57 hostx systemd[1242]: Started app-org.kde.krdc@7e241c44d630451092a217b91bc22ff3.service - KRDC - Remote Desktop Client.
kwi 22 15:41:44 hostx krdc[8607]: KRDC: Starting RDP session
kwi 22 15:41:44 hostx krdc[8607]: [15:41:44:467] [8607:000021cb] [WARN][com.freerdp.crypto] - [verify_cb]: Certificate verification failure 'self-signed certificate (18)' at stack position 0
kwi 22 15:41:44 hostx krdc[8607]: [15:41:44:467] [8607:000021cb] [WARN][com.freerdp.crypto] - [verify_cb]: C = XX, L = Default City, O = Default Company Ltd
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:208] [8607:000021cb] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:209] [8607:000021cb] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:310] [8607:000021cb] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:310] [8607:000021cb] [WARN][com.freerdp.core.license] - [license_read_binary_blob_data]: license binary blob::type BB_ERROR_BLOB, length=0, skipping.
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:311] [8607:000021cb] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:578] [8607:000021e0] [WARN][com.freerdp.codec] - [openh264_decompress]: DecodeFrame2 state: 0x0004 iBufferStatus: 0
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:578] [8607:000021e0] [WARN][com.freerdp.gdi] - [gdi_SurfaceCommand_AVC420]: avc420_decompress failure: -2002, ignoring update.
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:579] [8607:000021e0] [WARN][com.freerdp.codec] - [openh264_decompress]: DecodeFrame2 iBufferStatus: 0
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:631] [8607:000021e0] [WARN][com.freerdp.codec] - [openh264_decompress]: DecodeFrame2 iBufferStatus: 0
kwi 22 15:41:49 hostx krdc[8607]: [15:41:49:676] [8607:000021e0] [WARN][com.freerdp.codec] - [openh264_decompress]: DecodeFrame2 iBufferStatus: 0
```

I get the same result and the same log with wlfreerdp. In addition when using wlfreerdp sometimes the connection is not established with the following log:
```
[15:52:12:310] [9363:00002493] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_warn_deprecated]: [deprecated] wlfreerdp client has been deprecated
[15:52:12:310] [9363:00002493] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_warn_deprecated]: As replacement there is a SDL based client available.
[15:52:12:310] [9363:00002493] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_warn_deprecated]: If you are interested in keeping wlfreerdp alive get in touch with the developers
[15:52:12:310] [9363:00002493] [WARN][com.freerdp.client.common.cmdline] - [freerdp_client_warn_deprecated]: The project is hosted at https://github.com/freerdp/freerdp and  developers hang out in https://matrix.to/#/#FreeRDP:matrix.org?via=matrix.org - dont hesitate to ask some questions. (replies might take some time depending on your timezone)
[15:52:12:402] [9363:00002493] [WARN][com.freerdp.crypto] - [verify_cb]: Certificate verification failure 'self-signed certificate (18)' at stack position 0
[15:52:12:402] [9363:00002493] [WARN][com.freerdp.crypto] - [verify_cb]: C = XX, L = Default City, O = Default Company Ltd
[15:52:12:403] [9363:00002493] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
[15:52:12:404] [9363:00002493] [ERROR][com.winpr.sspi.Kerberos] - [kerberos_AcquireCredentialsHandleA]: krb5_parse_name (Configuration file does not specify default realm [-1765328160])
[15:52:12:506] [9363:00002493] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
[15:52:12:506] [9363:00002493] [WARN][com.freerdp.core.license] - [license_read_binary_blob_data]: license binary blob::type BB_ERROR_BLOB, length=0, skipping.
[15:52:12:506] [9363:00002493] [WARN][com.freerdp.core.connection] - [rdp_client_connect_auto_detect]: expected messageChannelId=1008, got 1003
[15:52:12:507] [9363:00002493] [INFO][com.freerdp.gdi] - [gdi_init_ex]: Local framebuffer format  PIXEL_FORMAT_BGRA32
[15:52:12:507] [9363:00002493] [INFO][com.freerdp.gdi] - [gdi_init_ex]: Remote framebuffer format PIXEL_FORMAT_BGRA32
[15:52:12:519] [9363:00002493] [INFO][com.freerdp.channels.rdpsnd.client] - [rdpsnd_load_device_plugin]: [static] Loaded fake backend for rdpsnd
[15:52:12:520] [9363:00002493] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel ainput
[15:52:12:520] [9363:00002493] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel rdpgfx
[15:52:12:520] [9363:00002493] [INFO][com.freerdp.channels.drdynvc.client] - [dvcman_load_addin]: Loading Dynamic Virtual Channel rdpsnd
[15:52:12:538] [9363:00002493] [INFO][com.freerdp.core] - [rdp_print_errinfo]: ERRINFO_LOGOFF_BY_USER (0x0000000C):The disconnection was initiated by the user logging off their session on the server.
[15:52:12:538] [9363:00002493] [ERROR][com.freerdp.core] - [rdp_set_error_info]: ERRINFO_LOGOFF_BY_USER [0x0001000C]
[15:52:12:538] [9363:00002493] [ERROR][com.freerdp.core.rdp] - [rdp_recv_callback_int][0x562476eb0540]: CONNECTION_STATE_CAPABILITIES_EXCHANGE_DEMAND_ACTIVE status STATE_RUN_QUIT_SESSION [-2]
[15:52:12:538] [9363:00002493] [ERROR][com.freerdp.core.transport] - [transport_check_fds]: transport_check_fds: transport->ReceiveCallback() - STATE_RUN_QUIT_SESSION [-2]
```
Comment 13 Fabio 2025-04-22 14:06:57 UTC
> After installing `openh264` with `sudo dnf swap \*openh264\* noopenh264`
I'm no fedora guy, but s far as i understand you just installed a "Fake implementation of the OpenH264 library" (https://packages.fedoraproject.org/pkgs/noopenh264/noopenh264/index.html), that can't work.
I guess you need this one instead: https://docs.fedoraproject.org/en-US/quick-docs/openh264/ ?
Comment 14 Piotr Dobrogost 2025-04-22 14:27:40 UTC
(In reply to Fabio from comment #13)
> > After installing `openh264` with `sudo dnf swap \*openh264\* noopenh264`
> I'm no fedora guy, but s far as i understand you just installed a "Fake
> implementation of the OpenH264 library"

This would seem so according to `man dnf swap` which shows `dnf5 swap [options] <remove-spec> <install-spec>`.
However it seems that this command does not care about the order of packages given as arguments and removes one which is installed and install the other one.

First invocation (removes openh264, installs noopenh264):
```
$ sudo dnf swap \*openh264\* noopenh264
Updating and loading repositories:
Repositories loaded.
Problem: cannot install the best candidate for the job
  - conflicting requests

Package                                                           Arch           Version                                                           Repository                                 Size
Removing:
 mozilla-openh264                                                 x86_64         2.4.1-2.fc42                                                      fedora-cisco-openh264                   1.1 MiB
 openh264                                                         x86_64         2.4.1-2.fc42                                                      fedora-cisco-openh264                   1.1 MiB
Installing:
 noopenh264                                                       x86_64         2.5.0-2.fc42                                                      fedora                                 38.9 KiB

Transaction Summary:
 Installing:         1 package
 Removing:           2 packages

Total size of inbound packages is 22 KiB. Need to download 22 KiB.
After this operation, 2 MiB will be freed (install 39 KiB, remove 2 MiB).
Is this ok [y/N]: y
[1/1] noopenh264-0:2.5.0-2.fc42.x86_64                                                                                                                    100% | 143.2 KiB/s |  21.9 KiB |  00m00s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[1/1] Total                                                                                                                                               100% |  66.0 KiB/s |  21.9 KiB |  00m00s
Running transaction
[1/5] Verify package files                                                                                                                                100% | 125.0   B/s |   1.0   B |  00m00s
[2/5] Prepare transaction                                                                                                                                 100% |   2.0   B/s |   3.0   B |  00m01s
[3/5] Installing noopenh264-0:2.5.0-2.fc42.x86_64                                                                                                         100% |   1.8 MiB/s |  40.5 KiB |  00m00s
[4/5] Removing mozilla-openh264-0:2.4.1-2.fc42.x86_64                                                                                                     100% | 894.0   B/s |  17.0   B |  00m00s
[5/5] Removing openh264-0:2.4.1-2.fc42.x86_64                                                                                                             100% |   6.0   B/s |   9.0   B |  00m01s
Complete!
```


Second, identical invocation (this time does the opposite; removes noopenh264, installs openh264)
```
$ sudo dnf swap \*openh264\* noopenh264
Updating and loading repositories:
Repositories loaded.
Package "noopenh264-2.5.0-2.fc42.x86_64" is already installed.

Package                                                           Arch           Version                                                           Repository                                 Size
Installing:
 openh264                                                         x86_64         2.4.1-2.fc42                                                      fedora-cisco-openh264                   1.1 MiB
   replacing noopenh264                                           x86_64         2.5.0-2.fc42                                                      fedora                                 38.9 KiB
Installing dependencies:
 mozilla-openh264                                                 x86_64         2.4.1-2.fc42                                                      fedora-cisco-openh264                   1.1 MiB

Transaction Summary:
 Installing:         2 packages
 Replacing:          1 package

Total size of inbound packages is 845 KiB. Need to download 845 KiB.
After this operation, 2 MiB extra will be used (install 2 MiB, remove 39 KiB).
Is this ok [y/N]: y
[1/2] openh264-0:2.4.1-2.fc42.x86_64                                                                                                                      100% | 676.0 KiB/s | 419.1 KiB |  00m01s
[2/2] mozilla-openh264-0:2.4.1-2.fc42.x86_64                                                                                                              100% | 676.7 KiB/s | 426.3 KiB |  00m01s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[2/2] Total                                                                                                                                               100% |   1.0 MiB/s | 845.5 KiB |  00m01s
Running transaction
[1/5] Verify package files                                                                                                                                100% |  60.0   B/s |   2.0   B |  00m00s
[2/5] Prepare transaction                                                                                                                                 100% |   2.0   B/s |   3.0   B |  00m01s
[3/5] Installing openh264-0:2.4.1-2.fc42.x86_64                                                                                                           100% |  26.4 MiB/s |   1.1 MiB |  00m00s
[4/5] Installing mozilla-openh264-0:2.4.1-2.fc42.x86_64                                                                                                   100% |  44.1 MiB/s |   1.1 MiB |  00m00s
[5/5] Removing noopenh264-0:2.5.0-2.fc42.x86_64                                                                                                           100% |   8.0   B/s |  10.0   B |  00m01s
Complete!


What implementation of h264 are you using?
Comment 15 Fabio 2025-04-22 14:33:09 UTC
> What implementation of h264 are you using?
The FFMpeg one:

-- Found FFmpeg: /usr/lib64/libavutil.so;/usr/lib64/libavcodec.so  found components: AVUTIL AVCODEC
-- Skipping optional feature OpenH264 for codec (use OpenH264 library)