LizardByte / LizardByte/Sunshine
Vulkan encoding not working on AMDGPU (Radeon 8060S)
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 41.3k
- Forks
- 2.1k
- Avg merge
- 23h 47m
- Merged PRs (30d)
- 124
Description
### 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
sunshine is using x264 sw encoding even though hardware supports AV1
### Expected Behavior
vulkan hw accelleration is used for encoding
### Additional Context
sunshine output
```
[2026-08-28 21:10:47.257]: Info: Sunshine version: 2026.516.143833 commit: 14ffa6fdaa53f7b51512be2b3d24f3939695403c
[...]
[2026-08-28 21:10:47.802]: Info: Trying encoder [vulkan]
[2026-08-28 21:10:47.802]: Info: Screencasting with KMS
[2026-08-28 21:10:47.802]: Info: /dev/dri/card1 -> amdgpu
[2026-08-28 21:10:47.802]: Info: Found monitor for DRM screencasting
[2026-08-28 21:10:47.802]: Info: Found connector ID [453]
[2026-08-28 21:10:47.802]: Info: Found cursor plane [421]
[2026-08-28 21:10:47.802]: Info: Creating encoder [h264_vulkan]
[2026-08-28 21:10:47.802]: Info: Color coding: SDR (Rec. 601)
[2026-08-28 21:10:47.802]: Info: Color depth: 8-bit
[2026-08-28 21:10:47.802]: Info: Color range: JPEG
[2026-08-28 21:10:47.888]: Info: Streaming bitrate is 1000000
[2026-08-28 21:10:47.888]: Error: [h264_vulkan @ 0x346bdec0] Device does not support encoding h264!
[2026-08-28 21:10:47.890]: Error: Could not open codec [h264_vulkan]: Function not implemented
[2026-08-28 21:10:47.890]: Info: Creating encoder [h264_vulkan]
[2026-08-28 21:10:47.890]: Info: Color coding: SDR (Rec. 601)
[2026-08-28 21:10:47.890]: Info: Color depth: 8-bit
[2026-08-28 21:10:47.890]: Info: Color range: JPEG
[2026-08-28 21:10:47.972]: Info: Streaming bitrate is 1000000
[2026-08-28 21:10:47.973]: Error: [h264_vulkan @ 0x346bdec0] Device does not support encoding h264!
[2026-08-28 21:10:47.975]: Error: Could not open codec [h264_vulkan]: Function not implemented
[2026-08-28 21:10:47.975]: Info: Encoder [vulkan] failed
```
vulkaninfo output
```
Device Extensions: count = 226
[...]
VK_KHR_video_encode_av1 : extension revision 1
VK_KHR_video_encode_intra_refresh : extension revision 1
VK_KHR_video_encode_quantization_map : extension revision 2
VK_KHR_video_encode_queue : extension revision 12
[...]
VkPhysicalDeviceVideoEncodeAV1FeaturesKHR:
------------------------------------------
videoEncodeAV1 = true
VkPhysicalDeviceVideoEncodeIntraRefreshFeaturesKHR:
---------------------------------------------------
videoEncodeIntraRefresh = true
VkPhysicalDeviceVideoEncodeQuantizationMapFeaturesKHR:
------------------------------------------------------
videoEncodeQuantizationMap = true
```
what's funny is that apparently there is no H.264 encoding HW support, so maybe sunshine errors out before even trying AV1?
### Host Operating System
Linux
### Operating System Version
Fedora 44
### Architecture
amd64/x86_64
### Package
Linux - AppImage
### GPU Type
AMD
### GPU Model
AMD Radeon 8060S Graphics
### GPU Driver/Mesa Version
Mesa 26.0.8
### Capture Method
KMS (Linux)
### Apps
```json
```
### Log output
```shell
```
### Online logs
_No response_
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the Vulkan encoder-selection path shown in the log, especially creation of h264_vulkan and the subsequent encoder failure. Compare that path with the reported VK_KHR_video_encode_av1 support and determine whether AV1 is attempted when H.264 is unavailable. Done means the supported hardware encoder is selected or the failure is reported clearly, with the provided Sunshine logs reproduced or explained.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp, linux
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 55/100