together: wire GST_PLUGIN_PATH for the Vulkan zerocopy plugin #6
No reviewers
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
splitux-gg/splitux!6
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "fix/together-vulkan-zerocopy-plugin-path"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
The
vulkan-zerocopyencoder needs the customdmabufvulkanuploadelement (libgstdmabufvulkan.so), which imports gamescope's NV12 dmabuf straight into the HW encoder — no per-frame copy. That copy was the bottleneck: thevulkan-nv12path tops out ~128fps with the VCN only ~47% used, while zerocopy sustains ~190-200fps at ~91% VCN.But the plugin lives in splitux's data dir (
~/.local/share/splitux/gst-plugins), which isn't a default GStreamer scan path.spawn_seat_streamernever setGST_PLUGIN_PATH, so the seat-streamer failed withno element "dmabufvulkanupload"and the session zero-videos — i.e. zerocopy has never worked through splitux (only via the bench, which set the env by hand).Fix
spawn_seat_streamernow setsGST_PLUGIN_PATHtoPATH_PARTY/gst-plugins(appending any inherited value so a bench override still wins). Deployers droplibgstdmabufvulkan.sothere.Verified
Clean launch (no manual env): seat-streamer inherits
GST_PLUGIN_PATH, the plugin loads, pipeline usesdmabufvulkanupload, encoder runs ~190-200fps, ~25 mbps under heavy motion (properly rate-controlled vs VAAPI's ~155 mbps firehose for the same content), jbuf ~15ms.Note: RADV's Vulkan H.264 encoder ("not a conformant Vulkan implementation, testing use only") occasionally fails a frame → session drops + auto-reconnects (brief blip). Driver-maturity issue, not this change.