feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

feat(linux): Add Vulkan video encoder - #4603

Merged
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr
Mar 31, 2026
Merged

feat(linux): Add Vulkan video encoder#4603
ReenigneArcher merged 29 commits into
LizardByte:masterfrom
neatnoise:vulkan-pr

Conversation

@neatnoise

@neatnoiseneatnoise commented Jan 19, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds Vulkan video encoding support for Linux, providing an alternative to VAAPI encoding.

Changes:

  • Vulkan encoder: New FFmpeg-based Vulkan encoder (h264_vulkan, hevc_vulkan, av1_vulkan) with zero-copy DMA-BUF import and Vulkan compute RGB-to-YUV conversion — no EGL/GL dependency, all GPU work stays in a single Vulkan queue
  • Web UI: Added Vulkan encoder selection and settings to the configuration interface
  • Documentation: Added docs for vulkan encoder options in docs/configuration.md

Dependencies:

Requires corresponding PR in LizardByte/build-deps (ffmpeg-vulkan branch) to enable BUILD_FFMPEG_VULKAN option, which enables Vulkan encoder support in FFmpeg builds.

Testing:

  • Tested on single GPU setup: AMD Radeon 780M (integrated)
  • Tested on multi-GPU setup: AMD Radeon 9070 XT (discrete) + AMD Radeon 780M (integrated)
  • Tested on Arch Linux KDE desktop

Screenshot

image

Issues Fixed or Closed

Roadmap Issues

Type of Change

  • feat: New feature (non-breaking change which adds functionality)
  • fix: Bug fix (non-breaking change which fixes an issue)
  • docs: Documentation only changes
  • style: Changes that do not affect the meaning of the code (white-space, formatting, missing semicolons, etc.)
  • refactor: Code change that neither fixes a bug nor adds a feature
  • perf: Code change that improves performance
  • test: Adding missing tests or correcting existing tests
  • build: Changes that affect the build system or external dependencies
  • ci: Changes to CI configuration files and scripts
  • chore: Other changes that don't modify src or test files
  • revert: Reverts a previous commit
  • BREAKING CHANGE: Introduces a breaking change (can be combined with any type above)

Checklist

  • Code follows the style guidelines of this project
  • Code has been self-reviewed
  • Code has been commented, particularly in hard-to-understand areas
  • Code docstring/documentation-blocks for new or existing methods/components have been added or updated
  • Unit tests have been added or updated for any new or modified functionality

AI Usage

  • None: No AI tools were used in creating this PR
  • Light: AI provided minor assistance (formatting, simple suggestions)
  • Moderate: AI helped with code generation or debugging specific parts
  • Heavy: AI generated most or all of the code changes

@neatnoiseneatnoise changed the title Add Vulkan video encoder for Linux (KMS capture)feat(web): Add Vulkan video encoder for LinuxJan 19, 2026
@neatnoiseneatnoise changed the title feat(web): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoder for LinuxJan 19, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment threadsrc_assets/common/assets/web/public/assets/locale/en.json
Comment threadcmake/compile_definitions/linux.cmake
Comment threaddocs/configuration.md
Comment threadcmake/compile_definitions/linux.cmake Outdated
Comment threadsrc/platform/linux/kmsgrab.cpp Outdated
@ReenigneArcher

Copy link
Copy Markdown
Member

I will convert this to draft for now, please change it back when you're ready for a full review. Thanks!

@ReenigneArcher
ReenigneArcher marked this pull request as draft January 19, 2026 20:45
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Its ready

@andygrundman

andygrundman commented Jan 20, 2026

Copy link
Copy Markdown
Contributor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

@ReenigneArcher

Copy link
Copy Markdown
Member

Its ready

I left a bunch of review comments.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

I know this PR is about encoding, but I saw changes to capture as well. Do you know if this could support variable framerate capture, similar to how capture works on Windows? In my limited experience Linux always captures at the stream framerate.

The ideal capture process would be capturing only when the image has changed (with duplicated frames subject to minimum_fps_target), as well as capturing using a frame interval timer requested by the client or based on the framerate. For example, an Xbox client works best if frames are captured on a timer with an interval of 59.94fps (60000/1001), a desktop client could just use a 60fps interval. One thing you do not want to do is base anything on the host's vsync interval.

Yes, the kms_vblank option already behaves this way with variable frame rate similarly to Windows. It encodes that many frames that are generated by a game. It also respects fps frame rate which are set by a client (if the clients sets 60, it won't generate more than 60 fps with some minimal margin)

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I made proposed changes. I also added a tiling fix for RNDA 4 when Gnome DE is used. Would be helpful if somebody with Nvidia and Intel GPUs could test the new encoder

@neatnoise

neatnoise commented Feb 17, 2026

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher I've tested with vulkan ffmpeg build https://github.com/LizardByte/build-deps/actions/runs/21850415771?pr=606 successfully.

Tweaked kms_vblank for the game Cronos The New Dawn meanwhile.

Tested in many games with various resolutions with and without vsync in-game and kms_vblank enabled and disabled. Tested with vulkan and vaapi encoders. It works solid.

@XT-Martinez

This comment was marked as off-topic.

@ReenigneArcher

ReenigneArcher commented Feb 18, 2026

Copy link
Copy Markdown
Member

This PR needs to be rebased to pick up the right FFmpeg pre-build, before I can run CI.

Edit: actually the build-deps commit that added Vulkan hadn't been merged here yet: #4735

@psyke83

Copy link
Copy Markdown
Contributor

@neatnoise

Also, don't forget to verify compatibility with portalgrab when rebasing. This is enough to get started, but you might want to refine/verify:

diff --git a/src/platform/linux/portalgrab.cpp b/src/platform/linux/portalgrab.cpp
index 1f4e9062..eeaf1c92 100644
--- a/src/platform/linux/portalgrab.cpp
+++ b/src/platform/linux/portalgrab.cpp
@@ -29,6 +29,7 @@
#include "src/platform/common.h"
#include "src/video.h"
#include "vaapi.h"
+#include "vulkan_encode.h"
#include "wayland.h"
namespace {
@@ -748,6 +749,7 @@ namespace portal {
// On hybrid GPU systems (Intel+NVIDIA), DMA-BUFs come from the Intel GPU and cannot
// be imported into CUDA, so we fall back to memory buffers in that case.
bool use_dmabuf = n_dmabuf_infos > 0 && (mem_type == platf::mem_type_e::vaapi ||
+ mem_type == platf::mem_type_e::vulkan ||
(mem_type == platf::mem_type_e::cuda && display_is_nvidia));
if (use_dmabuf) {
for (int i = 0; i < n_dmabuf_infos; i++) {
@@ -1226,6 +1228,9 @@ namespace portal {
return va::make_avcodec_encode_device(width, height, n_dmabuf_infos > 0);
}
#endif
+ if (mem_type == platf::mem_type_e::vulkan) {
+ return vk::make_avcodec_encode_device_vram(width, height, 0, 0);
+ }
#ifdef SUNSHINE_BUILD_CUDA
if (mem_type == platf::mem_type_e::cuda) {
@@ -1368,7 +1373,7 @@ namespace portal {
namespace platf {
std::shared_ptr<display_t> portal_display(mem_type_e hwdevice_type, const std::string &display_name, const video::config_t &config) {
using enum platf::mem_type_e;
- if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != cuda) {
+ if (hwdevice_type != system && hwdevice_type != vaapi && hwdevice_type != vulkan && hwdevice_type != cuda) {
BOOST_LOG(error) << "Could not initialize display with the given hw device type."sv;
return nullptr;
}

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@XT-Martinez It looks like ffmpeg without built-in vulkan support, you need to build it with ffmpeg vulkan supported binaries (like from link above).

@psyke83 will do. I will add vulkan support also for portal grab. Actually I have my portal/pipeware implementation here https://github.com/neatnoise/Sunshine/tree/vulkan%2Bpipewire . So It will be similar.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor
  • Rebased to sunshine master (with portal support)
  • Added vulkan+portal support
  • Cleaned up to just add vulkan support - removed kms_vblank option (i might create a separate PR for it in the future)

The best results on my machine are portal+vulkan (vulkan settings low latency + vbr) and existing portal+vaapi. Portal seems to have a lower latency than KMS.

@gschintgen

Copy link
Copy Markdown
Contributor

FWIW I found the vblank option quite interesting. (But I don't have much time right now to actually check it out.)

@psyke83

Copy link
Copy Markdown
Contributor

With the default settings (vbr, ll), the stream is massively violating the target bitrate (70Mbps target is saturating my wifi connection at 250Mbps+). I didn't notice this with prior testing.

@psyke83

psyke83 commented Feb 19, 2026

Copy link
Copy Markdown
Contributor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Comment threadsrc_assets/common/assets/web/config.html Outdated
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

This is the issue:

conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=hevc_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode
conn@ryzenl:~/work/sunshine$ ffmpeg 2>&1 -h encoder=h264_vulkan | grep -A5 rc_mode -rc_mode <int> E..V....... Select rate control type (from 0 to UINT32_MAX) (default auto)
auto 4294967295 E..V....... Choose mode automatically based on parameters
driver 0 E..V....... Driver-specific rate control
cqp 1 E..V....... Constant quantizer mode
cbr 2 E..V....... Constant bitrate mode
vbr 4 E..V....... Variable bitrate mode

Your current PR is assigning VBR as 3 erroneously. When set to 4, I'm not seeing the crazy bitrate overshooting.

Fixed

@ReenigneArcher

Copy link
Copy Markdown
Member

build-deps has been updated in Sunshine to include the version with vulkan support.

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@ReenigneArcher rebased with the current master. It works fine:

lut 24 11:58:17 REDACTED_HOST systemd[834]: Starting Self-hosted game stream host for Moonlight...
lut 24 11:58:23 REDACTED_HOST systemd[834]: Started Self-hosted game stream host for Moonlight.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037958] [0x00007fd88eecb600] [info] config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037977] [0x00007fd88eecb600] [info] config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037979] [0x00007fd88eecb600] [info] config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037984] [0x00007fd88eecb600] [info] config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037986] [0x00007fd88eecb600] [info] config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037988] [0x00007fd88eecb600] [info] config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037989] [0x00007fd88eecb600] [info] config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037991] [0x00007fd88eecb600] [info] config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037992] [0x00007fd88eecb600] [info] config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037994] [0x00007fd88eecb600] [info] config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.037997] [0x00007fd88eecb600] [info] config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Sunshine version: 0.0.0-e76b2ffb commit:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Package Publisher: Third Party Publisher
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Publisher Website:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Get support: https://app.lizardbyte.dev/support
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'address_family' = both
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'capture' = portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'encoder' = vulkan
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'external_ip' = REDACTED_IP
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'gamepad' = xone
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'minimum_fps_target' = 10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_rc_mode' = 4
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'lan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vaapi_strict_rc_buffer' = enabled
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'wan_encryption_mode' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: config: 'vk_tune' = 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.038]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Trying encoder [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.152]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.163]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.167]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.181]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.182]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.183]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.191]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.220]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.239]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.262]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color depth: 8-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.281]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.302]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Screencasting with XDG portal
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.321]: Info: Found display [wayland-0]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.328]: Info: Loaded portal restore token from disk
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Error: SelectDevices failed with response code: 2
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.331]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.343]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Video format: 12
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Size: 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.345]: Info: using DMA-BUF buffers
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.353]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.376]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color depth: 10-bit
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.398]: Info: Color range: JPEG
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.418]: Info: Streaming bitrate is 1000000
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info:
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.442]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.443]: Info: Starting system tray
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Adding avahi service REDACTED_HOST
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.444]: Info: Configuration UI available at [https://localhost:47990]
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: libayatana-appindicator is deprecated. Please use libayatana-appindicator-glib in newly written code.
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: System tray created
lut 24 11:58:23 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:23.467]: Info: Starting main loop
lut 24 11:58:24 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:24.379]: Info: Avahi service REDACTED_HOST successfully established.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Trying encoder [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.525]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.533]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.537]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.551]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.552]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.553]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.561]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.591]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.613]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.636]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Creating encoder [av1_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color depth: 8-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.654]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.674]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.695]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Requested frame rate [60/1, approx. 60 fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.696]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.702]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.705]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.716]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Video format: 12
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Size: 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.718]: Info: using DMA-BUF buffers
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Creating encoder [hevc_vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.726]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.748]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Creating encoder [av1_vulkan]
⠋ Thinking...lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color coding: SDR (Rec. 709)
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color depth: 10-bit
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.770]: Info: Color range: JPEG
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.790]: Info: Streaming bitrate is 1000000
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Testing for available encoders, this may generate errors. You can safely ignore those errors. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: // Ignore any errors mentioned above, they are not relevant. //
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info:
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found H.264 encoder: h264_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found HEVC encoder: hevc_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Found AV1 encoder: av1_vulkan [vulkan]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.811]: Info: Executing [Desktop]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: Video encryption enabled
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.950]: Info: New streaming session started [active sessions: 1]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.974]: Info: CLIENT CONNECTED
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.976]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Screencasting with XDG portal
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Requested frame rate [60fps]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.977]: Info: Found display [wayland-0]
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.983]: Info: Loaded portal restore token from disk
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Error: SelectDevices failed with response code: 2
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.986]: Warning: RemoteDesktop.SelectDevices failed, falling back to ScreenCast-only mode
lut 24 11:58:42 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:42.999]: Info: Connected to pipewire version 1.4.10
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.000]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Video format: 12
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Size: 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: Framerate (from compositor): 0/1 (variable rate capture)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.001]: Info: using DMA-BUF buffers
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Using negotiated resolution 1920x1080
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Creating encoder [h264_vulkan]
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color coding: SDR (Rec. 601)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color depth: 8-bit
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.009]: Info: Color range: MPEG
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: WARNING: radv is not a conformant Vulkan implementation, testing use only.
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.036]: Info: Streaming bitrate is 14988000
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.041]: Info: Minimum FPS target set to ~5fps (200ms)
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.473]: Info: Found default monitor by name: alsa_output.REDACTED_PCInalog-stereo.monitor
lut 24 11:58:43 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:43.483]: Info: Opus initialized: 48 kHz, 2 channels, 512 kbps (total), LOWDELAY
lut 24 11:58:51 REDACTED_HOST sunshine[3540]: [2026-02-24 11:58:51.608]: Info: Web UI: [::1] -- not authorized

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

Comment threadsrc/video.cpp Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc_assets/common/assets/web/config.html Outdated
Comment threadsrc_assets/common/assets/web/configs/tabs/Advanced.vue
Comment threadsrc_assets/common/assets/web/configs/tabs/encoders/VulkanEncoder.vue Outdated
Comment threadsrc/config.cpp Outdated
Comment threadsrc/config.cpp
Comment threadsrc/config.h
@ReenigneArcher
ReenigneArcher marked this pull request as ready for review February 26, 2026 02:04
@neatnoise

Copy link
Copy Markdown
ContributorAuthor

Thank you, I have a review below.

In addition to my review, I have a question. Will there be issues if there is a mismatch in the vulkan header and vulkan loader versions here versus what is used in the build-deps (FFmpeg) repo?

The build-deps repo bundles Vulkan Headers/Loader v1.4.344 (statically linked into FFmpeg), while my Sunshine compiles against the system's v1.4.341 (CachyOS distro). The two
don't share Vulkan types directly — Sunshine talks to FFmpeg through libavutil/hwcontext_vulkan.h. Since core Vulkan types and ABI haven't changed between these versions, there's no practical risk of mismatch.

- Replace find_package(Vulkan COMPONENTS glslc) with find_program() so
shader compiler detection works without system Vulkan headers
- Move glslc BuildRequires to Fedora-only, add shaderc for OpenSUSE
- Add shaderc dependency to Homebrew formula
Comment threadcmake/scripts/binary_to_c.cmake Outdated
@ReenigneArcherReenigneArcher changed the title feat(linux): Add Vulkan video encoder for Linuxfeat(linux): Add Vulkan video encoderMar 30, 2026
ReenigneArcher
ReenigneArcher previously approved these changes Mar 30, 2026

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you @neatnoise! Will merge this soon!

@ReenigneArcherReenigneArcher left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's a final build issue on openSUSE that wasn't caught yet.

Comment threadpackaging/linux/copr/Sunshine.spec Outdated
…n on Leap
- Move vulkan-loader-devel from common to Fedora-specific section
- Add vulkan-devel for openSUSE Tumbleweed
- Use libvulkan1 instead of vulkan-loader for openSUSE runtime dep
- Disable Vulkan on openSUSE Leap (shaderc/glslang not in official repos)
- Skip vulkan/shaderc BuildRequires on Leap via sle_version conditional
@sonarqubecloud

Copy link
Copy Markdown

Quality Gate FailedQuality Gate failed

Failed conditions
4.3% Duplication on New Code (required ≤ 2%)
2 Duplicated Blocks on New Code (required ≤ 0)

See analysis details on SonarQube Cloud

@ReenigneArcher
ReenigneArcher merged commit 0752f64 into LizardByte:masterMar 31, 2026
71 of 73 checks passed
@ReenigneArcherReenigneArcher added this to the vulkan milestone Apr 1, 2026
@moi952

Copy link
Copy Markdown

Hi, I tried a test with an RTX 5070 Ti on Bazzite with KDE 6.
I forced the Vulkan encoder to run some tests, and when I log in, I get a black screen. It seems Vulkan wants to use my CPU's integrated GPU.

Here are the logs, in case they're helpful.

I didn't create an issue because this isn't typical for a user with an Nvidia GPU, but it might help improve the reliability of the Vulkan encoder.

Thanks for your work.

Fichier texte.txt

@gschintgen

Copy link
Copy Markdown
Contributor

Ah right, while testing I had also noticed that it used the wrong GPU and that I had to specify the correct one in Sunshine's config. (Or was that when I tried portalgrab?)

Anyway, if needed I can also test again to confirm. (It might be best to file an actual bug report though.)

@combs-spacier

combs-spacier commented Apr 5, 2026

Copy link
Copy Markdown

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank?
sunshine.log

@neatnoise

Copy link
Copy Markdown
ContributorAuthor

@combs-spacier this error comes from FFmpeg library. It seems to be Nvidia driver <-> FFmpeg problem. Do you have the latest Nvidia drivers installed?

kms_vblank was removed in this PR. I propose to use portal capturer - It has much better frame pacing and fixes the frame ghosting, duplicated frames issues, the issues which kms_vblank intended to fix.

@combs-spacier

Copy link
Copy Markdown

@neatnoise I have the latest Nvidia beta drivers (595) installed, yes.

Ah yeah, I’m usually using Portal capture, and am very happy with it, frame pacing really seems great on it. However, it does not support HDR, while KMS does, so I thought I’d give it a try.

@shelterx

Copy link
Copy Markdown

Its been running great here after my… ahem initial issues. Thanks everyone, Gaming through sunshine is finally smooth on Linux. ❤️

@Signynt

Copy link
Copy Markdown
Contributor

I tried this with 2026.403.124357 on cachyOS with an Nvidia GeForce RTX 5090, setting the capture method to KMS and the encoder method to Vulkan, but fails to fully start with the following error:

[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e79147c00] Unable to finish command buffer: VK_ERROR_INITIALIZATION_FAILED
[2026-04-05 11:53:04.671]: Error: [h264_vulkan @ 0x562e7913e580] Encode failed: Generic error in an external library.
[2026-04-05 11:53:04.671]: Error: Could not send a frame for encoding: Generic error in an external library

Full log attached.

But the way, where would I tweak kms_vblank? sunshine.log

@combs-spacier I was getting the same error on my RTX 4060, and found that adding VK_IMAGE_USAGE_VIDEO_ENCODE_SRC_BIT_KHR to the encoder fixed the issue for me. Would you like to try out my PR #4994 to see if it fixes the issue for you as well?

eball added a commit to Above-Os/Sunshine that referenced this pull request Jun 24, 2026
* chore(l10n): update translations (#4793)
* build(homebrew): dynamic link opus (#4826)
* fix(linux/wlgrab): add frame_timestamp using wayland's ready timestamp (#4787)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* fix(linux): use FQDN naming for all Linux packaging types (#4779)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.576.0 to 0.577.0 (#4818)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.576.0 to 0.577.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/0.577.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 0.577.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* refactor(confighttp): HTML page handlers into generic getPage function (#4645)
* build(deps): move nvapi to official NVIDIA repo and bump to R590 (#3725)
* build(deps): bump vue-i18n from 11.2.8 to 11.3.0 (#4828)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.2.8 to 11.3.0.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.0/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/xdgportal): implement event-driven capture (#4768)
* build(windows): sign windows executables (#4829)
* build(deps): bump vue from 3.5.29 to 3.5.30 (#4834)
Bumps [vue](https://github.com/vuejs/core) from 3.5.29 to 3.5.30.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.29...v3.5.30)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.30
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4831)
* fix(web-ui): add missing featured apps platform icons (#4837)
* ci(windows): disable signing for arm64 (#4838)
* fix(linux/xdgportal): descriptor/pointer cleanups (#4840)
* feat(web-ui): add browse feature to find directories/executables/files (#4848)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5de4612` to `37eb3e5` (#4844)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5de4612` to `37eb3e5`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5de461271d05f43f267b954ac6010b410378ae47...37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/download-artifact from 8.0.0 to 8.0.1 in the github-actions group across 1 directory (#4842)
build(deps): bump actions/download-artifact
Bumps the github-actions group with 1 update in the / directory: [actions/download-artifact](https://github.com/actions/download-artifact).
Updates `actions/download-artifact` from 8.0.0 to 8.0.1
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/70fc10c6e5e1ce46ad2ea6f2b72d43f7d47b13c3...3e5f45b2cfb9172054b4087a40e8e0b5a5461e7c)
---
updated-dependencies:
- dependency-name: actions/download-artifact
dependency-version: 8.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(l10n): update translations (#4841)
* build(Fedora): Adjust version ranges for GCC selection (#4851)
* fix(linux/xdgportal): avoid duplicate frame insertion (#4839)
* build(deps): bump vmactions/freebsd-vm from 1.4.2 to 1.4.3 (#4849)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.2 to 1.4.3.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/c9f815bc7aa0d34c9fdd0619b034a32d6ca7b57e...4807432c7cab1c3f97688665332c0b932062d31f)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `fc11224` to `a61b494` (#4850)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `fc11224` to `a61b494`.
- [Commits](https://github.com/flathub/shared-modules/compare/fc1122496c63b13aa96ca2351a9662294291b9e0...a61b4949d10e96e5f8923284a1c847964ac3f9ad)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: a61b4949d10e96e5f8923284a1c847964ac3f9ad
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(linux): generate glad sources at compile time (#4798)
Co-authored-by: Conn O'Griofa <connogriofa@gmail.com>
* build(deps): bump third-party/doxyconfig from `ba47416` to `a9f0c38` (#4853)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `ba47416` to `a9f0c38`.
- [Commits](https://github.com/LizardByte/doxyconfig/compare/ba47416c88a7f5661fa1ed24b7300ef62185e877...a9f0c38766e53d29f1141098db237e51ba3d64d8)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: a9f0c38766e53d29f1141098db237e51ba3d64d8
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(i18n): clarify cmd notes (#4856)
* build(deps): bump third-party/inputtino from `504f0ab` to `73e9fa1` (#4860)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `504f0ab` to `73e9fa1`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/504f0abc7da8ebc351f8300fb2ed98db5438ee48...73e9fa11179c86c8801e1dbce1c329d2ca07621a)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: 73e9fa11179c86c8801e1dbce1c329d2ca07621a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/glad from `dcc4f69` to `73db193` (#4858)
Bumps [third-party/glad](https://github.com/Dav1dde/glad) from `dcc4f69` to `73db193`.
- [Release notes](https://github.com/Dav1dde/glad/releases)
- [Commits](https://github.com/Dav1dde/glad/compare/dcc4f69620ce15e3d40b3e8d907d293bd297dbe1...73db193f853e2ee079bf3ca8a64aa2eaf6459043)
---
updated-dependencies:
- dependency-name: third-party/glad
dependency-version: 73db193f853e2ee079bf3ca8a64aa2eaf6459043
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): allow unified systemd service for all capture methods (#4854)
* feat(linux/keyboard): add F13-F24 keycodes (#4833)
* build(deps): bump apple-actions/import-codesign-certs from 6.0.0 to 6.1.0 (#4864)
build(deps): bump apple-actions/import-codesign-certs
Bumps [apple-actions/import-codesign-certs](https://github.com/apple-actions/import-codesign-certs) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/apple-actions/import-codesign-certs/releases)
- [Commits](https://github.com/apple-actions/import-codesign-certs/compare/b610f78488812c1e56b20e6df63ec42d833f2d14...fe74d46e82474f87e1ba79832ad28a4013d0e33a)
---
updated-dependencies:
- dependency-name: apple-actions/import-codesign-certs
dependency-version: 6.1.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `22441b5` to `fe32761` (#4866)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `22441b5` to `fe32761`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/22441b505d9d9afc1e3002290820909846c24bdc...fe32761e7a8bc79fcf560f356bf3898271bf4d56)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: fe32761e7a8bc79fcf560f356bf3898271bf4d56
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/cache from 5.0.3 to 5.0.4 in the github-actions group across 1 directory (#4870)
build(deps): bump actions/cache
Bumps the github-actions group with 1 update in the / directory: [actions/cache](https://github.com/actions/cache).
Updates `actions/cache` from 5.0.3 to 5.0.4
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/cdf6c1fa76f9f475f3d7449005a359c84ca0f306...668228422ae6a00e4ad889ee87cd7109ec5666a7)
---
updated-dependencies:
- dependency-name: actions/cache
dependency-version: 5.0.4
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump codecov/codecov-action from 5.5.2 to 5.5.3 (#4871)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.2 to 5.5.3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/671740ac38dd9b0130fbe1cec585b89eea48d3de...1af58845a975a7985b0beb0cbe6fbbb71a41dbad)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 5.5.3
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `37eb3e5` to `cc1d7b8` (#4872)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `37eb3e5` to `cc1d7b8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/37eb3e5bdc5a14d13ee27b85265aae2c5e9a60c2...cc1d7b8ddc859d611faed53c263af78a0aeb0c5c)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: cc1d7b8ddc859d611faed53c263af78a0aeb0c5c
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/inputtino from `73e9fa1` to `f4ce2b0` (#4873)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `73e9fa1` to `f4ce2b0`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/73e9fa11179c86c8801e1dbce1c329d2ca07621a...f4ce2b0df536ef309e9ff318f75b460f7097d7c1)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: f4ce2b0df536ef309e9ff318f75b460f7097d7c1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): use FQDN service name in desktop launcher (#4874)
* fix(linux/xdgportal): portalgrab capture stability & mutter compatibility (#4875)
* feat(macOS): Capture audio on macOS using Tap API (#4209)
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* feat(linux/glad): implement EGL_IMG_context_priority (#4857)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `cc1d7b8` to `5c73dc4` (#4880)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `cc1d7b8` to `5c73dc4`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/cc1d7b8ddc859d611faed53c263af78a0aeb0c5c...5c73dc44f2be1cc5968e4700ba67c32dfa11ba23)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 5c73dc44f2be1cc5968e4700ba67c32dfa11ba23
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.4 to 17.0.5 (#4881)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.4 to 17.0.5.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.4...v17.0.5)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 17.0.5
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/doxyconfig from `a9f0c38` to `334ad6a` (#4888)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `a9f0c38` to `334ad6a`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/a9f0c38766e53d29f1141098db237e51ba3d64d8...334ad6a7421663be9edbaf4897c33b524642ca70)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: 334ad6a7421663be9edbaf4897c33b524642ca70
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/libdisplaydevice from `b46492b` to `fe7e6a8` (#4887)
build(deps): bump third-party/libdisplaydevice
Bumps [third-party/libdisplaydevice](https://github.com/LizardByte/libdisplaydevice) from `b46492b` to `fe7e6a8`.
- [Release notes](https://github.com/LizardByte/libdisplaydevice/releases)
- [Commits](https://github.com/LizardByte/libdisplaydevice/compare/b46492be8e5d1933ead8fb8867a7910ed10b610a...fe7e6a81f65deae91594702e1a185f47229745b9)
---
updated-dependencies:
- dependency-name: third-party/libdisplaydevice
dependency-version: fe7e6a81f65deae91594702e1a185f47229745b9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `a61b494` to `2f1fb18` (#4886)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `a61b494` to `2f1fb18`.
- [Commits](https://github.com/flathub/shared-modules/compare/a61b4949d10e96e5f8923284a1c847964ac3f9ad...2f1fb187252a619f4775e3126395584041b071fb)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2f1fb187252a619f4775e3126395584041b071fb
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(csrf): make errors more apparent (#4889)
* fix: clear tray icon when unpairing the last paired client (#4890)
* feat(linux): add thread priority support for POSIX systems (#4885)
* build: fix build-deps tag matching (#4899)
* build(deps): bump third-party/tray from `4caf0d0` to `563dee4` (#4894)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `4caf0d0` to `563dee4`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/4caf0d0868aa45b98373249db8761551f7da7b03...563dee475f8878d252ab2b9938d3a014e776ed08)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 563dee475f8878d252ab2b9938d3a014e776ed08
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump msys2/setup-msys2 from 2.30.0 to 2.31.0 (#4893)
Bumps [msys2/setup-msys2](https://github.com/msys2/setup-msys2) from 2.30.0 to 2.31.0.
- [Release notes](https://github.com/msys2/setup-msys2/releases)
- [Changelog](https://github.com/msys2/setup-msys2/blob/main/CHANGELOG.md)
- [Commits](https://github.com/msys2/setup-msys2/compare/4f806de0a5a7294ffabaff804b38a9b435a73bda...cafece8e6baf9247cf9b1bf95097b0b983cc558d)
---
updated-dependencies:
- dependency-name: msys2/setup-msys2
dependency-version: 2.31.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump lucide-vue-next from 0.577.0 to 1.0.0 (#4905)
Bumps [lucide-vue-next](https://github.com/lucide-icons/lucide/tree/HEAD/packages/lucide-vue-next) from 0.577.0 to 1.0.0.
- [Release notes](https://github.com/lucide-icons/lucide/releases)
- [Commits](https://github.com/lucide-icons/lucide/commits/1.0.0/packages/lucide-vue-next)
---
updated-dependencies:
- dependency-name: lucide-vue-next
dependency-version: 1.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump azure/trusted-signing-action from 1.1.0 to 1.2.0 (#4903)
Bumps [azure/trusted-signing-action](https://github.com/azure/trusted-signing-action) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/azure/trusted-signing-action/releases)
- [Commits](https://github.com/azure/trusted-signing-action/compare/87c2e83e6868da99d3380aa309851b32ed9a8346...b443cf8ea4124818d2ea9f043cba29fc3ec47b16)
---
updated-dependencies:
- dependency-name: azure/trusted-signing-action
dependency-version: 1.2.0
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `5c73dc4` to `caca92b` (#4910)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `5c73dc4` to `caca92b`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/5c73dc44f2be1cc5968e4700ba67c32dfa11ba23...caca92bc6898ea40d6521b581fef2402ba3b3aae)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: caca92bc6898ea40d6521b581fef2402ba3b3aae
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue from 3.5.30 to 3.5.31 (#4911)
Bumps [vue](https://github.com/vuejs/core) from 3.5.30 to 3.5.31.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.30...v3.5.31)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.31
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump LizardByte/actions from 2026.227.200013 to 2026.328.161128 in the lizardbyte-actions group across 1 directory (#4920)
build(deps): bump LizardByte/actions
Bumps the lizardbyte-actions group with 1 update in the / directory: [LizardByte/actions](https://github.com/lizardbyte/actions).
Updates `LizardByte/actions` from 2026.227.200013 to 2026.328.161128
- [Release notes](https://github.com/lizardbyte/actions/releases)
- [Commits](https://github.com/lizardbyte/actions/compare/70bb8d394d1c92f6113aeec6ae9cc959a5763d15...0affa4f7bcb27562658960eee840eff8ff844578)
---
updated-dependencies:
- dependency-name: LizardByte/actions
dependency-version: 2026.328.161128
dependency-type: direct:production
update-type: version-update:semver-minor
dependency-group: lizardbyte-actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* test(windows): fix display device tests with clang (#4921)
* chore: update global workflows (#4916)
* build(deps): bump codecov/codecov-action from 5.5.3 to 6.0.0 (#4913)
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.3 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/1af58845a975a7985b0beb0cbe6fbbb71a41dbad...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)
---
updated-dependencies:
- dependency-name: codecov/codecov-action
dependency-version: 6.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: Allow FFMPEG_PLATFORM_LIBRARIES to be overridden by the user (#4915)
* fix: restore stdin-based pairing (#4912)
* build(deps): bump third-party/moonlight-common-c from `6268780` to `7022b33` (#4923)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `6268780` to `7022b33`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/62687809b1f7410c3db4be2527503a54ae408d70...7022b337a9a682f1d974aed69f6065fa57b4164f)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7022b337a9a682f1d974aed69f6065fa57b4164f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(api/ui): add client enable/disable access control (#4771)
* fix(windows): update-path.bat registry command syntax in installer (#4902)
* build(deps): bump vmactions/freebsd-vm from 1.4.3 to 1.4.4 (#4928)
Bumps [vmactions/freebsd-vm](https://github.com/vmactions/freebsd-vm) from 1.4.3 to 1.4.4.
- [Release notes](https://github.com/vmactions/freebsd-vm/releases)
- [Commits](https://github.com/vmactions/freebsd-vm/compare/4807432c7cab1c3f97688665332c0b932062d31f...7ca82f79fe3078fecded6d3a2bff094995447bbd)
---
updated-dependencies:
- dependency-name: vmactions/freebsd-vm
dependency-version: 1.4.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux): Add Vulkan video encoder (#4603)
* build(deps): bump third-party/moonlight-common-c from `7022b33` to `7b026e7` (#4930)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7022b33` to `7b026e7`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7022b337a9a682f1d974aed69f6065fa57b4164f...7b026e77be62175104640e7e722b758df6d3d0d7)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 7b026e77be62175104640e7e722b758df6d3d0d7
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/nvapi from `9296d67` to `9b181ea` (#4917)
Bumps [third-party/nvapi](https://github.com/NVIDIA/nvapi) from `9296d67` to `9b181ea`.
- [Commits](https://github.com/NVIDIA/nvapi/compare/9296d671e71608d6d6b7749ed93989af4ada8858...9b181ea572f680327fe01a14a0f1f41c78034104)
---
updated-dependencies:
- dependency-name: third-party/nvapi
dependency-version: 9b181ea572f680327fe01a14a0f1f41c78034104
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore: update global workflows (#4936)
* build(deps): bump vue from 3.5.31 to 3.5.32 (#4941)
Bumps [vue](https://github.com/vuejs/core) from 3.5.31 to 3.5.32.
- [Release notes](https://github.com/vuejs/core/releases)
- [Changelog](https://github.com/vuejs/core/blob/main/CHANGELOG.md)
- [Commits](https://github.com/vuejs/core/compare/v3.5.31...v3.5.32)
---
updated-dependencies:
- dependency-name: vue
dependency-version: 3.5.32
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump marked from 17.0.5 to 18.0.0 (#4957)
Bumps [marked](https://github.com/markedjs/marked) from 17.0.5 to 18.0.0.
- [Release notes](https://github.com/markedjs/marked/releases)
- [Commits](https://github.com/markedjs/marked/compare/v17.0.5...v18.0.0)
---
updated-dependencies:
- dependency-name: marked
dependency-version: 18.0.0
dependency-type: direct:production
update-type: version-update:semver-major
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.0 to 11.3.1 (#4953)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.0 to 11.3.1.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.1/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.1
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2f1fb18` to `6ea20c8` (#4949)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2f1fb18` to `6ea20c8`.
- [Commits](https://github.com/flathub/shared-modules/compare/2f1fb187252a619f4775e3126395584041b071fb...6ea20c834ed5378c4ab5d36676650921eeac1367)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 6ea20c834ed5378c4ab5d36676650921eeac1367
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix: redact logging of sensitive config & CSRF validation (#4955)
* fix(linux): correct "Pulseadio" typo in PulseAudio log messages (#4956)
* fix(linux/vulkan): add 16-bit DRM format support for HDR DMA-BUF import (#4962)
* fix(linux/xdgportal): Properly support multiple screens by exposing pipewire streams as separate displays (#4931)
* fix(linux/postins): allow running on rpm-ostree environments (#4963)
* build(deps): bump actions/github-script from 8.0.0 to 9.0.0 (#4970)
build(deps): bump actions/github-script in /
Bumps [actions/github-script](https://github.com/actions/github-script) in `/` from 8.0.0 to 9.0.0.
Updates `actions/github-script` from 8.0.0 to 9.0.0
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/ed597411d8f924073f98dfc5c65a23a2325f34cd...3a2844b7e9c422d3c10d287c895573f7108da1b3)
---
updated-dependencies:
- dependency-name: actions/github-script
dependency-version: 9.0.0
dependency-type: direct:production
update-type: version-update:semver-major
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump vue-i18n from 11.3.1 to 11.3.2 (#4964)
Bumps [vue-i18n](https://github.com/intlify/vue-i18n/tree/HEAD/packages/vue-i18n) from 11.3.1 to 11.3.2.
- [Release notes](https://github.com/intlify/vue-i18n/releases)
- [Changelog](https://github.com/intlify/vue-i18n/blob/master/CHANGELOG.md)
- [Commits](https://github.com/intlify/vue-i18n/commits/v11.3.2/packages/vue-i18n)
---
updated-dependencies:
- dependency-name: vue-i18n
dependency-version: 11.3.2
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Improve multi-monitor support and work around breaking kmsgrab (#4969)
* chore: update global workflows (#4976)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `caca92b` to `9d9ad80` (#4983)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `caca92b` to `9d9ad80`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/caca92bc6898ea40d6521b581fef2402ba3b3aae...9d9ad80a55d730e4284d1f09a93da667c84a118a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 9d9ad80a55d730e4284d1f09a93da667c84a118a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `6ea20c8` to `b8236c7` (#4975)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `6ea20c8` to `b8236c7`.
- [Commits](https://github.com/flathub/shared-modules/compare/6ea20c834ed5378c4ab5d36676650921eeac1367...b8236c7961e3dd447b1b9605375a54a12f9f24b6)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: b8236c7961e3dd447b1b9605375a54a12f9f24b6
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump peter-evans/create-pull-request from 8.1.0 to 8.1.1 (#4974)
build(deps): bump peter-evans/create-pull-request in /
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) in `/` from 8.1.0 to 8.1.1.
Updates `peter-evans/create-pull-request` from 8.1.0 to 8.1.1
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/c0f553fe549906ede9cf27b5156039d195d2ece0...5f6978faf089d4d20b00c7766989d076bb2fc7f1)
---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
dependency-version: 8.1.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump actions/upload-artifact from 7.0.0 to 7.0.1 (#4973)
build(deps): bump actions/upload-artifact in /
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) in `/` from 7.0.0 to 7.0.1.
Updates `actions/upload-artifact` from 7.0.0 to 7.0.1
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/bbbca2ddaa5d8feaa63e36b76fdaad77386f024f...043fb46d1a93c77aae656e7c1c64a875d1fc6a0a)
---
updated-dependencies:
- dependency-name: actions/upload-artifact
dependency-version: 7.0.1
dependency-type: direct:production
update-type: version-update:semver-patch
dependency-group: github_actions
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/xdgportal): Additional error handling and minor code improvements (#4979)
* feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding (#4984)
* build(deps-dev): bump vite from 6.4.1 to 6.4.2 (#4985)
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 6.4.1 to 6.4.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v6.4.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v6.4.2/packages/vite)
---
updated-dependencies:
- dependency-name: vite
dependency-version: 6.4.2
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* revert: "feat(linux/vulkan): enable RADV low-latency Vulkan Video encoding" (#4989)
* chore: update global workflows (#4990)
* fix(linux/vulkan): encoder not working on NVIDIA GPUs (#4994)
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.6 (#4992)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/cache action to v5.0.5 (#4991)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): guard deprecated FFmpeg Vulkan queue lock/unlock (#5005)
* chore(deps): update dependency setuptools to v81 (#5003)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.417.35446 (#5012)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.1 (#5011)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vmactions/freebsd-vm action to v1.4.5 (#5001)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `9d9ad80` to `34ecf07` (#5015)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `9d9ad80` to `34ecf07`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/9d9ad80a55d730e4284d1f09a93da667c84a118a...34ecf07ef4843f36b3078637ca13f1dbb1c2963a)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 34ecf07ef4843f36b3078637ca13f1dbb1c2963a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update msys2/setup-msys2 action to v2.31.1 (#5016)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency @codecov/vite-plugin to v2 (#4996)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux): auto-detect GPU with connected display for VAAPI and Vulkan (#4961)
* refactor(linux/xdgportal): Split pipewire code into it's own file so it can be reused (#5008)
* fix(rtsp): ignore clientRefreshRateX100 if more than 1% variance from framerate (#5027)
Co-authored-by: Andy Grundman <105828+andygrundman@users.noreply.github.com>
* fix: Resolve minimum_fps_target related issues on all platforms (#4967)
* fix(linux/vulkan): remove deprecated FFmpeg Vulkan queue lock/unlock (#5031)
* feat(nvenc): support for split frame encoding on GPUs with 2+ nvenc blocks (#4892)
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* refactor(linux/xdgportal): Move elevated privilege check/drop to misc.cpp (#5026)
* fix(linux/vulkan): change default rate control from VBR to CBR (#5032)
* chore(deps): update actions/setup-node action to v6.4.0 (#5033)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.2 (#5022)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/nv-codec-headers from `e844e5b` to `33a9ede` (#5035)
build(deps): bump third-party/nv-codec-headers
Bumps [third-party/nv-codec-headers](https://github.com/FFmpeg/nv-codec-headers) from `e844e5b` to `33a9ede`.
- [Release notes](https://github.com/FFmpeg/nv-codec-headers/releases)
- [Commits](https://github.com/FFmpeg/nv-codec-headers/compare/e844e5b26f46bb77479f063029595293aa8f812d...33a9ede8d9914299d9262539c576a15bd0a19621)
---
updated-dependencies:
- dependency-name: third-party/nv-codec-headers
dependency-version: 33a9ede8d9914299d9262539c576a15bd0a19621
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux): multi-GPU segfault + wlr GPU auto selection, DMA-BUF metadata planes and revert wlr vulkan support (#5030)
* chore(deps): update apple-actions/import-codesign-certs action to v7 (#5037)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix: touch scaling bug and initialize display variables as 0 (#4758)
Co-authored-by: Chase Payne <27069224+nonary@users.noreply.github.com>
* fix(network): restore ExternalIP in server info response (#5043)
* chore(deps): update dependency vue to v3.5.33 (#5042)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/pipewire): Fix absolute touchinput for multi-monitor (#5041)
* refactor(linux): remove leftovers from portalgrab -> pipewire split (#5039)
* docs(readme): restructure feature compatibility tables (#5040)
* fix(linux/pipewire): calculate env_width/env_height from all displays for pipewire_display_t (#5050)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `34ecf07` to `e39e586` (#5052)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `34ecf07` to `e39e586`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/34ecf07ef4843f36b3078637ca13f1dbb1c2963a...e39e58633c61060e3705b5a24d1b52e99a79f1b5)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: e39e58633c61060e3705b5a24d1b52e99a79f1b5
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.0 (#5048)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(linux/xdgportal): Simplify display matching logic (#5053)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `e39e586` to `50a0768` (#5055)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `e39e586` to `50a0768`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/e39e58633c61060e3705b5a24d1b52e99a79f1b5...50a07682428880637a315e4225499b719317344f)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 50a07682428880637a315e4225499b719317344f
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* feat(linux/pipewire): Add support for pipewire stream selection by object serial (#5054)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a` (#5056)
* build(deps): bump third-party/build-deps from `c08f69d` to `cd7d45a`
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `c08f69d` to `cd7d45a`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/c08f69db10450bd06cf79045e79b9179c99bae70...cd7d45a4a1916d7949046162d81e859112ad3ab1)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: cd7d45a4a1916d7949046162d81e859112ad3ab1
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update FFmpeg flatpak sources to v2026.425
Bump the FFmpeg prebuilt artifacts used by the Flatpak module to release v2026.425.130933. Updated download URLs and SHA256 checksums for x86_64 and aarch64 builds (dest-filename remains ffmpeg.tar.gz). No other changes.
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
* feat(capture/linux): add KWin direct screencast capture method (#5009)
Co-authored-by: Ramalama2 <6314556+Ramalama2@users.noreply.github.com>
* feat(linux/pipewire): Handle HDR(Rec. 2020/SMPTE 2084 PQ) visuals (#5025)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `50a0768` to `1895ec8` (#5073)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `50a0768` to `1895ec8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/50a07682428880637a315e4225499b719317344f...1895ec86e460198100089435ecb7c387ebd2264d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 1895ec86e460198100089435ecb7c387ebd2264d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `b8236c7` to `2dfad85` (#5070)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `b8236c7` to `2dfad85`.
- [Commits](https://github.com/flathub/shared-modules/compare/b8236c7961e3dd447b1b9605375a54a12f9f24b6...2dfad855131c70ff7cafd32f3f4901c6d82b9247)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 2dfad855131c70ff7cafd32f3f4901c6d82b9247
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wlr-protocols from `a741f0a` to `bf4fc79` (#5072)
Bumps [third-party/wlr-protocols](https://github.com/LizardByte-infrastructure/wlr-protocols) from `a741f0a` to `bf4fc79`.
- [Commits](https://github.com/LizardByte-infrastructure/wlr-protocols/compare/a741f0ac5d655338a5100fc34bc8cec87d237346...bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a)
---
updated-dependencies:
- dependency-name: third-party/wlr-protocols
dependency-version: bf4fc79abc359eea5a0edec0ac6d4a2b2955f82a
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.3 (#5068)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* feat(input): implement multiseat support and virtual device naming (#4954)
* fix(linux): security: drop CAP_SYS_ADMIN when possible, retain CAP_SYS_NICE (#5075)
* feat(linux/wlgrab): match output_name by xdg_output name (#5071)
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `1895ec8` to `dda10aa` (#5077)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `1895ec8` to `dda10aa`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/1895ec86e460198100089435ecb7c387ebd2264d...dda10aa5949811589747e6e485da6ae2e86b5d2b)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: dda10aa5949811589747e6e485da6ae2e86b5d2b
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency vue to v3.5.34 (#5078)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(linux): add ubuntu 26.04 support (#5051)
* build(linux): fix gcov detection for ArchLinux (#5081)
* chore(deps): update dependency vue-i18n to v11.4.2 (#5080)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* Merge commit from fork
* build(web-ui): commit lock file (#5083)
* fix: show actual bind address in Web UI log message (#4897)
* build(windows): Always setup Node.js in Windows CI (#5084)
* feat(nvenc): support intraRefresh for h264, add outputRecoveryPointSEI=1 to intra-refresh config for h264 and hevc (#5091)
* fix: building without the system tray enabled (#5092)
* build(deps): bump third-party/build-deps from `cd7d45a` to `d8b1d18` (#5097)
Bumps [third-party/build-deps](https://github.com/LizardByte/build-deps) from `cd7d45a` to `d8b1d18`.
- [Release notes](https://github.com/LizardByte/build-deps/releases)
- [Commits](https://github.com/LizardByte/build-deps/compare/cd7d45a4a1916d7949046162d81e859112ad3ab1...d8b1d18b7e82f8ee396bdd05e226896fa523b0df)
---
updated-dependencies:
- dependency-name: third-party/build-deps
dependency-version: d8b1d18b7e82f8ee396bdd05e226896fa523b0df
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/shared-modules from `2dfad85` to `8c3f3cf` (#5098)
build(deps): bump packaging/linux/flatpak/deps/shared-modules
Bumps [packaging/linux/flatpak/deps/shared-modules](https://github.com/flathub/shared-modules) from `2dfad85` to `8c3f3cf`.
- [Commits](https://github.com/flathub/shared-modules/compare/2dfad855131c70ff7cafd32f3f4901c6d82b9247...8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/shared-modules
dependency-version: 8c3f3cfa5a4af9a696ff0bfb3ed0eba404faaf5d
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* ci: remove moonlight discord release announcement (#5099)
* build(deps): Add SUNSHINE_SYSTEM_VULKAN_HEADERS option (#5103)
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
* build(macos): configure C++ standard and ICU root (#5101)
* fix(macos): preserve modifier state in input events (#5102)
* build(windows): drop unused boost-locale (#5116)
* ci(windows): add linkage check (#5118)
* chore(deps): update azure/trusted-signing-action action to v2 (#5117)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(macos): provide left/right identity for modifiers (#5115)
* feat(web-ui): add logout (#5121)
* build(deps): bump third-party/moonlight-common-c from `7b026e7` to `2600bea` (#5123)
build(deps): bump third-party/moonlight-common-c
Bumps [third-party/moonlight-common-c](https://github.com/moonlight-stream/moonlight-common-c) from `7b026e7` to `2600bea`.
- [Commits](https://github.com/moonlight-stream/moonlight-common-c/compare/7b026e77be62175104640e7e722b758df6d3d0d7...2600beaf13f18bfa43453609cf5e3b84a4227760)
---
updated-dependencies:
- dependency-name: third-party/moonlight-common-c
dependency-version: 2600beaf13f18bfa43453609cf5e3b84a4227760
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update dependency @vitejs/plugin-vue to v6.0.7 (#5122)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/plasma-wayland-protocols from `18afc45` to `4c015e9` (#5124)
build(deps): bump third-party/plasma-wayland-protocols
Bumps [third-party/plasma-wayland-protocols](https://github.com/KDE/plasma-wayland-protocols) from `18afc45` to `4c015e9`.
- [Commits](https://github.com/KDE/plasma-wayland-protocols/compare/18afc45c092857e998c890afce1e7e71f808d819...4c015e90ae6c88f2ffa766e899387ef431eade49)
---
updated-dependencies:
- dependency-name: third-party/plasma-wayland-protocols
dependency-version: 4c015e90ae6c88f2ffa766e899387ef431eade49
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(linux/pipewire): Add 10-bit RGB formats with 2-bit Alpha to format_map (#5088)
* chore: update global workflows (#5126)
* fix(audio): fix install of Steam Streaming Speakers driver (#5125)
* build(deps): bump third-party/doxyconfig from `334ad6a` to `e552f7c` (#5127)
Bumps [third-party/doxyconfig](https://github.com/LizardByte/doxyconfig) from `334ad6a` to `e552f7c`.
- [Release notes](https://github.com/LizardByte/doxyconfig/releases)
- [Commits](https://github.com/LizardByte/doxyconfig/compare/334ad6a7421663be9edbaf4897c33b524642ca70...e552f7c9f00cd0cf24764a37d0905935b3d2c188)
---
updated-dependencies:
- dependency-name: third-party/doxyconfig
dependency-version: e552f7c9f00cd0cf24764a37d0905935b3d2c188
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build: bump freebsd version to 14.4 and build-deps to v2026.516.30821 (#5129)
* build(deps): bump third-party/inputtino from `f4ce2b0` to `b887f6a` (#5135)
Bumps [third-party/inputtino](https://github.com/games-on-whales/inputtino) from `f4ce2b0` to `b887f6a`.
- [Commits](https://github.com/games-on-whales/inputtino/compare/f4ce2b0df536ef309e9ff318f75b460f7097d7c1...b887f6a37a4f6babea66ee7b9a79bc8f520d7554)
---
updated-dependencies:
- dependency-name: third-party/inputtino
dependency-version: b887f6a37a4f6babea66ee7b9a79bc8f520d7554
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* fix(macos): scale remote scroll input using macOS scroll speed (#5133)
* chore(deps): update dependency vue-i18n to v11.4.3 (#5139)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: fixes for release automation (#5142)
* chore(deps): update dependency vue-i18n to v11.4.4 (#5143)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency date-fns to v4.2.1 (#5145)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v6.0.1 (#5149)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web): disconnect only the disabled client instead of all sessions (#5138)
* chore(deps): update dependency marked to v18.0.4 (#5151)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore: rename copilot-instructions.md to AGENTS.md (#5156)
* fix(Windows-installer): move ViGEmBus to ThirdParty group (#5157)
* feat(rtsp): add option to limit packetsize for clients that cannot configure it (#5153)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* feat(web-ui): Added Filtering & Searching to the Apps page (#5158)
Co-authored-by: Noklef <281545466+Noklef@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `dda10aa` to `ee65dc7` (#5155)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `dda10aa` to `ee65dc7`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/dda10aa5949811589747e6e485da6ae2e86b5d2b...ee65dc7a798be56de8c4c1ab73411461cac020b4)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ee65dc7a798be56de8c4c1ab73411461cac020b4
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(crowdin): set commit message (#5160)
* chore(l10n): update translations (#5161)
* fix(web): the packetsize upper limit is 65535 (#5167)
Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
* chore(l10n): update translations (#5162)
* chore(deps): update dependency date-fns to v4.3.0 (#5172)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `ee65dc7` to `96e2fe8` (#5165)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `ee65dc7` to `96e2fe8`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/ee65dc7a798be56de8c4c1ab73411461cac020b4...96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: 96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lizardbyte/actions action to v2026.522.121358 (#5173)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(web-ui): add documentation link and version-aware URLs (#5176)
* chore(deps): update lizardbyte/actions action to v2026.524.145234 (#5177)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): migrate from lucide-vue-next to @lucide/vue (#5179)
* chore(l10n): update translations (#5178)
* chore: Add CLion run configuration for 'sunshine' (#5181)
* build(freebsd): fix npm install (#5182)
* fix(linux): migrate to qt tray (#4907)
Co-authored-by: Kishi <41839133+Kishi85@users.noreply.github.com>
* fix: explicitly check construct function error in thread_safe.h (#5184)
* build(macos): quote SHOULD_SIGN env expansion in install script (#5185)
* fix(macos/packaging): add NSLocalNetworkUsageDescription so Bonjour can register (#5186)
* chore(l10n): update translations (#5193)
* fix(linux/vulkan): preserve host aspect ratio in encoder output (#5130)
* fix(macos): drop max_ref_frames=1 for h264_videotoolbox and enable PARALLEL_ENCODING (#5200)
* chore(deps): update dependency vue to v3.5.35 (#5204)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5196)
* build(Archlinux): Shallow clone dependent submodules (#5206)
* chore(deps): update dependency @lucide/vue to v1.17.0 (#5210)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update actions/setup-dotnet action to v5.3.0 (#5208)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(linux/vulkan): Ensure RADV vulkan video encoding is enabled on newer versions of Mesa (#5211)
* fix(linux/kwin): retry init with fully dropped elevated privileges in case KWin is missing CAP_SYS_NICE on linux (#5212)
* feat(web-ui): Updated `Add` / `Edit` app form to use modals + new `Delete` App UI flow (#5166)
* chore(deps): bump wayland-protocols to 1.48 (#5219)
* chore(deps): update dependency date-fns to v4.4.0 (#5215)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5220)
* build(deps): bump third-party/tray from `6332649` to `df9af11` (#5221)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `6332649` to `df9af11`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/6332649ac6c051453c00327919e84472c7a2f660...df9af119085e2cd3f1a9e88e4cc865963879d468)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: df9af119085e2cd3f1a9e88e4cc865963879d468
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(python): migrate to uv (#5222)
* build(homebrew): fix service install on linux (#5223)
* chore(gh-pages): remove unused jquery dependency (#5235)
* docs(contributing): refresh clang-format guidance (#5233)
* chore(deps): update vmactions/freebsd-vm action to v1.4.6 (#5226)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(l10n): update translations (#5229)
* chore(deps): update dependency bootstrap-icons to v1.13.1 (#5239)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vite to v6.4.3 (#5238)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update official github actions to v6.0.3 (#5242)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v13 (#5243)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency simple-icons to v16 (#5248)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: David Lane <42013603+ReenigneArcher@users.noreply.github.com>
* chore(deps): use lizardbyte-common for python helpers (#5250)
* chore(deps): update lizardbyte/actions action to v2026.605.34721 (#5253)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency marked to v18.0.5 (#5251)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update astral-sh/setup-uv action to v8.2.0 (#5245)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update codecov/codecov-action action to v7 (#5262)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update dependency vue-i18n to v11.4.5 (#5256)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools from `96e2fe8` to `ac5a296` (#5263)
build(deps): bump packaging/linux/flatpak/deps/flatpak-builder-tools
Bumps [packaging/linux/flatpak/deps/flatpak-builder-tools](https://github.com/flatpak/flatpak-builder-tools) from `96e2fe8` to `ac5a296`.
- [Commits](https://github.com/flatpak/flatpak-builder-tools/compare/96e2fe8bf7d2e5791ca1bdce2dba373f1e27c425...ac5a296ac6111aa2319daf532f609a067b88d8a9)
---
updated-dependencies:
- dependency-name: packaging/linux/flatpak/deps/flatpak-builder-tools
dependency-version: ac5a296ac6111aa2319daf532f609a067b88d8a9
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* build(deps): bump third-party/wayland-protocols from `02e63e7` to `ee78491` (#5271)
build(deps): bump third-party/wayland-protocols
Bumps [third-party/wayland-protocols](https://github.com/LizardByte-infrastructure/wayland-protocols) from `02e63e7` to `ee78491`.
- [Commits](https://github.com/LizardByte-infrastructure/wayland-protocols/compare/02e63e74a807afed95bc25a386173110afef24e3...ee78491a237eaff9389a0ccf8680521d074407d3)
---
updated-dependencies:
- dependency-name: third-party/wayland-protocols
dependency-version: ee78491a237eaff9389a0ccf8680521d074407d3
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(homebrew): bump ubuntu to 24.04 (#5272)
* fix(wayland): support DMA-BUF modifiers for wlroots capture (#5132)
* chore(deps): bump libdisplaydevice (#5280)
* chore(deps): update vue monorepo to v3.5.37 (#5281)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* fix(tray): fix compiling without system tray enabled (#5284)
* chore(deps): update msys2/setup-msys2 action to v2.32.0 (#5285)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.18.0 (#5287)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* chore(deps): update vue monorepo to v3.5.38 (#5283)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(Linux/AppImage): replace gtk plugin with qt plugin for system tray (#5295)
* feat(linux): Add hardware yuv444 chromasubsampling support on nvidia cards (cuda/cuda gl) (#4965)
* chore(deps): lock file maintenance (#5269)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
* build(deps): bump third-party/tray from `df9af11` to `8ea4c68` (#5296)
Bumps [third-party/tray](https://github.com/LizardByte/tray) from `df9af11` to `8ea4c68`.
- [Release notes](https://github.com/LizardByte/tray/releases)
- [Commits](https://github.com/LizardByte/tray/compare/df9af119085e2cd3f1a9e88e4cc865963879d468...8ea4c6835d623b1095a6c8885d70e6c836ca2307)
---
updated-dependencies:
- dependency-name: third-party/tray
dependency-version: 8ea4c6835d623b1095a6c8885d70e6c836ca2307
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* chore(deps): update lucide monorepo to v1.20.0 (#5297)
Co-authored-by: renovate[bot] <29139614+renovate[…
@combs-spacier

Copy link
Copy Markdown

@Signynt Sorry for the late reply. I see your PR got merged, since, and while I can't tell for sure that it provided the fix, I've successfully used Vulkan video encoding in the past few months since.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

12 participants

@neatnoise@ReenigneArcher@andygrundman@XT-Martinez@psyke83@gschintgen@inkatail@moi952@shelterx@TerjeTL@combs-spacier@Signynt