LizardByte / LizardByte/Sunshine

Enable Vulkan encoding for wlroots capture method.

Open
#5,726 1 comment 0 reactions 0 assignees View on GitHub

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?

This issue is present in the latest pre-release

### Describe the Bug

Hi! #5030 disabled vulkan encoding for the wlroots capture method

> "AMD+wlr+vulkan worked, but it broke NVIDIA+wlr+nvenc — "buffer formats (linear, non-linear) break wlr screencopy,"

Recently we've had a fix regarding wlroots: #5699

I was wondering if that's enough to maybe get vulkan enabled for wlroots again, or if there's still more work needed to be done. I have an AMD gpu only, so I can't test it with nvidia to see if it's still broken.

This would be a nice to have because flatpak installs can't do the CAP_SYS_NICE changes while using vaapi, which could cause the encoder to throttle if host GPU usage is high. An issue completely avoided by vulkan encode.

### Expected Behavior

Be able to use Vulkan encode with wlroots capture method.

### Additional Context

_No response_

### Host Operating System

Linux

### Operating System Version

Aurora (Version: 44.20260915.1)

### Architecture

amd64/x86_64

### Package

Linux - flathub/flatpak

### GPU Type

AMD

### GPU Model

RX 6700 XT

### GPU Driver/Mesa Version

Mesa 26.2.2

### Capture Method

wlroots (FreeBSD/Linux)

### Apps

```json

```

### Log output

```shell

```

### Online logs

_No response_

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the changes referenced in #5030 and the wlroots fix in #5699, then trace the wlroots capture and Vulkan encoding paths. Done means Vulkan encoding can be selected with wlroots while preserving NVIDIA/wlroots/NVENC compatibility; hardware testing on both AMD and NVIDIA is needed.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, linux
Domain
audio-video-rtc, operating-systems
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.