Hello! I am unsure whether this is a bug or belongs in the help section (I’m new here)
I am trying to use KRDP to remotely log into my pc, but I am encountering some sort of encoding error and I was hoping I could get some help changing a setting that may be incorrect or if it is just a bug, I can submit a bug report. Any time I try to connect all I see on the client side is a black (or white in remmina) screen, this is what I see with logging:
journalctl --user -u app-org.kde.krdpserver.service -f
Nov 23 15:34:06 arklinux krdpserver[327951]: [15:34:06:928] [327951:0005015d] [ERROR][com.freerdp.core.peer] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Nov 23 15:34:06 arklinux krdpserver[327951]: Unable to check file descriptor
Nov 23 15:34:06 arklinux krdpserver[327951]: Closing session
Nov 23 15:34:07 arklinux krdpserver[327951]: Closing Freedesktop Portal Session
Nov 23 15:36:20 arklinux systemd[2496]: Stopping KRDP Server...
Nov 23 15:36:21 arklinux systemd[2496]: Stopped KRDP Server.
Nov 23 15:36:21 arklinux systemd[2496]: app-org.kde.krdpserver.service: Consumed 1.970s CPU time, 78M memory peak.
Nov 23 15:36:21 arklinux systemd[2496]: Starting KRDP Server...
Nov 23 15:36:21 arklinux systemd[2496]: Started KRDP Server.
Nov 23 15:36:21 arklinux krdpserver[328698]: Listening for connections on QHostAddress(QHostAddress::Any) 3390
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: *************************************************
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: This build is using [experimental] build options:
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: * 'WITH_VAAPI=ON'
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: *
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: [experimental] build options might crash the application
Nov 23 15:36:28 arklinux krdpserver[328698]: [15:36:28:869] [328698:000503fa] [WARN][com.freerdp.core.rdp] - [log_build_warn][0x55991fc68cf0]: *************************************************
Nov 23 15:36:28 arklinux krdpserver[328698]: Session setup completed, start processing...
Nov 23 15:36:30 arklinux krdpserver[328698]: New client connected: UNIX platform Native X Server
Nov 23 15:36:30 arklinux krdpserver[328698]: Attempting authenticating user with PAM
Nov 23 15:36:31 arklinux krdpserver[328732]: pam_unix(login:account): setuid failed: Operation not permitted
Nov 23 15:36:31 arklinux krdpserver[328698]: PAM authentication succeeded for user "noah"
Nov 23 15:36:31 arklinux krdpserver[328698]: QObject: Cannot create children for a parent that is in a different thread.
(Parent is QApplication(0x7ffee7b0b4a0), parent's thread is QThread(0x55991f8a63a0), current thread is QThread(0x7f89f8001040)
Nov 23 15:36:31 arklinux krdpserver[328698]: Video stream initialized
Nov 23 15:36:31 arklinux krdpserver[328698]: Initializing Freedesktop Portal Session
Nov 23 15:36:31 arklinux krdpserver[328698]: Started Freedesktop Portal session
Nov 23 15:36:31 arklinux krdpserver[328698]: Received caps:
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_8 AVC: false YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_81 AVC: true YUV420: true
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_10 AVC: true YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_101 AVC: true YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_102 AVC: true YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_103 AVC: true YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_104 AVC: true YUV420: true
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_105 AVC: true YUV420: true
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_106 AVC: true YUV420: true
Nov 23 15:36:31 arklinux krdpserver[328698]: UNKNOWN_VERSION AVC: false YUV420: false
Nov 23 15:36:31 arklinux krdpserver[328698]: RDPGFX_CAPVERSION_107 AVC: true YUV420: true
Nov 23 15:36:31 arklinux krdpserver[328698]: Selected caps: RDPGFX_CAPVERSION_107
Nov 23 15:36:31 arklinux krdpserver[328698]: VAAPI: VA-API NVDEC driver [direct backend] in use for device "/dev/dri/renderD129"
Nov 23 15:36:32 arklinux krdpserver[328698]: Forcing encoder to "SoftwareEncoder"
Nov 23 15:36:32 arklinux krdpserver[328698]: No encoder could be created
Nov 23 15:36:35 arklinux krdpserver[328698]: [15:36:35:784] [328698:00050419] [ERROR][com.freerdp.core.transport] - [transport_read_layer]: BIO_read retries exceeded
Nov 23 15:36:35 arklinux krdpserver[328698]: [15:36:35:784] [328698:00050419] [ERROR][com.freerdp.core.peer] - [transport_read_layer]: ERRCONNECT_CONNECT_TRANSPORT_FAILED [0x0002000D]
Nov 23 15:36:35 arklinux krdpserver[328698]: Unable to check file descriptor
Nov 23 15:36:35 arklinux krdpserver[328698]: Closing session
Nov 23 15:36:35 arklinux krdpserver[328698]: Closing Freedesktop Portal Session
For some reason, it really wants to force a software encoder. Tried to force it to use Nvidia, through a ~/.config/systemd/user/app-org.kde.krdpserver.service.d/override.conf file, but even with it I still get the forced encoder problem. Speaking of which, this is my current hardware:
System:
Kernel: 6.17.8-arch1-1 arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
clocksource: tsc avail: hpet,acpi_pm parameters: root=/dev/mapper/root
zswap.enabled=0 rootflags=subvol=@ rw quiet
Desktop: KDE Plasma v: 6.5.3 tk: Qt v: N/A info: frameworks v: 6.20.0
wm: kwin_wayland with: krunner vt: 8 dm: 1: LightDM v: 1.32.0 2: SDDM
note: stopped Distro: Arch Linux
Machine:
Type: Desktop Mobo: Micro-Star model: PRO Z890-P WIFI (MS-7E34) v: 1.0
serial: <superuser required> uuid: <superuser required> UEFI: American
Megatrends LLC. v: 1.AA0 date: 06/23/2025
CPU:
Info: model: Intel Core Ultra 7 265K bits: 64 type: MCP arch: Arrow Lake
level: v3 note: check built: 2024+ process: Intel 20a (2nm) family: 6
model-id: 0xC6 (198) stepping: 2 microcode: 0x11A
Graphics:
Device-1: Intel Arrow Lake-S [Intel Graphics] vendor: Micro-Star MSI
driver: i915 v: kernel alternate: xe arch: Xe2-LPG process: TSMC n3 (3nm)
built: 2025+ ports: active: DP-3 empty: DP-1, DP-2, HDMI-A-1, HDMI-A-2
bus-ID: 00:02.0 chip-ID: 8086:7d67 class-ID: 0300
Device-2: NVIDIA AD102 [GeForce RTX 4090] vendor: Dell driver: nvidia
v: 580.105.08 alternate: nouveau,nvidia_drm non-free: 550-580.xx+
status: current (as of 2025-08) arch: Lovelace code: AD1xx
process: TSMC n4 (5nm) built: 2022+ pcie: gen: 2 speed: 5 GT/s lanes: 16
link-max: gen: 4 speed: 16 GT/s ports: active: DP-4
empty: DP-5,DP-6,HDMI-A-3 bus-ID: 02:00.0 chip-ID: 10de:2684 class-ID: 0300
Display: wayland server: X.org v: 1.21.1.20 with: Xwayland v: 24.1.9
compositor: kwin_wayland driver: X: loaded: modesetting,nvidia
alternate: fbdev,intel,nouveau,nv,vesa dri: iris
gpu: i915,nvidia,nvidia-nvswitch d-rect: 4480x2520 display-ID: 0
API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
surfaceless: drv: nvidia wayland: drv: nvidia x11: drv: nvidia
inactive: device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.105.08
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4090/PCIe/SSE2
memory: 23.43 GiB display-ID: :1.0
API: Vulkan v: 1.4.328 layers: 6 device: 0 type: discrete-gpu
name: NVIDIA GeForce RTX 4090 driver: nvidia v: 580.105.08
device-ID: 10de:2684 surfaces: N/A
Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: NVIDIA AD102 High Definition Audio vendor: Dell
driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
bus-ID: 02:00.1 chip-ID: 10de:22ba class-ID: 0403
Device-2: Intel vendor: Micro-Star MSI driver: snd_hda_intel v: kernel
alternate: snd_sof_pci_intel_mtl bus-ID: 80:1f.3 chip-ID: 8086:7f50
class-ID: 0403
API: ALSA v: k6.17.8-arch1-1 status: kernel-api tools: N/A
Server-1: PipeWire v: 1.4.9 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
Device-1: Qualcomm WCN785x Wi-Fi 7 320MHz 2x2 [FastConnect 7800]
vendor: Foxconn Band Simultaneous Wireless driver: ath12k_pci v: N/A
modules: ath12k pcie: gen: 3 speed: 8 GT/s lanes: 1 link-max: lanes: 2
bus-ID: 81:00.0 chip-ID: 17cb:1107 class-ID: 0280
IF: wlan1 state: down mac: <filter>
Device-2: Intel Wi-Fi 7 AX1775 /AX1790 /BE20 /BE401/BE1750 2x2
driver: iwlwifi v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 1
bus-ID: 82:00.0 chip-ID: 8086:272b class-ID: 0280
IF: wlan0 state: down mac: <filter>
Device-3: Realtek RTL8126 5GbE vendor: Micro-Star MSI driver: r8169
v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 1 port: 3000 bus-ID: 83:00.0
chip-ID: 10ec:8126 class-ID: 0200
IF: enp131s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: br-f0618acf52ce state: down mac: <filter>
IF-ID-2: docker0 state: up speed: 10000 Mbps duplex: unknown mac: <filter>
IF-ID-3: veth04913a5 state: up speed: 10000 Mbps duplex: full mac: <filter>
Info: services: NetworkManager, sshd, systemd-timesyncd
Info:
Memory: total: 64 GiB available: 62.17 GiB used: 12.66 GiB (20.4%)
Processes: 566 Power: uptime: 3d 23h 35m states: freeze,mem,disk
suspend: deep avail: s2idle wakeups: 0 hibernate: platform avail: shutdown,
reboot, suspend, test_resume image: 24.86 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 258 default: graphical
tool: systemctl
Packages: 1310 pm: pacman pkgs: 1283 libs: 353 tools: yay pm: flatpak
pkgs: 27 Compilers: clang: 21.1.6 gcc: 15.2.1 Shell: Zsh v: 5.9 default: Bash
v: 5.3.3 running-in: konsole inxi: 3.3.39
additional info:
transport failed in log is due to manual disconnect on client side, don’t worry about that.
tried to connect via xfreerdp3 and remmina. Tried disabling second monitor, and just connecting to primary monitor with /monitors in xfreerdp, tried with dynamic resolution on and off
tried removing all the config files I could find, reinstalling krdp, plasma-meta and ffmpeg, but that didn’t help either.
Lastly, I did try using port 3389 (default) but switched back when I got the same error still. I am on 3390 because I am using 3389 for a winapps docker container, which i can connect to from a remote computer funnily enough. I did stop the container and switch to 3389 though, and had no different result.
chatgpt summary of my full attempt to fix:
• - Issue: KRDP connections show black screen and no input.
- Hardware: NVIDIA (renderD129) + Intel iGPU (renderD128); VAAPI NVDEC in use.
- Config attempts:
- Reset configs: moved ~/.config/krdpserverrc, drop-ins, etc.; restarted service.
- Forced software encoders: KPIPEWIRE_FORCE_ENCODER=SoftwareEncoder, also tried LibX264Encoder; added
KPIPEWIRE_DISABLE_DMABUF=1; still “No encoder could be created”.
- Forced NVIDIA VAAPI path: still fails.
- Tried fresh with no overrides: still fails.
- Logs (recurring):
- VAAPI: VA-API NVDEC driver [direct backend] in use for device "/dev/dri/renderD129"
- Forcing encoder to "…"
- Setting BufferSourceContext.pix_fmt to a HW format requires hw_frames_ctx to be non-NULL! (when hw→sw
handoff) or simply No encoder could be created (even on SoftwareEncoder), then session disconnects.
- Observations: Encoder creation fails regardless of chosen encoder; suggests a regression/bug in current krdp/
kpipewire build rather than missing packages. Reinstall suggested via sudo pacman -S krdp kpipewire ffmpeg but
no fix.
- Environment: KRDP 6.5.3-1, KPipeWire 6.5.3-1 (Plasma), ffmpeg present; PipeWire 1.4.9 per log.
- Other: TLS “wrong version number” seen once (likely stray client), but main blocker is encoder init failure.
and before I get anything about googling my problem, I did do that, but I couldn’t find anything relevant so spare me the passive aggressive comment about it.