After my adventures on local LLM hosting and putting it to work with OpenFromSource, I finally got to come full circle.
You know, OpenFromSource has more overlap with the current thread than meets the eye.
First and foremost, I saw it as a natural progression on the computer hygiene concept from the first post.
It also lowered the bar (for me) to apply the Hyprland mod from @the_vgpu_supplier. Probably too much to dive into here, but I did dedicate a full tutorial on aligning a legacy version of Hyprland with Debian Trixie using OpenFromSource.
Behold, 3 active VFs with (simulated) hardware accelerated graphics. Wendell through looking-glass and a couple of linux guests with (light) action.
A single B50 providing the juice
Driver 32.0.101.6979
-> max VFs = 12
-> num VFs = 4
Kernel 7.2.9
-> (can be) used to cap VF max memory
When I first got remmina and rustdesk working with the headless VM, I was surprised by the lag (like when typing). Especially with the host and the guest being on the same box.
After a brainstorming session with my local DeepSeek, turned out the default capture chain with rustdesk on wayland looks like this:
Hyprland ──zwlr_screencopy──► xdph (portal backend)
│ PipeWire (Video/Source, DMA-BUF + SHM)
▼
pipewiresrc (gstreamer consumer)
│ videoconvert ! appsink(BGRx/RGBx)
▼
rustdesk encoder ──► viewer (direct IP)
It’s generic, of course, which can definitely be a plus, but with direct IP access I just wanted to get the best performance on Hyprland (without a full rewrite). Decided to surgically remove the gstreamer part…
… and directly throw the native wayland screencopy over the fence.
Performance benefit per frame, stock vs direct:
STOCK compositor → wlroots screencopy → xdph buffer
→ memcpy → PipeWire buffer
→ pipewiresrc (always-copy=true → memcpy → gstreamer)
→ videoconvert (full conversion)
→ appsink → encoder
≈ 3–4 full-frame copies + 1 conversion/frame
≈ 14.7 MB × ~4 passes ≈ 1.7 GB/s memcpy at 30 fps on 2560×1440
DIRECT compositor renders INTO our SHM buffer → encoder
= 0 copies, 0 conversion
I wouldn’t go as far as saying it now performs like looking-glass, but for productivity it’s definitely what I was hoping for.