Disable EGFX server-wide: Jump decode was the color bars (#611)
With the server proven clean at 5160x2160 (band analysis + freerdp on every codec), Jump still painted bars - its EGFX large-frame decode is broken regardless of budget. drdynvc=false blocks EGFX for all clients; clipboard/audio ride separate channels and survive. Classic codec verified clean at 5160 via harness. Script part 3 + xrdp bounced. Details: https://projects.knownelement.com/issues/611
This commit is contained in:
+25
-1
@@ -61,12 +61,36 @@ done
|
|||||||
|
|
||||||
mkdir -p /etc/systemd/user/plasma-kwin_x11.service.d
|
mkdir -p /etc/systemd/user/plasma-kwin_x11.service.d
|
||||||
cat > /etc/systemd/user/plasma-kwin_x11.service.d/bigres-timeout.conf <<'EOF'
|
cat > /etc/systemd/user/plasma-kwin_x11.service.d/bigres-timeout.conf <<'EOF'
|
||||||
[Unit]
|
[Service]
|
||||||
# big-res xorgxrdp sessions: software-GL init is slow; give kwin room
|
# big-res xorgxrdp sessions: software-GL init is slow; give kwin room
|
||||||
# instead of kill+crashloop (#611)
|
# instead of kill+crashloop (#611)
|
||||||
TimeoutStartSec=300
|
TimeoutStartSec=300
|
||||||
EOF
|
EOF
|
||||||
systemctl daemon-reload
|
systemctl daemon-reload
|
||||||
|
|
||||||
|
###############################################################################
|
||||||
|
# Part 3 — EGFX off for all clients (drdynvc=false), 2026-09-01 evening
|
||||||
|
#
|
||||||
|
# Final piece of #611: with the server rendering CLEAN at 5160x2160
|
||||||
|
# (verified by band-analysis of live captures + freerdp harness on every
|
||||||
|
# codec), Jump Desktop still painted color bars down the side — its
|
||||||
|
# decode of xrdp's EGFX large frames is broken regardless of the
|
||||||
|
# compressed-frame budget. EGFX rides the drdynvc channel; blocking it
|
||||||
|
# server-side makes every client (Jump included) fall back to the
|
||||||
|
# classic codecs, which render this monitor fine. Clipboard (cliprdr)
|
||||||
|
# and audio (rdpsnd) are separate channels and survive.
|
||||||
|
###############################################################################
|
||||||
|
|
||||||
|
sed -i 's/^drdynvc=true/drdynvc=false/' /etc/xrdp/xrdp.ini
|
||||||
|
grep -q '^drdynvc=false' /etc/xrdp/xrdp.ini || { echo "drdynvc line missing; check /etc/xrdp/xrdp.ini" >&2; exit 1; }
|
||||||
|
ACTIVE=$(pgrep -c -f 'Xorg.*xrdp/xorg.conf' || true)
|
||||||
|
if [ "${ACTIVE:-0}" -gt 0 ]; then
|
||||||
|
echo "Active RDP X sessions: $ACTIVE — xrdp listener restart will blip clients;"
|
||||||
|
echo "sessions survive (sesman untouched). Apply with: systemctl restart xrdp"
|
||||||
|
else
|
||||||
|
systemctl restart xrdp
|
||||||
|
fi
|
||||||
|
echo "EGFX disabled (drdynvc=false) — clients now negotiate classic codecs."
|
||||||
echo "kwin unit override: /etc/systemd/user/plasma-kwin_x11.service.d/bigres-timeout.conf"
|
echo "kwin unit override: /etc/systemd/user/plasma-kwin_x11.service.d/bigres-timeout.conf"
|
||||||
echo
|
echo
|
||||||
echo "If a session is currently black: loginctl terminate-session <id> (or"
|
echo "If a session is currently black: loginctl terminate-session <id> (or"
|
||||||
|
|||||||
+1
-1
@@ -16,7 +16,7 @@ One table, updated in place at each checkpoint. States: done ✅ / doing 🔄 /
|
|||||||
| OPT-10 | integ | ⏳ | #605: k8s join (Q11, blocked by #601) + proxmox-ctl token (Q12) |
|
| OPT-10 | integ | ⏳ | #605: k8s join (Q11, blocked by #601) + proxmox-ctl token (Q12) |
|
||||||
| #606 | gpu | 🔄 | Quadro 4000 passthrough STAGED on 5111 (vfio ids + q35 + hostpci0, staged/gpu-passthrough.md); activates at the human's pre-Friday roll; nouveau-only on kernel 6.12 (no CUDA/NVENC — compute cards come with #601) |
|
| #606 | gpu | 🔄 | Quadro 4000 passthrough STAGED on 5111 (vfio ids + q35 + hostpci0, staged/gpu-passthrough.md); activates at the human's pre-Friday roll; nouveau-only on kernel 6.12 (no CUDA/NVENC — compute cards come with #601) |
|
||||||
| #610 | fleet | ✅ | Open Terminal 9-account fleet (tailscale-only :30000-30008) + OpenWebUI UAT PASS |
|
| #610 | fleet | ✅ | Open Terminal 9-account fleet (tailscale-only :30000-30008) + OpenWebUI UAT PASS |
|
||||||
| #611 | rdp | 🔄 | LIVE session RECOVERED. 3-layer root cause: EGFX budget (fixed) + kwin compositing crash-loop (fixed: compositor off + 5min unit timeout, [Service] section) + dual-session plasmashell conflict (console autologin held it). RULING OWED: disable sddm autologin until Sunshine? |
|
| #611 | rdp | 🔄 | 3-layer root cause fixed (EGFX budget + kwin compositing crash-loop + dual-session plasmashell conflict) + **EGFX now OFF server-side** (drdynvc=false; Jump's EGFX decode was the bars; classic codecs render 5160 clean). Human live verify: reconnect monitor + iPad. Autologin ruling still owed |
|
||||||
| #612 | dotfiles | ✅ | UAT PASS 2026-09-01 (human): omz+v2 base + kali addendum both accounts; p10k fallback via KALI_PROMPT=0 |
|
| #612 | dotfiles | ✅ | UAT PASS 2026-09-01 (human): omz+v2 base + kali addendum both accounts; p10k fallback via KALI_PROMPT=0 |
|
||||||
| #615 | microvm+rebuild | 🔄 | microvm tooling LIVE + REBUILD.md/docs/state + docs synced + regular-VM lane PROVEN (libvirt q35, REGULAR-VMS.md); human UAT pending |
|
| #615 | microvm+rebuild | 🔄 | microvm tooling LIVE + REBUILD.md/docs/state + docs synced + regular-VM lane PROVEN (libvirt q35, REGULAR-VMS.md); human UAT pending |
|
||||||
| #616 | macos | ⏳ | macOS VM on pfv-tsys5 (headless CI + iOS dev) — blocked by #601 |
|
| #616 | macos | ⏳ | macOS VM on pfv-tsys5 (headless CI + iOS dev) — blocked by #601 |
|
||||||
|
|||||||
Reference in New Issue
Block a user