Bug 521891 - KRDP Cascading issues
Summary: KRDP Cascading issues
Status: RESOLVED DUPLICATE of bug 521776
Alias: None
Product: KRdp
Classification: Plasma
Component: general (other bugs)
Version First Reported In: 6.7.0
Platform: Arch Linux Other
: NOR normal
Target Milestone: ---
Assignee: Unassigned bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-20 19:34 UTC by Ross G
Modified: 2026-06-25 14:55 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ross G 2026-06-20 19:34:53 UTC
KDE KRDP Bug Report
Title: KRDP 6.7.0 fails to connect due to PAM privileges, FreeRDP VAAPI crashes on unsupported GPUs, and KPipeWire fallback failures

Component: krdp / kpipewire Version: Plasma 6.7.0, FreeRDP 3.27.1 OS: Arch Linux (Wayland)

Summary
A recent system update to Plasma 6.7.0 and FreeRDP 3.27.1 completely breaks KRDP on older hardware (Intel Sandy Bridge / No H.264 hardware encoding). This is a multi-layered failure spanning PAM authentication, FreeRDP hardware encoding crashes, and KPipeWire software fallback failures.

Issue 1: PAM Authentication Failure (NoNewPrivileges)
KRDP runs as a systemd user service. When connecting using System User Authentication, pam_unix attempts to read /etc/shadow but fails to drop privileges with: pam_unix(login:account): setuid failed: Operation not permitted pam_authenticate failure: Authentication service cannot retrieve authentication info Workaround: Injecting NoNewPrivileges=false into app-org.kde.krdpserver.service.d/override.conf resolves the PAM error.

Issue 2: FreeRDP VAAPI Hard Crash
After bypassing the auth bug, FreeRDP (built with WITH_VAAPI=ON) attempts to initialize a hardware H.264 encoder on a Sandy Bridge GPU that only supports decoding. Instead of gracefully falling back to software encoding, it hard-crashes the socket connection: VAAPI: Failed to initialize display VAAPI: current session render node "/dev/dri/renderD128" does not support H264 encoding BIO_should_retry returned an error: error:80000020:system library::Broken pipe Workaround: Downgrading freerdp to 3.22.0-2 prevents the hard crash and allows the connection to stay open.

Issue 3: KPipeWire Software Encoder Fallback Failure
Even with a stable FreeRDP version, the stream returns a black screen (0 FPS). The KPipeWire fallback fails to automatically provide frames. Workaround: Manually injecting Environment=KPIPEWIRE_FORCE_ENCODER=libx264 into the systemd service forces the software encoder to work correctly and stream the desktop.

Issue 4: xdg-desktop-portal-kde Locale Bug
The screen-sharing portal service fails D-Bus registration if started by systemd in a non-UTF-8 environment: Detected locale "C" with character encoding "ANSI_X3.4-1968", which is not UTF-8. Failed to register with host portal QDBusError("org.freedesktop.portal.Error.Failed", "Could not register app ID: Connection already associated with an application ID") Workaround: Injecting LANG=en_US.UTF-8 into the systemd environment fixes the portal negotiation.

Expected Behavior
The KRDP systemd service should have the correct privileges configured to allow pam_unix to authenticate system users.
FreeRDP/KRDP should gracefully fall back to software encoding when the VAAPI driver reports does not support H264 encoding, without dropping the TCP connection.
KPipeWire should automatically select a functional software encoder (like libx264) if hardware acceleration is physically unavailable or fails to initialize.
Comment 1 David Edmundson 2026-06-25 14:55:06 UTC
I can't track multiple things in one report. 

Issue 3 is somewhat expected, I meant to do that next.

FWIW Issue 4 is also fixed.

*** This bug has been marked as a duplicate of bug 521776 ***