Commit Graph
27 Commits
Author SHA1 Message Date
mrcharles 004de2e193 [#684] track ukrrs-pve-config-backup.timer (OAM lane, nightly PVE config drift snapshot)
https://projects.knownelement.com/issues/684
2026-09-05 05:57:22 -05:00
mrcharles 148773e320 Stream service installed + live; fix unit StartLimit placement (#798)
Detail: https://projects.knownelement.com/issues/798#note-4520

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-05 05:47:27 -05:00
mrcharles 6cb88a5f6e UAT OpenWebUI compose: match live v0.11.3 (#610)
💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-05 05:01:27 -05:00
mrcharles 777767db54 24x7 RTMP desktop stream, client side + UAT PASS (#798)
Whole-screen KDE capture -> x264 -> RTMP, fenced to the rt slice.
Loopback mediamtx receiver; Cloudron cutover = one creds edit.
Detail: https://projects.knownelement.com/issues/798#note-4519

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-05 05:01:23 -05:00
mrcharles f4e36ec647 #631 cursor-box verdict: RESOLVED (core cursors + new_cursors=false) (#631/#611)
💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-05 04:13:43 -05:00
mrcharles 4235f3f560 Post-update-reboot RDP outage fixed: waitforx shim + xbrlapi hook (#611)
Two reboot-triggered session killers: xrdp waitforx RandR race/empty-argv
(shim wrapper; pristine = waitforx.real) and 90xbrlapi foreground hang
(hook disabled). new_cursors=false for the cursor box. Re-apply via
17-fix-rdp-postupdate.sh. Full diagnosis:
https://projects.knownelement.com/issues/611#note-4513

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-09-05 04:12:04 -05:00
mrcharles 9a88b2c7ee Close-out: clean-slate doc fix, 150% scaling landed, #679 queued (#631/#679)
Full RDP clean slate requires killing session processes AND stopping
user@UID (sessions live in the system sesman cgroup - reconnect into a
survivor never restarts the user manager). 150% HiDPI + core cursors
persisted both accounts. Display-performance work (16K compressed-PDU
drops, staged 1MB send buffer, EGFX-at-24bpp retest) captured as #679.

Details: https://projects.knownelement.com/issues/679
2026-09-01 18:18:45 -05:00
mrcharles f66138e40b #611 UAT PASS both accounts; close-out + session-hygiene part 5 (#611)
Full matrix green incl. close-Jump-and-return (apps persist, reconnect
resumes). DisconnectedTimeLimit=0 + tcp keepalives documented; the
manager-recycle clean-slate layer (systemctl stop user@UID) captured in
the script. Scratch user/harness removed.

Details: https://projects.knownelement.com/issues/611
2026-09-01 17:38:55 -05:00
mrcharles f815149472 Repo tidy: logs consolidated, 15/16 scripts tracked, docs synced (#615/#611/#603)
Run outputs moved to logs/ (incl. sda partition-table backup). New from
the 15:57-16:03 parallel session: 16-grow-root-online.sh (RAN: / = 431G
online, swap removed by design — GROW-ROOT-RUNBOOK superseded) and
15-docker-to-data2.sh (staged, not run). README/NEXT/RUNBOOK/REBUILD
reflect current reality. Moot rdp-testprep timer removed from the VM.

Details: https://projects.knownelement.com/issues/615
2026-09-01 17:17:10 -05:00
mrcharles 30e4d502a6 max_bpp=24: the real color-bars fix at 5160 wide (#611)
5160px x 4Bpp = 20640 bytes overflows xrdp's 16K bitmap-row buffer ->
"decompressed size too big" -> dropped tiles -> Jump paints bars. 24bpp
rows (15480) fit. Script part 4; live config already applied.

Details: https://projects.knownelement.com/issues/611
2026-09-01 17:05:48 -05:00
mrcharles 55907ba82f sddm autologin disabled by ruling (#611)
The always-alive console session held the user's single plasmashell and
black-screened RDP. Live conf removed, staged/apply-guest.sh step now
removes it instead of writing it, REBUILD KDE policy updated. Console
shows the greeter at boot; RDP is the primary desktop; Sunshine will
get a kiosk account or XFCE when it lands.

Details: https://projects.knownelement.com/issues/611
2026-09-01 16:56:07 -05:00
mrcharles 0beb30e896 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
2026-09-01 16:52:25 -05:00
mrcharles 1c75711647 HUD #611: live session recovered; 3-layer root cause; autologin ruling owed (#611)
https://projects.knownelement.com/issues/611
2026-09-01 16:18:44 -05:00
mrcharles 32dd4e64ea RDP black-screen root-caused: kwin_x11 compositing crash-loop; fixed (#611)
Server-side bisect (session rendered pure black, colors=1) pinned it to
plasma-kwin_x11.service timing out and crash-looping: software-GL
compositing init under xorgxrdp never completes at 5160x2160. Fix:
Compositing=false for the RDP accounts (X11-only key, Wayland console
unaffected) + 300s kwin unit start timeout. 12-fix-rdp-bigres.sh now
installs both parts. freerdp harness matrix green across all four flows.

Details: https://projects.knownelement.com/issues/611
2026-09-01 16:14:31 -05:00
mrcharles ebf3c1d2f3 HUD: #612 dotfiles UAT PASS (human) - omz base + kali addendum (#612)
https://projects.knownelement.com/issues/612
2026-09-01 16:04:00 -05:00
mrcharles 0b54273fd5 Regular-VM lane proven: libvirt q35 works nested, ops note added (#615)
Full VMs run on the workstation (q35 + host-passthrough + KVM): Debian
cloud guest reached DHCP + ssh + running systemd. REGULAR-VMS.md holds
the recipe and the three workstation gotchas (disk perms under images/,
/boot-only kernels for virt-aa-helper, console=ttyS0 for serial).

Details: https://projects.knownelement.com/issues/615
2026-09-01 14:00:20 -05:00
mrcharles 534c9340b8 GPU passthrough staged: vfio claim + q35 + hostpci0 on VM 5111 (#606)
vfio-pci owns 10de:06dd/10de:0be5 at next boot (IOMMU group 20 clean);
VM 5111 gains machine q35 + hostpci0 pcie=1, live at the human's
pre-Friday roll. Revert + verification steps in staged/gpu-passthrough.md.

Details: https://projects.knownelement.com/issues/606
2026-09-01 13:42:11 -05:00
mrcharles 46fe0cb6a5 Rebuild runbook + state capture + docs sync to current reality (#615)
REBUILD.md maps a full rebuild (PVE qm spec incl. nested-virt flag,
guest OS/accounts/dotfiles bootstrap, script order, package baseline,
verification checklist). 14-capture-state.sh regenerates docs/state
snapshots (guest apt/units/sysctl/fstab/docker + PVE 5111 config).
Docs sync: stale multiqueue-owed text removed from NEXT/REPORT/RUNBOOK;
README script list + open-work list current.

Details: https://projects.knownelement.com/issues/615
2026-09-01 13:31:38 -05:00
mrcharles eeeca9bde9 microvm tooling: qemu-microvm engine, tap+NAT pools, cloud-init seeds (#615)
Firecracker-class microVMs for dev: 13-microvm-setup.sh (idempotent
installer) + microvm CLI + microvm-net.service (per-user tap pools,
/30s, NAT). Debian 13 cloud assets in /usr/local/lib/microvm/base.
Firecracker v1.16.1 installed but its KVM cap check is refused by this
nested Westmere KVM; qemu -M microvm engine default, FC retry after #601.

Details + UAT: https://projects.knownelement.com/issues/615
2026-09-01 13:27:06 -05:00
mrcharles e37152495e HUD: kali-style shell adopted into dotfiles, UAT pending (#612)
Applied to both accounts (commit 1b386f1 in dotfiles); p10k remains
the fallback prompt. Details: https://projects.knownelement.com/issues/612#note-3343
2026-09-01 12:38:08 -05:00
mrcharles ed367ca0e5 RDP big-monitor fix + HUD: EGFX frame budget for 5160x2160 (#611)
Jump-from-iPad showed color bars/cut sides at the big external monitor.
Headless freerdp UAT proved the server clean at 5160x2160 on all codecs
and mid-session resize; mitigation raises the EGFX compressed-frame
budget via systemd drop-in, applied by 12-fix-rdp-bigres.sh (idempotent,
restart-guarded). Human UAT pending.

Detail: https://projects.knownelement.com/issues/611#note-3341
2026-09-01 12:17:28 -05:00
mrcharles b08d354a51 Post-reboot audit PASS + night window extended to 22:00-07:00 (#610)
Verified after the 22:53 multiqueue bounce: NIC queues live at 4/4 and
2/2 (the whole point of the reboot), PVE config clean with nothing
pending, both gateway lanes healthy, all 9 Open Terminal ports bound on
the tailscale IP, PSI metrics fresh, and no removed relaunchers
respawned. Moved the day-profile flip from 05:00 to 07:00 per human
ruling (live timer re-armed + staged copy and docs synced; the gateway
z.ai peak ladder is untouched). Also staged a ready-to-run script that
drops each account's own Open Terminal key into its ~/.creds as
openwebui.creds - not run yet; the master key list stays at
~/.creds/open-terminal.env.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2

[#610]
2026-09-01 07:30:59 -05:00
mrcharles c810942239 Open Terminal fleet for all accounts + OpenWebUI UAT pass (#610)
open-terminal 0.11.34 bare-metal (human-authorized host install) with a
systemd template unit: reachableceo on tailscale-only :30000 (cwd
~/projects) and all 8 other accounts on :30001-30008, each with its own
key kept out of ps in per-user TOMLs, all users added to the docker group.
Keys live in ~/.creds + /etc/ukrrs/open-terminal, never in this repo.

UAT: throwaway OpenWebUI v0.11.1 (matched to the human's Cloudron prod)
driven purely over its HTTP API against the beta gateway lane - connection
verify/config PASS, direct exec as uid 1001 PASS, and the chat round trip
PASS: the model emitted run_command, we executed it through OpenWebUI's
terminal proxy (server holds the key), and the final answer named 9/9 real
project directories; earlier negative runs prove the test catches
hallucinated output. Ops note OPEN-TERMINAL.md documents production wiring
(prod openwebui container v0.3.10 is too old and needs an upgrade first).

Also tonight: agent-stack relaunchers removed (6-, backups kept) so no
screen/crush sessions auto-start on reboot; 22:00 night-profile flip
observed live; docs synced for the earlier teardown.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
[#610]
2026-08-31 22:50:53 -05:00
mrcharles 74934b1095 docs sync post-pass: REPORT v1.1 status, Oct replan runbook, repo path fix
REPORT.md gets a post-pass status banner + per-item STATUS tags + phase/QM
checklist truth; RUNBOOK-TODAY amended for the Oct window replan (Friday is
troubleshooting-only #609); all ~/optimize paths updated after the repo move
to ~/projects/ultix. Adds the 22:00 night-flip watcher log and
6-remove-agent-stacks.sh (boot-time screen/crush relauncher teardown with
backups to removed-agent-stacks/).

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
[#602]
2026-08-31 21:55:48 -05:00
mrcharles bfc6f92a9f track Redmine replan: 608 wiring, 609 Friday troubleshooting, Oct version
#601 moves to version october-2026-window (due Oct 31; Redmine API refuses
start_date on update, recorded in the note), #608 = cgroup_parent wiring
(the gateway starvation fix on 8 vCPU), #609 = Fri 2026-09-04
troubleshooting-only outage with the physical checklist.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
[#602]
2026-08-31 16:58:22 -05:00
mrcharles acd7242604 plan for October hardware slip: presume 8 vCPU/48G, multiqueue bounce script
Hardware window #601 slipped to ~Oct 2026: interim fences and daynight
values become the operating config, cpuset reservation defers with it, and
the compose cgroup_parent wiring becomes the gateway starvation fix. Adds
5-activate-multiqueue.sh — the one remaining VM-5111 reboot (human-timed)
to bring the staged net queues live. Tracking/README/crush prefs updated.

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
[#602]
2026-08-31 16:55:38 -05:00
mrcharles cba2a64d67 ultix perf/ops workbench: complete 2026-08-31 optimization pass for VM 5111
Everything for the ultix-streaming (VM 5111, pfv-tsys5) performance pass:
full report + host audit results, staged/gated configs, guest prep + host
one-shot + post-reboot-fix + netcheck lifecycle scripts, grow-root manual
runbook, rolling tracking HUD, questions v1, and the gateway boot-race
hardening units. Applied and verified live 2026-08-31; open work is
tracked in Redmine project 55 as #601-#607. [#602]

💘 Generated with Crush

Assisted-by: Crush:glm-5.2
2026-08-31 16:46:13 -05:00