Sunshine
Sunshine copied to clipboard
Hardware accel doesn't work on Fedora 41 (update docs with non-free codecs)
Is there an existing issue for this?
- [x] I have searched the existing issues
Is your issue described in the documentation?
- [x] I have read the documentation
Is your issue present in the latest beta/pre-release?
None
Describe the Bug
Fedora no longer includes non-free codecs by default (since f37 I believe), requiring users to install them manually. This prevents Sunshine from being hardware-accelerated. It would be helpful to mention this in the Fedora section of the documentation. I'm using the official copr repository. The following solves the problem:
sudo dnf swap ffmpeg-free ffmpeg --allowerasing -y
sudo dnf update @multimedia --setopt="install_weak_deps=False" --exclude=PackageKit-gstreamer-plugin -y
sudo dnf install intel-media-driver -y # for intel
There's also instructions for amd and a vaapi bridge for nvidia explained here https://rpmfusion.org/Howto/Multimedia
Expected Behavior
No response
Additional Context
No response
Host Operating System
Linux
Operating System Version
fedora 41
Architecture
amd64/x86_64
Sunshine commit or version
v2025.122.141614
Package
Linux - Fedora Copr
GPU Type
Intel
GPU Model
Intel(R) Iris(R) Xe Graphics (TGL GT2)
GPU Driver/Mesa Version
Mesa 25.0.1
Capture Method
wlroots (Linux)
Config
output_name = 0
upnp = enabled
address_family = both
Apps
Relevant log output
[2025-03-16 16:36:23.680]: Info: Sunshine version: v2025.122.141614
[2025-03-16 16:36:23.680]: Info: Package Publisher: LizardByte
[2025-03-16 16:36:23.680]: Info: Publisher Website: https://app.lizardbyte.dev
[2025-03-16 16:36:23.680]: Info: Get support: https://app.lizardbyte.dev/support
[2025-03-16 16:36:23.682]: Error: Couldn't load cuda: -1
[2025-03-16 16:36:23.683]: Info: Found display [wayland-1]
[2025-03-16 16:36:23.683]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:23.683]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:23.683]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:23.683]: Info: Resolution: 1280x720
[2025-03-16 16:36:23.683]: Info: Name: HEADLESS-1
[2025-03-16 16:36:23.683]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:23.683]: Info: Offset: 0x0
[2025-03-16 16:36:23.683]: Info: Logical size: 1280x720
[2025-03-16 16:36:23.683]: Info: -------- Start of Wayland monitor list --------
[2025-03-16 16:36:23.683]: Info: Monitor 0 is HEADLESS-1: Headless output 2
[2025-03-16 16:36:23.683]: Info: --------- End of Wayland monitor list ---------
[2025-03-16 16:36:23.738]: Info: System tray created
[2025-03-16 16:36:23.763]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-03-16 16:36:23.763]: Info: Trying encoder [nvenc]
[2025-03-16 16:36:23.763]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:23.763]: Info: Found display [wayland-1]
[2025-03-16 16:36:23.763]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:23.763]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:23.763]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:23.763]: Info: Resolution: 1280x720
[2025-03-16 16:36:23.763]: Info: Name: HEADLESS-1
[2025-03-16 16:36:23.763]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:23.763]: Info: Offset: 0x0
[2025-03-16 16:36:23.763]: Info: Logical size: 1280x720
[2025-03-16 16:36:23.763]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:23.763]: Info: Creating encoder [h264_nvenc]
[2025-03-16 16:36:23.763]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:23.763]: Info: Color depth: 8-bit
[2025-03-16 16:36:23.763]: Info: Color range: JPEG
[2025-03-16 16:36:23.763]: Error: Couldn't load cuda: -1
[2025-03-16 16:36:23.763]: Info: Creating encoder [h264_nvenc]
[2025-03-16 16:36:23.763]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:23.763]: Info: Color depth: 8-bit
[2025-03-16 16:36:23.763]: Info: Color range: JPEG
[2025-03-16 16:36:23.763]: Error: Couldn't load cuda: -1
[2025-03-16 16:36:23.763]: Info: Encoder [nvenc] failed
[2025-03-16 16:36:23.763]: Info: Trying encoder [vaapi]
[2025-03-16 16:36:23.763]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:23.763]: Info: Found display [wayland-1]
[2025-03-16 16:36:23.763]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:23.763]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:23.763]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:23.763]: Info: Resolution: 1280x720
[2025-03-16 16:36:23.763]: Info: Name: HEADLESS-1
[2025-03-16 16:36:23.763]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:23.763]: Info: Offset: 0x0
[2025-03-16 16:36:23.763]: Info: Logical size: 1280x720
[2025-03-16 16:36:23.763]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:23.763]: Info: Creating encoder [h264_vaapi]
[2025-03-16 16:36:23.763]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:23.763]: Info: Color depth: 8-bit
[2025-03-16 16:36:23.764]: Info: Color range: JPEG
[2025-03-16 16:36:23.779]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:23.779]: Info: Using LP encoding mode
[2025-03-16 16:36:23.779]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:23.779]: Warning: [h264_vaapi @ 0x2ba2c680] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:23.802]: Info: Creating encoder [hevc_vaapi]
[2025-03-16 16:36:23.802]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:23.802]: Info: Color depth: 8-bit
[2025-03-16 16:36:23.802]: Info: Color range: JPEG
[2025-03-16 16:36:23.813]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:23.813]: Info: Using LP encoding mode
[2025-03-16 16:36:23.813]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:23.813]: Warning: [hevc_vaapi @ 0x2ba2c680] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:23.868]: Info: Creating encoder [av1_vaapi]
[2025-03-16 16:36:23.868]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:23.868]: Info: Color depth: 8-bit
[2025-03-16 16:36:23.868]: Info: Color range: JPEG
[2025-03-16 16:36:23.875]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:23.875]: Error: [av1_vaapi @ 0x2ba2c680] No usable encoding entrypoint found for profile VAProfileAV1Profile0 (32).
[2025-03-16 16:36:23.876]: Error: Could not open codec [av1_vaapi]: Function not implemented
[2025-03-16 16:36:23.877]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:23.877]: Info: Found display [wayland-1]
[2025-03-16 16:36:23.877]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:23.877]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:23.877]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:23.877]: Info: Resolution: 1280x720
[2025-03-16 16:36:23.877]: Info: Name: HEADLESS-1
[2025-03-16 16:36:23.877]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:23.877]: Info: Offset: 0x0
[2025-03-16 16:36:23.877]: Info: Logical size: 1280x720
[2025-03-16 16:36:23.877]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:23.877]: Info: Creating encoder [hevc_vaapi]
[2025-03-16 16:36:23.877]: Info: Color coding: SDR (Rec. 709)
[2025-03-16 16:36:23.877]: Info: Color depth: 10-bit
[2025-03-16 16:36:23.877]: Info: Color range: JPEG
[2025-03-16 16:36:23.884]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:23.884]: Info: Using LP encoding mode
[2025-03-16 16:36:23.884]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:23.884]: Warning: [hevc_vaapi @ 0x2ba2c680] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:23.933]: Info:
[2025-03-16 16:36:23.933]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-03-16 16:36:23.933]: Info:
[2025-03-16 16:36:23.933]: Info: Found H.264 encoder: h264_vaapi [vaapi]
[2025-03-16 16:36:23.933]: Info: Found HEVC encoder: hevc_vaapi [vaapi]
[2025-03-16 16:36:23.934]: Info: Adding avahi service fedora
[2025-03-16 16:36:23.943]: Info: Configuration UI available at [https://localhost:47990]
[2025-03-16 16:36:24.914]: Info: Avahi service fedora successfully established.
[2025-03-16 16:36:31.934]: Warning: Couldn't discover any IPv4 UPNP devices
[2025-03-16 16:36:34.478]: Warning: Sunshine is configured to change resolution automatically, but the "Optimize game settings" is not set in the client! Resolution will not be changed.
[2025-03-16 16:36:34.479]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
[2025-03-16 16:36:34.479]: Info: Trying encoder [nvenc]
[2025-03-16 16:36:34.479]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:34.479]: Info: Found display [wayland-1]
[2025-03-16 16:36:34.479]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:34.479]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:34.479]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:34.479]: Info: Resolution: 1280x720
[2025-03-16 16:36:34.479]: Info: Name: HEADLESS-1
[2025-03-16 16:36:34.479]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:34.479]: Info: Offset: 0x0
[2025-03-16 16:36:34.479]: Info: Logical size: 1280x720
[2025-03-16 16:36:34.479]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:34.479]: Info: Creating encoder [h264_nvenc]
[2025-03-16 16:36:34.479]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:34.479]: Info: Color depth: 8-bit
[2025-03-16 16:36:34.479]: Info: Color range: JPEG
[2025-03-16 16:36:34.479]: Error: Couldn't load cuda: -1
[2025-03-16 16:36:34.479]: Info: Encoder [nvenc] failed
[2025-03-16 16:36:34.479]: Info: Trying encoder [vaapi]
[2025-03-16 16:36:34.479]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:34.479]: Info: Found display [wayland-1]
[2025-03-16 16:36:34.480]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:34.480]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:34.480]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:34.480]: Info: Resolution: 1280x720
[2025-03-16 16:36:34.480]: Info: Name: HEADLESS-1
[2025-03-16 16:36:34.480]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:34.480]: Info: Offset: 0x0
[2025-03-16 16:36:34.480]: Info: Logical size: 1280x720
[2025-03-16 16:36:34.480]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:34.480]: Info: Creating encoder [h264_vaapi]
[2025-03-16 16:36:34.480]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:34.480]: Info: Color depth: 8-bit
[2025-03-16 16:36:34.480]: Info: Color range: JPEG
[2025-03-16 16:36:34.498]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:34.498]: Info: Using LP encoding mode
[2025-03-16 16:36:34.498]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:34.498]: Warning: [h264_vaapi @ 0x7f3ebc292640] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:34.526]: Info: Creating encoder [hevc_vaapi]
[2025-03-16 16:36:34.527]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:34.527]: Info: Color depth: 8-bit
[2025-03-16 16:36:34.527]: Info: Color range: JPEG
[2025-03-16 16:36:34.534]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:34.534]: Info: Using LP encoding mode
[2025-03-16 16:36:34.534]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:34.534]: Warning: [hevc_vaapi @ 0x7f3ebc292640] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:34.584]: Info: Creating encoder [av1_vaapi]
[2025-03-16 16:36:34.584]: Info: Color coding: SDR (Rec. 601)
[2025-03-16 16:36:34.584]: Info: Color depth: 8-bit
[2025-03-16 16:36:34.584]: Info: Color range: JPEG
[2025-03-16 16:36:34.591]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:34.591]: Error: [av1_vaapi @ 0x7f3ebc292640] No usable encoding entrypoint found for profile VAProfileAV1Profile0 (32).
[2025-03-16 16:36:34.592]: Error: Could not open codec [av1_vaapi]: Function not implemented
[2025-03-16 16:36:34.593]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:34.593]: Info: Found display [wayland-1]
[2025-03-16 16:36:34.593]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:34.593]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:34.593]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:34.593]: Info: Resolution: 1280x720
[2025-03-16 16:36:34.593]: Info: Name: HEADLESS-1
[2025-03-16 16:36:34.593]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:34.593]: Info: Offset: 0x0
[2025-03-16 16:36:34.593]: Info: Logical size: 1280x720
[2025-03-16 16:36:34.593]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:34.593]: Info: Creating encoder [hevc_vaapi]
[2025-03-16 16:36:34.593]: Info: Color coding: SDR (Rec. 709)
[2025-03-16 16:36:34.593]: Info: Color depth: 10-bit
[2025-03-16 16:36:34.593]: Info: Color range: JPEG
[2025-03-16 16:36:34.600]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:34.600]: Info: Using LP encoding mode
[2025-03-16 16:36:34.600]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:34.600]: Warning: [hevc_vaapi @ 0x7f3ebc292640] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:34.635]: Info:
[2025-03-16 16:36:34.635]: Info: // Ignore any errors mentioned above, they are not relevant. //
[2025-03-16 16:36:34.635]: Info:
[2025-03-16 16:36:34.635]: Info: Found H.264 encoder: h264_vaapi [vaapi]
[2025-03-16 16:36:34.635]: Info: Found HEVC encoder: hevc_vaapi [vaapi]
[2025-03-16 16:36:34.635]: Info: Executing [Desktop]
[2025-03-16 16:36:34.715]: Info: New streaming session started [active sessions: 1]
[2025-03-16 16:36:34.751]: Info: CLIENT CONNECTED
[2025-03-16 16:36:34.753]: Info: Found display [wayland-1]
[2025-03-16 16:36:34.781]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:34.781]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:34.781]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:34.781]: Info: Resolution: 1280x720
[2025-03-16 16:36:34.781]: Info: Name: HEADLESS-1
[2025-03-16 16:36:34.781]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:34.781]: Info: Offset: 0x0
[2025-03-16 16:36:34.781]: Info: Logical size: 1280x720
[2025-03-16 16:36:34.781]: Info: -------- Start of Wayland monitor list --------
[2025-03-16 16:36:34.781]: Info: Monitor 0 is HEADLESS-1: Headless output 2
[2025-03-16 16:36:34.781]: Info: --------- End of Wayland monitor list ---------
[2025-03-16 16:36:34.781]: Info: Screencasting with Wayland's protocol
[2025-03-16 16:36:34.781]: Info: Found display [wayland-1]
[2025-03-16 16:36:34.781]: Info: Found interface: zxdg_output_manager_v1(7) version 3
[2025-03-16 16:36:34.781]: Info: Found interface: zwlr_export_dmabuf_manager_v1(27) version 1
[2025-03-16 16:36:34.781]: Info: Found interface: wl_output(52) version 4
[2025-03-16 16:36:34.781]: Info: Resolution: 1280x720
[2025-03-16 16:36:34.781]: Info: Name: HEADLESS-1
[2025-03-16 16:36:34.781]: Info: Found monitor: Headless output 2
[2025-03-16 16:36:34.781]: Info: Offset: 0x0
[2025-03-16 16:36:34.781]: Info: Logical size: 1280x720
[2025-03-16 16:36:34.782]: Info: Selected monitor [Headless output 2] for streaming
[2025-03-16 16:36:34.782]: Error: BT.2020 SDR colorspace expects 10-bit color depth, falling back to Rec. 709
[2025-03-16 16:36:34.782]: Info: Creating encoder [hevc_vaapi]
[2025-03-16 16:36:34.782]: Info: Color coding: SDR (Rec. 709)
[2025-03-16 16:36:34.782]: Info: Color depth: 8-bit
[2025-03-16 16:36:34.782]: Info: Color range: MPEG
[2025-03-16 16:36:34.793]: Info: vaapi vendor: Intel iHD driver for Intel(R) Gen Graphics - 24.4.4 ()
[2025-03-16 16:36:34.793]: Info: Using LP encoding mode
[2025-03-16 16:36:34.793]: Warning: Using CQP with single frame VBV size
[2025-03-16 16:36:34.793]: Warning: [hevc_vaapi @ 0x7f3e80255c00] Buffering settings are ignored in CQP RC mode.
[2025-03-16 16:36:35.202]: Info: Setting default sink to: [sink-sunshine-stereo]
[2025-03-16 16:36:35.202]: Info: Found default monitor by name: sink-sunshine-stereo.monitor
[2025-03-16 16:36:35.231]: Info: Opus initialized: 48 kHz, 2 channels, 96 kbps (total), LOWDELAY
Facing the same issue
@rodhfr Confirming that I had the same issue on Fedora 41 and running the commands you have listed fixes it. I'm newer to Fedora but something worthwhile noting is adding the necessary RPM Fusion repositories (I believe both free and nonfree and before running the install commands) in order for the packages to actually be installed. For anyone new to Fedora as well, this article was helpful in that regard: https://rpmfusion.org/Configuration
After adding the repositories and the install commands, I see Sunshine using vaapi/Intel QuickSync as expected on an Intel N100 using intel_gpu_top.
It's likely also worth swapping the system version of ffmpeg as described here: https://rpmfusion.org/Howto/Multimedia
Before anything gets added to the documentation, it needs to be clarified exactly which commands are actually needed. For example, Sunshine uses it's own ffmpeg and doesn't use any system installed ffmpeg.
It's true that Fedora's native packages contain ffmpeg with only free, non-patented codecs.
But Sunshine doesn't use the system's ffmpeg at all. It has a statically compiled, statically linked, 100% internal copy of ffmpeg's source code.
So this topic makes incorrect assumptions. It's not the install of ffmpeg that is fixing things. It's something else that fixes it. Such as RPM Fusion adding a separate Mesa package with a VAAPI multimedia driver for Intel and AMD cards. Because by default, Fedora ships Mesa drivers WITHOUT HARDWARE CODEC SUPPORT (patent reasons).
Anyway, here's the steps every Fedora user should take, no matter who they are or what they are doing with their lives (xD):
- Enable RPM Fusion with the official commands (link to these since they may change): https://rpmfusion.org/Configuration#Command_Line_Setup_using_rpm
- Tell it to fetch AppStream metadata so that all RPM Fusion packages become known to software centers: https://rpmfusion.org/Configuration#AppStream_metadata
- Follow these instructions to enable full multimedia codecs (everyone needs that) and hardware acceleration (Intel + AMD needs that) on Fedora: https://rpmfusion.org/Howto/Multimedia?highlight=%28%5CbCategoryHowto%5Cb%29
- Note: NVIDIA users should not bother with the "libva-nvidia-driver" instruction. That's a very specialized, unreliable (frequently breaking) wrapper which converts VAAPI to NVIDIA's APIs, and it's only needed if you use apps that can't speak directly to NVENC. Which honestly, you most likely never will. NVIDIA users just need to install the NVIDIA driver, and they're done. Sunshine will find NVENC after that: https://rpmfusion.org/Howto/NVIDIA?highlight=%28%5CbCategoryHowto%5Cb%29
It seems this issue hasn't had any activity in the past 90 days. If it's still something you'd like addressed, please let us know by leaving a comment. Otherwise, to help keep our backlog tidy, we'll be closing this issue in 10 days. Thanks!
This issue was closed because it has been stalled for 10 days with no activity.