Proof Portal
Omarchy
ProbeLabs65 findings · 95 requirementsA proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.
sunshine package built without CUDA support — NVENC silently unavailable for all NVIDIA users
Reported by dev-Blaze · filed Aug 30, 2026Closed upstream on 2026-10-09 by the bot omarchybot, as a duplicate (target not recorded).
At a glance
- 1 · What is claimed?
- Only the report text below — no validator has restated it as checkable claims yet.
- 2 · What does it affect?
- Not yet mapped to any requirement or component.
- 3 · Is it reproducible?
- No validation has been run yet.
- 4 · What remains unclear?
- Not validated yet: no claims, no reproducer.
- 5 · What happens next?
- Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.
Original report
What happened
The omarchy/sunshine repo package (2026.516.143833-4) is built without Sunshine's CUDA support. On NVIDIA systems the NVENC encoder probe therefore always fails, and Sunshine silently falls back to software x264:
Info: Trying encoder [nvenc]
Info: Creating encoder [h264_nvenc]
Error: Couldn't scale frame: Invalid argument
Info: Encoder [nvenc] failed
...
Info: Found H.264 encoder: libx264 [software]Every NVIDIA user on Omarchy gets CPU-only H.264 streaming (no NVENC H.264/HEVC/AV1), with no visible error — just degraded quality and high CPU load.
Why
Without SUNSHINE_ENABLE_CUDA, Sunshine feeds NVENC through its software conversion path (avcodec_software_encode_device_t::convert), and that sws_scale_frame() call fails with EINVAL against system ffmpeg 9's rewritten swscale. The GPU/driver are fine — ffmpeg -c:v hevc_nvenc / av1_nvenc work directly on the same machine.
Evidence the package lacks CUDA:
strings /usr/bin/sunshine(omarchy build) contains no CUDA kernel fatbins (sm_*) and none of Sunshine'scuda_t/NvFBC platform code — only ffmpeg's genericdl_fn->cuda_dlloader strings.- The official LizardByte build of the same version contains fatbins for
sm_75 sm_80 sm_86 sm_87 sm_89 sm_90 sm_100 sm_103 sm_110 sm_120 sm_121pluscuda::cuda_t/cuda::nvfbc. Installing it (AURsunshine-bin) immediately fixes the probe on the same system:
Info: Found H.264 encoder: h264_nvenc [nvenc]
Info: Found HEVC encoder: hevc_nvenc [nvenc]
Info: Found AV1 encoder: av1_nvenc [nvenc]Root cause in packaging
The omarchy package appears to rebuild the AUR sunshine PKGBUILD (version/pkgrel match exactly). That PKGBUILD defaults to _use_cuda=detect, which enables CUDA only if the `cuda` package is installed on the build machine, and otherwise silently passes -DSUNSHINE_ENABLE_CUDA=OFF -DCUDA_FAIL_ON_MISSING=OFF. The Omarchy build farm evidently doesn't have the CUDA toolkit installed.
Suggested fix
Install cuda on the builder (or set _use_cuda=true so the build fails loudly instead of silently degrading). Runtime users don't need the toolkit — the built binary only needs the driver's libcuda.so.1.
Steps to reproduce
- Omarchy with an NVIDIA GPU (proprietary/open driver installed, working
nvidia-smi). - Install
sunshinefrom the omarchy repo, start the service. - Journal shows the probe sequence above ending in
Found H.264 encoder: libx264 [software]. strings /usr/bin/sunshine | grep -E 'sm_[0-9]+'→ empty.
Related
- PR #9011 (default NVIDIA to
capture = kms) addresses a capture-side issue but won't restore NVENC — the encode-side software-convert path is what fails, regardless of capture backend. Also notecapture = kmscannot capture Hyprland headless outputs, so it would break virtual-display streaming setups if applied unconditionally.
System details
- Omarchy 4.0.1, kernel 7.1.9-arch1-2
- GPU: NVIDIA GeForce RTX 5070 Ti, driver 610.57.04 (nvidia-open-dkms), CUDA UMD 13.3
- ffmpeg 2:9.0.1-1, sunshine 2026.516.143833-4 (omarchy repo)
View raw text
## What happened The `omarchy/sunshine` repo package (2026.516.143833-4) is built **without Sunshine's CUDA support**. On NVIDIA systems the NVENC encoder probe therefore always fails, and Sunshine silently falls back to software x264: ``` Info: Trying encoder [nvenc] Info: Creating encoder [h264_nvenc] Error: Couldn't scale frame: Invalid argument Info: Encoder [nvenc] failed ... Info: Found H.264 encoder: libx264 [software] ``` Every NVIDIA user on Omarchy gets CPU-only H.264 streaming (no NVENC H.264/HEVC/AV1), with no visible error — just degraded quality and high CPU load. ## Why Without `SUNSHINE_ENABLE_CUDA`, Sunshine feeds NVENC through its software conversion path (`avcodec_software_encode_device_t::convert`), and that `sws_scale_frame()` call fails with EINVAL against system ffmpeg 9's rewritten swscale. The GPU/driver are fine — `ffmpeg -c:v hevc_nvenc` / `av1_nvenc` work directly on the same machine. Evidence the package lacks CUDA: * `strings /usr/bin/sunshine` (omarchy build) contains **no CUDA kernel fatbins** (`sm_*`) and none of Sunshine's `cuda_t`/NvFBC platform code — only ffmpeg's generic `dl_fn->cuda_dl` loader strings. * The official LizardByte build of the *same version* contains fatbins for `sm_75 sm_80 sm_86 sm_87 sm_89 sm_90 sm_100 sm_103 sm_110 sm_120 sm_121` plus `cuda::cuda_t` / `cuda::nvfbc`. Installing it (AUR `sunshine-bin`) immediately fixes the probe on the same system: ``` Info: Found H.264 encoder: h264_nvenc [nvenc] Info: Found HEVC encoder: hevc_nvenc [nvenc] Info: Found AV1 encoder: av1_nvenc [nvenc] ``` ## Root cause in packaging The omarchy package appears to rebuild the AUR `sunshine` PKGBUILD (version/pkgrel match exactly). That PKGBUILD defaults to `_use_cuda=detect`, which enables CUDA **only if the `cuda` package is installed on the build machine**, and otherwise silently passes `-DSUNSHINE_ENABLE_CUDA=OFF -DCUDA_FAIL_ON_MISSING=OFF`. The Omarchy build farm evidently doesn't have the CUDA toolkit installed. ## Suggested fix Install `cuda` on the builder (or set `_use_cuda=true` so the build fails loudly instead of silently degrading). Runtime users don't need the toolkit — the built binary only needs the driver's `libcuda.so.1`. ## Steps to reproduce 1. Omarchy with an NVIDIA GPU (proprietary/open driver installed, working `nvidia-smi`). 2. Install `sunshine` from the omarchy repo, start the service. 3. Journal shows the probe sequence above ending in `Found H.264 encoder: libx264 [software]`. 4. `strings /usr/bin/sunshine | grep -E 'sm_[0-9]+'` → empty. ## Related * PR #9011 (default NVIDIA to `capture = kms`) addresses a capture-side issue but won't restore NVENC — the encode-side software-convert path is what fails, regardless of capture backend. Also note `capture = kms` cannot capture Hyprland headless outputs, so it would break virtual-display streaming setups if applied unconditionally. ## System details * Omarchy 4.0.1, kernel 7.1.9-arch1-2 * GPU: NVIDIA GeForce RTX 5070 Ti, driver 610.57.04 (nvidia-open-dkms), CUDA UMD 13.3 * ffmpeg 2:9.0.1-1, sunshine 2026.516.143833-4 (omarchy repo)
Validation
Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.
Linked
Not linked to any known issue, other report or change yet.
Decision
Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.
No decision has been recorded yet.