Is there an existing issue for this?
Is your issue described in the documentation?
Is your issue present in the latest beta/pre-release?
This issue is present in the latest pre-release
Describe the Bug
Hey! Thanks for all the work on #5451 - the dynamic SDK selection is a really nice improvement and the error messages it produces are way clearer than what we had before. Unfortunately it looks like it hasn't quite closed the loop for Linux users on older NVIDIA cards yet, so I wanted to open a focused follow-up.
NVENC is still broken on Linux for pre-Turing (Pascal) NVIDIA GPUs in the latest pre-release v2026.830.223700 (also reproduced on v2026.830.165455), both of which include the merge of #5451 ("dynamic nv codec sdk selection", closing #5217). #5217 got closed on the assumption that #5451 fixed it, but as a couple of us noted in that thread, #5451 only touches the Windows/D3D11 direct-NVENC-API code path (nvenc_d3d11*.cpp, nvenc_dynamic_factory*, platform/windows/display_vram.cpp). On Linux, Sunshine still goes through FFmpeg's h264_nvenc/hevc_nvenc, and that path is unaffected by the fix.
I tested both v2026.830.165455 and the newer v2026.830.223700 directly (AppImage) on a GTX 1070 Ti and NVENC still fails identically on both, with a much clearer error than before the SDK-selection work landed:
Trying encoder [nvenc]
Creating encoder [h264_nvenc]
Error: [h264_nvenc @ 0x5594cb5ca940] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
Error: [h264_nvenc @ 0x5594cb5ca940] The minimum required Nvidia driver for nvenc is 610.00 or newer
Error: Could not open codec [h264_nvenc]: Function not implemented
Creating encoder [h264_nvenc]
Error: [h264_nvenc @ 0x5594cb5ca940] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
Error: [h264_nvenc @ 0x5594cb5ca940] The minimum required Nvidia driver for nvenc is 610.00 or newer
Error: Could not open codec [h264_nvenc]: Function not implemented
Encoder [nvenc] failed
This is important: driver 610.00 does not exist for Pascal. NVIDIA dropped Pascal-and-older from the mainline driver at 590+, so Pascal cards are permanently stuck on the community-maintained legacy 580xx branch (I'm on nvidia-580xx-dkms 580.178.04, which reports NVENC API 13.0). That branch will keep receiving 580.x point releases but will never become 610.x -- it's a different, frozen major branch, not something that catches up over time. So this isn't "wait for a driver update," it's a hard version floor that Pascal (and presumably Maxwell/Volta on similar legacy branches) can never cross with the current SDK requirement.
Before v2026.516.143833 (i.e. on v2025.924.154138), this same GPU/driver combination gets NVENC working fine via FFmpeg, so this is a regression, not a pre-existing hardware limitation being surfaced correctly.
VAAPI and Vulkan also fail on this system (unrelated - no nvidia-vaapi-driver shim installed / Vulkan capture not wired up here), so it falls all the way back to software libx264.
Expected Behavior
NVENC should still work on Linux for Pascal-class GPUs via FFmpeg's h264_nvenc, the same as it did before v2026.516.143833. If the new minimum-SDK-version floor is genuinely incompatible with Pascal, at minimum the Linux path should raise/enforce the same effective minimum before probing (or fall back to whatever feature subset the driver does support) instead of hard-requiring an NVENC API version that no Pascal driver branch will ever report.
Additional Context
Host Operating System
Linux
Operating System Version
Omarchy 4.0.2 (Arch Linux based), kernel 7.1.9-arch1-2
Architecture
amd64/x86_64
Package
Linux - AppImage
GPU Type
NVIDIA
GPU Model
GeForce GTX 1070 Ti
GPU Driver/Mesa Version
580.178.04 (nvidia-580xx-dkms legacy branch)
Capture Method
wlroots (FreeBSD/Linux)
Log output
[2026-08-31 12:43:49.686]: Info: Sunshine version: 2026.830.165455 commit: f53f0f90c5c30482e5dfa27275a729eaa4287704
[2026-08-31 12:43:52.090]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2026-08-31 12:43:52.090]: Info: Trying encoder [nvenc]
[2026-08-31 12:43:52.091]: Info: Creating encoder [h264_nvenc]
[2026-08-31 12:43:52.223]: Error: [h264_nvenc @ 0x5594cb5ca940] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
[2026-08-31 12:43:52.223]: Error: [h264_nvenc @ 0x5594cb5ca940] The minimum required Nvidia driver for nvenc is 610.00 or newer
[2026-08-31 12:43:52.265]: Error: Could not open codec [h264_nvenc]: Function not implemented
[2026-08-31 12:43:52.266]: Info: Creating encoder [h264_nvenc]
[2026-08-31 12:43:52.362]: Error: [h264_nvenc @ 0x5594cb5ca940] Driver does not support the required nvenc API version. Required: 13.1 Found: 13.0
[2026-08-31 12:43:52.362]: Error: [h264_nvenc @ 0x5594cb5ca940] The minimum required Nvidia driver for nvenc is 610.00 or newer
[2026-08-31 12:43:52.403]: Error: Could not open codec [h264_nvenc]: Function not implemented
[2026-08-31 12:43:52.404]: Info: Encoder [nvenc] failed
[2026-08-31 12:43:52.404]: Info: Trying encoder [vulkan]
[2026-08-31 12:43:52.404]: Error: [wlgrab] Could not initialize display with the given hw device type.
[2026-08-31 12:43:52.605]: Error: [wlgrab] Could not initialize display with the given hw device type.
[2026-08-31 12:43:52.805]: Info: Encoder [vulkan] failed
[2026-08-31 12:43:52.805]: Info: Trying encoder [vaapi]
libva info: VA-API version 1.24.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[2026-08-31 12:43:52.811]: Error: Couldn't initialize va display: unknown libva error
libva info: VA-API version 1.24.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/nvidia_drv_video.so
libva info: va_openDriver() returns -1
[2026-08-31 12:43:52.816]: Error: Couldn't initialize va display: unknown libva error
[2026-08-31 12:43:52.817]: Info: Encoder [vaapi] failed
[2026-08-31 12:43:52.817]: Info: Trying encoder [software]
[2026-08-31 12:43:52.823]: Info: Creating encoder [libx264]
[2026-08-31 12:43:52.828]: Info: [libx264 @ 0x5594cb5ca940] using cpu capabilities: MMX2 SSE2Fast SSSE3 SSE4.2 AVX FMA3 BMI2 AVX2
[2026-08-31 12:43:52.830]: Info: [libx264 @ 0x5594cb5ca940] profile High, level 4.2, 4:2:0, 8-bit
[2026-08-31 12:43:52.969]: Info: Found H.264 encoder: libx264 [software]
[2026-08-31 12:43:52.987]: Info: Configuration UI available at [https://localhost:47990]
Full untrimmed console log (320 lines, includes repeated Wayland re-probe noise between encoder attempts): available on request, trimmed here for length since the relevant section is the NVENC/VAAPI block above.
Is there an existing issue for this?
Is your issue described in the documentation?
Is your issue present in the latest beta/pre-release?
This issue is present in the latest pre-release
Describe the Bug
Hey! Thanks for all the work on #5451 - the dynamic SDK selection is a really nice improvement and the error messages it produces are way clearer than what we had before. Unfortunately it looks like it hasn't quite closed the loop for Linux users on older NVIDIA cards yet, so I wanted to open a focused follow-up.
NVENC is still broken on Linux for pre-Turing (Pascal) NVIDIA GPUs in the latest pre-release
v2026.830.223700(also reproduced onv2026.830.165455), both of which include the merge of #5451 ("dynamic nv codec sdk selection", closing #5217). #5217 got closed on the assumption that #5451 fixed it, but as a couple of us noted in that thread, #5451 only touches the Windows/D3D11 direct-NVENC-API code path (nvenc_d3d11*.cpp,nvenc_dynamic_factory*,platform/windows/display_vram.cpp). On Linux, Sunshine still goes through FFmpeg'sh264_nvenc/hevc_nvenc, and that path is unaffected by the fix.I tested both
v2026.830.165455and the newerv2026.830.223700directly (AppImage) on a GTX 1070 Ti and NVENC still fails identically on both, with a much clearer error than before the SDK-selection work landed:This is important: driver 610.00 does not exist for Pascal. NVIDIA dropped Pascal-and-older from the mainline driver at 590+, so Pascal cards are permanently stuck on the community-maintained legacy
580xxbranch (I'm onnvidia-580xx-dkms 580.178.04, which reports NVENC API 13.0). That branch will keep receiving580.xpoint releases but will never become610.x-- it's a different, frozen major branch, not something that catches up over time. So this isn't "wait for a driver update," it's a hard version floor that Pascal (and presumably Maxwell/Volta on similar legacy branches) can never cross with the current SDK requirement.Before v2026.516.143833 (i.e. on v2025.924.154138), this same GPU/driver combination gets NVENC working fine via FFmpeg, so this is a regression, not a pre-existing hardware limitation being surfaced correctly.
VAAPI and Vulkan also fail on this system (unrelated - no
nvidia-vaapi-drivershim installed / Vulkan capture not wired up here), so it falls all the way back to softwarelibx264.Expected Behavior
NVENC should still work on Linux for Pascal-class GPUs via FFmpeg's
h264_nvenc, the same as it did before v2026.516.143833. If the new minimum-SDK-version floor is genuinely incompatible with Pascal, at minimum the Linux path should raise/enforce the same effective minimum before probing (or fall back to whatever feature subset the driver does support) instead of hard-requiring an NVENC API version that no Pascal driver branch will ever report.Additional Context
v2025.924.154138release as a standalone AppImage to keep NVENC working, so no urgency on my end - just didn't want this to slip through the cracks for other Pascal/legacy-driver folks on Linux. Thanks again for maintaining this project, it's great software!Host Operating System
Linux
Operating System Version
Omarchy 4.0.2 (Arch Linux based), kernel 7.1.9-arch1-2
Architecture
amd64/x86_64
Package
Linux - AppImage
GPU Type
NVIDIA
GPU Model
GeForce GTX 1070 Ti
GPU Driver/Mesa Version
580.178.04 (nvidia-580xx-dkms legacy branch)
Capture Method
wlroots (FreeBSD/Linux)
Log output
Full untrimmed console log (320 lines, includes repeated Wayland re-probe noise between encoder attempts): available on request, trimmed here for length since the relevant section is the NVENC/VAAPI block above.