#1149787 krdp: KRDP blacked after connect, crashed on disconnect.

Package:
krdp
Source:
krdp
Description:
KDE's RDP Server with a settings module for Plasma
Submitter:
homodeluna
Date:
2026-10-03 04:07:03 UTC
Severity:
normal
#1149787#5
Date:
2026-10-03 04:05:57 UTC
From:
To:
Dear Maintainer,

I'm using krdp for kde, and failed to connect.

Krdp server started, and can be connected.
Authorization passes.

However, after logging in, there is only black surface. On the end of connection, the server crashes.

The crash can be reproduced every time.

"Application: KRDP Server (krdpserver), signal: Segmentation fault"
---

## Root Cause: Scanout output and encoder split across GPUs

| Item | Attribution | Basis |
|---|---|---|
| `renderD128` | **i915** (Intel Arrow Lake iGPU, PCI `00:02.0`) | sysfs |
| `renderD129` | nvidia (RTX 5060 Ti, PCI `02:00.0`) | sysfs |
| `renderD130` | nvidia (Second RTX 5060 Ti, PCI `81:00.0`) | sysfs |
| VAAPI encoder actually used | **`renderD128` = Intel** (all 18 instances show `Fail to get RC attribute`) | kde.log |
| KWin's two outputs | `card1-HDMI-A-3`, `card2-HDMI-A-4` → **Both on NVIDIA** | `kwinoutputconfig.json` |
| krdpserver's GL/Qt | **NVIDIA** (opened `renderD129`×2, `renderD130`×3, `/dev/nvidia0`×5, `/dev/nvidia1`×12) | `/proc/PID/fd` |

```
Frame source / Scanout output / GL  →  NVIDIA
H.264 Encoder (VAAPI)               →  Intel   ← Only this one drifted
```

The dmabuf must be exported across cards. The iHD driver's Rate Control (RC) fails to initialize in this cross-GPU context, causing a null pointer dereference when `Encoder::finish()` flushes a semi-broken VAAPI context.

**Why the encoder selected Intel**: Only Intel VA drivers (`iHD_drv_video.so`, `i965_drv_video.so`) are installed on the system; there are none on the NVIDIA side, leaving libva with no other choice.