https://bugs.kde.org/show_bug.cgi?id=524173
Bug ID: 524173
Summary: krdpserver encoding pipeline corruption results in no
remote desktop displayed on multiple RDP clients,
however progressive fallback works with sdl-freerdp3
Classification: Plasma
Product: KRdp
Version First 6.7.1
Reported In:
Platform: EndeavourOS
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: general
Assignee: [email protected]
Reporter: [email protected]
CC: [email protected]
Target Milestone: ---
DESCRIPTION
I've been having intermittent RDP usability issues and through trial and error
have noticed the pattern below.
The client and server are both EndeavourOS with AMD GPUs and freerdp
2:3.27.1-1.
VA-API H.264 encode is supported by server according to vainfo.
STEPS TO REPRODUCE
1. Start krdpserver.
2. Use an RDP client to connect.
OBSERVED RESULT
The connection is successful with mouse input functional but the remote desktop
is not displayed.
EXPECTED RESULT
The remote desktop should be visible on the client.
sdl-freerdp3 does display the remote desktop because it advertises AVC:false,
so KRDP opts for progressive encoding instead of H.264.
Running krdpserver with environment variable
QT_LOGGING_RULES="org.kde.krdp*=true" revealed warning about threading
(QObject: Cannot create children for a parent that is in a different thread.
(Parent is QApplication, parent's thread is QThread, current thread is
QThread)), as well as session teardown (*** pw_stream_set_active called from
wrong context, check thread and locking: Device or resource busy ***
impl_ext_end_proxy called from wrong context, check thread and locking: Device
or resource busy).
This would seem to indicate kpipewire's H.264 encode pipeline is entering a
corrupted thread state, see also the PipeWireProduce/Encoder threading issue
identified in Bug 523787.
Restarting krdpserver clears the corrupted thread state and remote desktop
output is restored to KRDC & Remmina, which is also the workaround for 523787.
Bug 523571 presents similar symptoms but appears to posses a distinct cause.
SOFTWARE/OS VERSIONS (all are the same for both the client and server)
Operating System (available in the Info Center app, or by running `kinfo` in a
terminal window): EndeavourOS
KDE Plasma Version: 6.7.4
KDE Frameworks Version: 6.28.0
Qt Version: 6.11.1
ADDITIONAL INFORMATION
WITH_VAAPI=ON and WITH_VAAPI_H264_ENCODING=ON experimental build flags are
confirmed present in both the client and server FreeRDP.
The trigger of the krdpserver broken state is unclear (could be race condition
on Pipewire stream init?), though it is always fixed by restarting krdpserver.
--
You are receiving this mail because:
You are watching all bug changes.