feat(macOS): Capture audio on macOS using Tap API#4209
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
This comment was marked as resolved.
Bundle ReportChanges will increase total bundle size by 19 bytes (0.0%) ⬆️. This is within the configured threshold ✅ Detailed changes
Affected Assets, Files, and Routes:view changes for bundle: sunshine-esmAssets Changed:
Files in
|
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #4209 +/- ##
=========================================
Coverage ? 18.51%
=========================================
Files ? 107
Lines ? 22448
Branches ? 9970
=========================================
Hits ? 4156
Misses ? 15929
Partials ? 2363
Flags with carried forward coverage won't be shown. Click here to find out more.
|
|
Thanks for the PR. I have built this on my M1 Pro MBP and have been trying to get it to work, but haven't had much success so far. I am not able to get any sound to be captured and/or sent. So far I am only testing with the simplest use case of audio playing out of my MBP speakers. I edited the code to make the tap and aggregate non-private, so I could try to view the tap/aggregate with Apple's sample app I can see the tap, but not the aggregate. I'm not sure what's wrong. Can you detail your testing process? I do seem to be getting OK log entries and since I'm running from iTerm, all my permissions seem to be in order (iTerm has access to many things). I had to make the following changes to get it to build: plus a fix in our input.cpp that breaks the latest Xcode 16.4, I'm surprised if you didn't run into this one. I am running Xcode 16.4 clang-1700.0.13.5). |
This comment was marked as outdated.
This comment was marked as outdated.
|
Hey @andygrundman, thanks for taking the time to test the PR. Sorry to hear it’s not working correctly. Here’s my setup on an M4 MBP and what I did. clang --version
Apple clang version 17.0.0 (clang-1700.0.13.5)
Target: arm64-apple-darwin24.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/binI made the changes in VS Code and followed the steps in mkdir build
cmake -B build -G Ninja -S .
ninja -C buildFor testing I did the following steps:
So at one point I'm running three streams simultaneously and the audio plays through the devices. My audio_sink = Steam Streaming Speakers
macos_system_wide_audio_tap = true
origin_web_ui_allowed = pc
stream_audio = true
wan_encryption_mode = 2With I’m familiar with the sample app! It might be the case that the aggregate device settings are probably still marked as private. You’ll need to flip those to Sunshine/src/platform/macos/av_audio.mm Line 604 in 6404705 Sunshine/src/platform/macos/av_audio.mm Line 649 in 6404705 Then the tap will show up in Apple's sample app's UI.
And the aggregate device shows up as well.
But even with those values flipped to |
|
It appears that tests are crashing on macOS 15 and 26, at these tests
Also, still one lint issue: https://github.com/LizardByte/Sunshine/actions/runs/22879151110/job/66380516025?pr=4209#step:10:57 |
It looks like we might still need your TCC fix after all… but I will run a few tests first! |
It's somewhat odd because the macOS-26 completes some of the audio tests before crashing out. |
|
Hey @ReenigneArcher I've had some time to really dive into this a bit more and it's, like you mentioned, worth noting that the TCC prompting is not happening during the Homebrew validation on the master branch. I thought that was a little strange, as well. You can see that I've pushed a small (preliminary) change that I'd love to see run through the workflow. Your feedback is very much welcome. I had a closer look at the CI workflow logs (the Homebrew macOS validation) and I noticed other parts of the code also interact with TCC but appear to skip cleanly: On macOS 14: So, I went and implemented something in But about those audio tests... I think the reason these pass on the master branch is a bit subtle. When no audio sink is set in With the CoreAudio tap implementation, however, not setting a sink in As an alternative, we could inject permissions directly into the TCC database, but that feels a little brittle and error-prone. So the question is: should we add a (I'll sort out rebasing my commits, too.) |
|
I also noticed the audio test wasn't really the greatest test. We could probably improve it in a later PR. For now, I think I'm good with this PR as is. Would you want to submit a follow up PR to help improve the tests? My preference would be to actually verify audio works, but I understand sometimes this isn't the easiest to do in a CI environment where we don't have control of the hardware. For the encoder tests, I just make them skip if they don't work, unless software encoding fails in which case it is a failure. Software encoding should always work, whether in a CI environment or not. |
|
Looks like the audio tests are still failing on macos 15 and 26, so maybe it needs a better fix before this is merged. |
Sure thing, I don't mind taking a look.
That's unfortunate... Though I don't mind digging into it some more! |
|
@ThomVanL so you think it's a permissions issue?
Would adding a virtual audio device allow it to pass? Looks like blackhole is available in homebrew with 3 variants. We could make these dependencies in the homebrew package? |
|
@ReenigneArcher Yes, I think it's got to do with the kTCCServiceAudioCapture permission. I have been also considering adding a sink, so it's definitely something we could try. I have been conducting quite a bit of testing on a separate repository, with just the code path that creates the tap and aggregate device, gtest and a workflow; least with enough code to prompt the TCC. But so far I've been unable to add those permissions to the TCC database. It also looks like the permission is not configured in GitHub's macOS runners, based on what I can tell. I will do some more testing this evening. |
|
@ThomVanL the script you linked is where I originally discovered how to adjust the permissions in the runner as well. You can add anything you want in the same way they do because SIP is disabled in the runners. The hard part, when I originally did it, was figuring out what to give the permission to... but that was with macports. I think with homebrew it should be easier as it's supported on the runners out of the box. |
|
@ReenigneArcher I did some more testing on this across a few different approaches, but I wasn’t able to get the TCC settings to apply correctly. I tried configuring it in multiple ways, but no success so far. As a fallback, I replicated the current behavior by forcing the sink to a non-existent value: (I have not yet committed this, by the way) struct AudioTest: PlatformTestSuite, testing::WithParamInterface<std::tuple<std::basic_string_view<char>, config_t>> {
void SetUp() override {
m_config = std::get<1>(GetParam());
m_mail = std::make_shared<safe::mail_raw_t>();
#ifdef __APPLE__
m_saved_sink = config::audio.sink;
if (config::audio.sink.empty()) {
config::audio.sink = "__nonexistent_audio_sink__";
m_overrode_sink = true;
}
#endif
}
void TearDown() override {
#ifdef __APPLE__
if (m_overrode_sink) {
config::audio.sink = m_saved_sink;
}
#endif
}
config_t m_config;
safe::mail_t m_mail;
#ifdef __APPLE__
std::string m_saved_sink;
bool m_overrode_sink {};
#endif
};That said, I’m not particularly a big fan of this approach. I find it to be more along the lines of a quick fix rather than a proper solution.. Though as far as I can tell it mirrors the current behavior in master. I’ll keep digging into the TCC side tomorrow evening to see if there’s a way to get the permissions set correctly in the runner. |
dd24999 to
50b2105
Compare
|
@ReenigneArcher Even better, I've been able to add the correct TCC permissions, and in my testing I've been able to get OK results from all four I ended up just expanding upon that script from the "actions/runner-images" I linked earlier. It didn't occur to me to add |
|
|
@ThomVanL nice work! Looks like everything is green! |
* 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[…









Description
This PR adds system-wide audio tap support for macOS. The implementation introduces:
Additional changes
cmakefiles for compatibility with Homebrew-based setup.opensslandopusare found automatically. This replaces the need to run manuallncommands, but I’m not sure if this is the best long-term approach. Feedback welcome.cmake/compile_definitions/unix.cmaketo ensureSUNSHINE_ASSETS_DIRresolves correctly.src_assets/macos/assets/Info.plistto prepare for required macOS permission prompts.macos_system_wide_audio_tapconfig option to theaudio_tstruct.Testing
Notes
setupMicrophonefunctionality as it is also a viable option!macos_system_wide_audio_tapsetting.If the AI involvement is a blocker for merging, no worries. I can totally understand! This was also a learning project for me and I had a lot of fun building it.
Screenshot
Web UI – Audio/Video Configuration

New option for enabling system-wide audio recording on macOS. Disables the audio sink option when checked.
macOS Permission Prompt

System permission request when Sunshine first tries to access system audio:
System Settings – Screen & System Audio Recording

macOS privacy settings showing Sunshine/Terminal access to "System Audio Recording Only":
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage