Moonlight: headless compositor on the 3060, Sunshine capturing it
mainframe has no desktop and the only connected output hangs off the Intel iGPU, while the RTX 3060 that encodes drives no monitor. Capturing the real output would copy every frame between GPUs. So: a minimal sway session on the headless wlroots backend, pinned to card0, with one 1920x1080 virtual output for Sunshine to capture. Verified end to end — Sunshine finds zwlr_screencopy_manager_v1 and creates h264_nvenc and hevc_nvenc. (av1_nvenc fails because Ampere has no AV1 encoder; that is expected.) Two things had to be fixed to get there. The installed sunshine-git was built against boost 1.89 against a system now on 1.92 and could not load five libraries — which is why the service had been enabled but never once run. Replaced with sunshine-bin, which is current and prebuilt. And Sunshine now gets a unit of ours rather than a drop-in: the source AUR package ships sunshine.service while -bin ships app-dev.lizardbyte.app.Sunshine.service, so a drop-in silently stops applying the moment you switch between them. apps.json replaces the stock file, whose "Low Res Desktop" entry shelled out to xrandr and would have done nothing on Wayland.
This commit is contained in:
@@ -10,6 +10,9 @@
|
||||
force: true
|
||||
|
||||
- link:
|
||||
~/.config/sway/headless.conf: hosts/mainframe/sway/headless.conf
|
||||
~/.config/systemd/user/sway-headless.service: hosts/mainframe/systemd/sway-headless.service
|
||||
~/.config/systemd/user/sunshine.service: hosts/mainframe/systemd/sunshine.service
|
||||
~/.config/inbox-tidy: hosts/mainframe/config/inbox-tidy
|
||||
~/.config/llmfit: hosts/mainframe/config/llmfit
|
||||
~/.ssh/config.local: hosts/mainframe/ssh/config.local
|
||||
@@ -38,3 +41,5 @@
|
||||
description: Reloading user units
|
||||
- command: systemctl --user enable --now inbox-tidy.timer movie-recs.timer rent-utilities.timer ddns.timer
|
||||
description: Enabling the singleton timers (mainframe only)
|
||||
- command: systemctl --user enable sway-headless.service sunshine.service
|
||||
description: Enabling the headless compositor and Sunshine (not started here — it takes the GPU)
|
||||
|
||||
Reference in New Issue
Block a user