Serve the WebUI from the sealed uv2nix venv (passthru.hermesVenv) with HERMES_WEBUI_PYTHON pinned so subprocess agent/gateway runs use the venv python, not system python3. HERMES_WEBUI_AGENT_DIR points at the source checkout for run_agent.py + hermes_cli. Localhost-only bind (sessions+memory).
18 lines
1.1 KiB
Diff
18 lines
1.1 KiB
Diff
Workaround: force CUDA (nvenc) capture to use memory buffers instead of DMA-BUF.
|
|
Sunshine's pure-NVIDIA DMA-BUF path feeds the DMA-BUF frame to the software
|
|
sws_scale, which fails with "Couldn't scale frame: Invalid argument" for BGRA
|
|
frames. Using memory buffers works (the sws BGR0 path handles BGRA fine) and
|
|
still encodes with NVENC.
|
|
--- a/src/platform/linux/pipewire.cpp
|
|
+++ b/src/platform/linux/pipewire.cpp
|
|
@@ -313,7 +313,7 @@
|
|
// be imported into CUDA, so we fall back to memory buffers in that case.
|
|
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
|
|
mem_type == platf::mem_type_e::vulkan ||
|
|
- (mem_type == platf::mem_type_e::cuda && display_is_nvidia));
|
|
+ false);
|
|
if (use_dmabuf) {
|
|
for (int i = 0; i < n_dmabuf_infos; i++) {
|
|
auto format_param = build_format_parameter(&pod_builder, width, height, target_framerate, dmabuf_infos[i].format, dmabuf_infos[i].modifiers, dmabuf_infos[i].n_modifiers);
|
|
*** End Patch
|