Skip to content

Releases: LizardByte/Sunshine

v2026.419.175203

19 Apr 21:07
e180053

Choose a tag to compare

v2026.419.175203 Pre-release
Pre-release

What's Changed

Read more

v2026.417.201619

18 Apr 00:02
5ffa66e

Choose a tag to compare

v2026.417.201619 Pre-release
Pre-release

What's Changed

Read more

v2025.924.154138

24 Sep 18:27
86188d4

Choose a tag to compare

v2025.923.33222

23 Sep 06:17
f22b00d

Choose a tag to compare

Attention

This release contains critical security updates. For more information see the following:

Please update as soon as possible!

For a comprehensive list of user-facing changes, see below.

What's Changed

  • fix(power): don't wake up every 500ms to poll while not streaming by @cgutman in #4051
  • fix(amf): attempt to use level 5.1/5.2 for hevc by @mariotaku in #3888
  • fix(display): Restore Checkbox import for display device opts by @VMFortress in #4076
  • fix(windows): bundle vigembus instead of downloading it by @ReenigneArcher in #4088
  • fix(api): don't require content type for apps delete endpoint by @doxxx in #4093
  • fix(video): restore the ability to set a minimum fps target by @andygrundman in #4114
  • fix(packaging/linux): depend on libgbm by @ReenigneArcher in #4113
  • build(linux): compile with gcc13+ and bump cuda by @ReenigneArcher in #4136
  • build(deps): Update to FFmpeg 8.0 branch by @cgutman in #4143
  • feat(input/linux): allow ds5 gamepads to have a fixed device mac based on controller index by @Kishi85 in #4158
  • fix(input): Cleanup and show additional gamepad options correctly on linux (DS5) by @Kishi85 in #4169
  • fix(input): Add missing default value for ds5_inputtino_randomize_mac by @Kishi85 in #4207
  • fix(tray): optionally run tray in main event loop enabling support for macOS by @ReenigneArcher in #3818
  • feat(tray): Add runtime config option to enable/disable system tray by @Kishi85 in #4208
  • fix(packaging/Arch): make cuda and unit tests optional by @FineWolf in #4254
  • fix(packaging/Arch): do not fail if cuda was freshly installed by @FineWolf in #4257
  • fix(Linux): udev rules style issues by @Revival8697 in #4276
  • build(packaging/Linux): remove cuda as required dependency on aur by @ReenigneArcher in #4278
  • fix(packaging/Linux): ensure that uhid is loaded automatically by @gschintgen in #2906

New Contributors

Full Changelog: v2025.628.4510...v2025.923.33222


Contributors

dependabotReenigneArcherLizardByte-botKishi85FineWolfcgutmandoxxxRevival8697a5ehrenerikmagkeksegschintgenmengyanshouscottnmVMFortressandygrundmanmariotaku


πŸ›‘οΈ VirusTotal Results:

Read more

v2025.628.4510

28 Jun 00:45
65f14e1

Choose a tag to compare

Attention

This release contains critical security updates. For more information see the following:

Please update as soon as possible!

This release also contains many new features and bug fixes, including:

  • Encoder probing fixes.
  • Display automation is now disabled by default, you can re-enable it in the Sunshing config UI.
  • RestAPI improvements.
  • Async encode added for NVENC.
  • Native DualSense support on Linux.
  • Headless monitor support on Wayland Linux.
  • Minimum FPS is now be based on client framerate.
  • New languages and updated translations.
  • Many behind the scene updates to the build, ci, and dependencies.

For a more comprehensive list of user-facing changes, see below.

What's Changed

New Contributors

Full Changelog: v2025.122.141614...v2025.628.4510


Contributors

ReenigneArcherdependabotLizardByte-botClutchnp<img...

Read more

v2025.122.141614

22 Jan 14:16
64544e7

Choose a tag to compare

What's Changed

New Contributors

Full Changelog: v2025.118.151840...v2025.122.141614


Contributors

ReenigneArcherdependabotCodyManessLizardByte-bot

v2025.118.151840

18 Jan 15:19
26566cc

Choose a tag to compare

Attention

This release contains critical security updates. For more information see
GHSA-3hrw-xv8h-9499.
Please update as soon as possible!

This release also contains many new features and bug fixes, including:

  • Implemented automatic resolution and HDR mode changing on Windows.
  • Implemented YUV 4:4:4 encoding support for Intel and NVIDIA GPUs on Windows.
  • Implemented automatic discovery support for macOS hosts.
  • Added support for capturing displays other than the main display on macOS.
  • Added support for emulating DS5, Nintendo Switch Pro, and Xbox One controllers on Linux.
  • Removed the limit on concurrent streaming sessions.
  • Eliminated the need for driver patching to use NvFBC capture on Linux.
  • Significantly reduced CPU usage for encoding when using AMD GPUs (RDNA or later) on Windows.
  • Fixed video traffic timeout error when streaming from a Hyper-V VM using GPU Paravirtualization.
  • Fixed inability to stream from a Windows machine when using the Microsoft Basic Display Adapter driver.
  • Optimized internal frame handling by eliminating redundant data copies and using functions optimized for SSSE3,
    AVX2, and AVX512.
  • Implemented flow control to reduce the chance of dropped packets by overwhelmed routers or network switches.
  • Reworked the video encoding rate control logic for VA-API to improve bitrate efficiency on Linux.
  • New capture method using Windows.Graphics.Capture API on Windows.
    This is an experimental feature and requires running Sunshine manually.
    It is not compatible with running Sunshine as a service.
  • Clients can now be named and unpaired individually.
  • The web UI now supports dark mode.
  • Checkboxes replace select menus for boolean settings in the web UI.
  • RestAPI improvements.

For a more comprehensive list of user-facing changes, see below.

What's Changed

  • feat(macos/capture): support for capture display other than main display by @TimmyOVO in #2449
  • fix(macos/input): incorrect mouse input for non-main display by @TimmyOVO in #2461
  • webui: Update resolution automation example text with auto refresh rate by @cgarst in #2503
  • fix(linux): add frame processing latency and logging improvements by @gschintgen in #2502
  • AppImage: add needed VA-API libraries (Intel & AMD) by @gschintgen in #2429
  • Allow a custom FFmpeg build to be provided using CMake variables by @chewi in #1970
  • Fix log message for Periodic Ping by @c3m3gyanesh in #2538
  • feat(ui): Dark Mode by @Hazer in #2493
  • build(win): use UCRT64 environment instead of MinGW64. by @tez011 in #2323
  • feat(win): new capture method, Windows.Graphics.Capture by @tez011 in #2580
  • Name and unpair individual clients by @xanderfrangos in #2042
  • feat(audio): custom surround-params by @mariotaku in #2424
  • Remove the need for a patched nvidia library for NvFBC. by @hgaiser in #2471
  • build(linux): add homebrew support by @ReenigneArcher in #2667
  • fix(macos): Mouse input broken in-game by @Hazer in #2550
  • feat(input/linux): add support for more virtual input devices by @Hazer in #2606
  • fix(linux/input): battery values conversion by @ABeltramo in #2715
  • feat: add min_fps_target setting by @ReenigneArcher in #1043
  • fix(upnp): support newer miniupnpc library by @ReenigneArcher in #2782
  • macOS: New implementation of service publication by @cathyjf in #2786
  • build(linux): drop support for AUR by @ReenigneArcher in #2819
  • Implement basic network flow control by @ns6089 in #2803
  • Provide SSSE3, AVX2, and AVX512 optimized Reed-Solomon functions by @cgutman in #2828
  • Eliminate a redundant alloc+copy of each frame by @cgutman in #2852
  • Implement S/G IO for non-batched sends and eliminate more data copies by @cgutman in #2867
  • Implement S/G IO for batched sends and eliminate another frame copy by @cgutman in #2874
  • Migrate audio pipeline to float from 16-bit integer by @ns6089 in #2873
  • Handle CTRL_CLOSE_EVENT on Windows by @ns6089 in #2952
  • feat!: drop advertised resolutions and fps by @ReenigneArcher in #2924
  • fix(linux): ensure NvFBC capture works after multiple sessions by @insanemal in #3020
  • feat(win/video): support native YUV 4:4:4 encoding by @ns6089 in #2533
  • fix(linux): enable lowlatency mode for AMD by @ReenigneArcher in #3088
  • fix(nvhttp): wrap TLS socket to ensure graceful closure by @cgutman in #3077
  • fix(mdns): don't hardcode mDNS instance name by @cgutman in #3084
  • fix(win/video): don't offload chroma subsampling math to texture sampler when downscaling by @ns6089 in #3014
  • build(cmake): Prioritize vendored includes over system-wide by @jmou in #3182
  • fix(macos): Touch input broken by @BayLee4 in #3240
  • fix(video): encode at least one frame before capture reinit by @cgutman in #3300
  • fix: Reverse Proxy support by @Degot in #3173
  • feat(stream)!: remove limit on concurrent sessions and allow quitting apps with active sessions by @cgutman in #3325
  • fix(nvenc): disable filler data in AV1 bitstream by @cgutman in #3336
  • feat(vaapi): add option to enable strict enforcement of frame size by @cgutman in #3332
  • fix(macos): prevent indefinite hanging if screen capture is not granted by @cathyjf in #3360
  • fix(process): avoid leaking zombies and fds in detached processes by @cgutman in #3379
  • fix(hostname): fix handling of non-ASCII hostnames on Windows by @cgutman in #3382
  • feat(display)!: Add libdisplaydevice dependency and output name mapping by @FrogTheFrog in #2894
  • fix(nvenc): Enable opt-in client refresh by client by @TheElixZammuto in #3415
  • fix(shaders/directx): replace modulus with bitwise operator by @iMakeSoftware in #3499
  • feat(display): Configure display device based on user config by @FrogTheFrog in #3441
  • fix(confighttp): do not return 200 on errors by [@ReenigneArcher](https://github.com/ReenigneArche...
Read more

v0.23.1

21 Apr 02:02
8b21db6

Choose a tag to compare

Fixed

  • (Capture/Windows) Disable HRD and CBR encoding options by default for AMD GPUs due to video quality regressions in v0.23.0
  • (UI) Fix incorrect strings for QuickSync 'fast' and 'faster' presets
  • (UI/Linux) Fix update prompt appearing even when running the latest version
  • (Input) Fix crash when absolute input events are received prior to the display viewport being set
  • (Input/Linux) Fix missing clamping of rumble intensity to valid range
  • (Build/Tests) Fix error when attempting to disable compilation of tests
  • (Build/Linux) Fix some compilation errors when using Musl libc
  • (Logging) Fix broken debug messages for codec capability flags
  • (Logging/Linux) Fix log messages to include the correct setcap command for resolving KMS permission errors

Added

  • (Capture/Linux) Improve frame time consistency for all capture backends
  • (UI) Set focus to the PIN textbox when navigating to the PIN tab

Dependencies

  • Remove libavdevice dependency

Misc

  • (Linux) Prefer ayatana-appindicator3 over appindicator3 if both are available

v0.23.0

07 Apr 03:32
14ed89d

Choose a tag to compare

Attention, this release contains critical security fixes. Please update as soon as possible.

Breaking

  • (Linux) Drop support for Ubuntu 20.04
  • (Linux) No longer provide arm64 rpm packages, due to extreme compile time on GitHub hosted runners

Fixed

  • (Network) Ensure unpairing takes effect without restart
  • (Capture/Linux) Fix logical comparison of texture size
  • (Service/Windows) Quote the path to sunshinesvc.exe when launching the termination helper

Added

  • (WebUI) Localization support
  • (Capture/Linux) Populate host latency for kmx/x11 grab
  • (Capture/Windows) AMF rate control improvements
  • (Linux) Add support for Ubuntu 24.04 (x86_64 only)

Dependencies

  • Bump rstcheck from 6.2.0 to 6.2.1
  • Bump org.flatpak.Builder.BaseApp from 644487f to 6e295e6
  • Bump ffmpeg
  • Bump @fortawesome/fontawesome-free from 6.5.1 to 6.5.2

Misc

  • (Style) Refactored video encoder declarations
  • (CI) Refactored Linux build in CI
  • (CI) Added unit testing and code coverage
  • (Docs/macOS) Update curl command for Portfile install
  • (Style) Refactor logging initialization

v0.22.2

15 Mar 11:13
33c6c3e

Choose a tag to compare

Fixed

  • (Tray/Windows) Fix broken system tray icon on some systems
  • (Linux) Fix crash when XDG_CONFIG_HOME or CONFIGURATION_DIRECTORY are set
  • (Linux) Fix config migration across filesystems and with non-existent parent directories