Skip to content

Releases: LizardByte/Sunshine

v2025.126.232115

26 Jan 23:22
0631472
Compare
Choose a tag to compare
v2025.126.232115 Pre-release
Pre-release

What's Changed

Full Changelog: v2025.122.141614...v2025.126.232115


Contributors

ReenigneArcherFrogTheFrog

v2025.124.213717

24 Jan 21:37
a5c7916
Compare
Choose a tag to compare
v2025.124.213717 Pre-release
Pre-release

What's Changed

Full Changelog: v2025.122.141614...v2025.124.213717


Contributors

ReenigneArcher

v2025.122.141614

22 Jan 14:16
64544e7
Compare
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
Compare
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
Compare
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
Compare
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
Compare
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

v0.22.1

14 Mar 03:23
00fbbc9
Compare
Choose a tag to compare

Breaking

  • (ArchLinux) Drop support for standalone PKGBUILD files. Use the binary Arch package or install via AUR instead.
  • (macOS) Drop support for experimental dmg package. Use Homebrew or MacPorts instead.

Added

  • (macOS) Added Homebrew support

Changed

  • (Process/Windows) The working directory is now searched first when the command contains a relative path
  • (ArchLinux) The kmsgrab capture backend is now compiled by default to support Wayland capture on non-wlroots-based compositors
  • (Capture/Linux) X11 capture is now preferred over kmsgrab for cards that lack atomic modesetting support to ensure cursor capture works
  • (Capture/Linux) Kmsgrab will only choose NVENC by default if the display is connected to the Nvidia GPU to avoid possible EGL import failures

Fixed

  • (Config) Fix unsupported resolution error with some Moonlight clients
  • (Capture/Windows) Fix crash when streaming Ryujinx, Red Alert 2, and other apps that use unusually sized monochrome cursors
  • (Capture/Linux) Fix crash in KMS cursor capture when running on Arch-based distros
  • (Capture/Linux) Fix crash if CUDA GPU has a PCI ID with hexadecimal digits greater than 9
  • (Process/Windows) Fix starting apps when the working directory is enclosed in quotes
  • (Process/Windows) Fix process tree tracking when the app is launched via a cmd.exe trampoline
  • (Installer/Windows) Fix slow operation during ViGEmBus installation that may cause the installer to appear stuck
  • (Build/macOS) Fix issues building on macOS 13 and 14
  • (Build/Linux) Fix missing install script in the Arch binary package
  • (Build/Linux) Fix missing optional dependencies in the Arch binary package
  • (Build/Linux) Ensure correct Arch pkg is published to GitHub releases
  • (Capture/Linux) Fix mismatched case and unhandled exception in CUDA device lookup
  • (Config) Add missing resolution to default config ui
  • (Linux) Fix udev rules for uinput access not working until after reboot
  • (Linux) Fix wrong path in desktop files
  • (Tray) Cache icons to avoid possible DRM issues
  • (Tray) Fix attempt to update tray icon after it was destroyed
  • (Linux) Migrate old config files to new location if env SUNSHINE_MIGRATE_CONFIG=1 is set (automatically set for Flatpak)
  • (Linux/Fedora) Re-enable CUDA support and bump to 12.4.0

Misc

  • (Build/Windows) Adjust Windows debuginfo artifact to reduce confusion with real release binaries

v0.22.0

04 Mar 11:36
c63637f
Compare
Choose a tag to compare

Breaking

  • (Network) Clients must now be paired with the host before they can use Wake-on-LAN
  • (Build/Linux) Drop Fedora 37 support

Added

  • (Input/Linux) Add native/pen touch support for Linux
  • (Capture/Linux) Add HDR streaming support for Linux using KMS capture backend
  • (Capture/Linux) Add KMS capture support for Nvidia GPUs running Wayland
  • (Network) Add support for full E2E stream encryption, configurable for LAN and WAN independently
  • (Process) Add process group tracking to automatically handle launchers that spawn other child processes
  • (Capture/Windows) Add setting for controlling GPU power saving and encoding latency tradeoff for NVENC
  • (Capture/Windows) Add additional encoding settings for NVENC
  • (Process/Windows) Add experimental support for launching URLs and other non-exe files
  • (Capture/Windows) Add setting to allow use of slower HEVC encoding on older Intel GPUs
  • (Input/Windows) Add settings to control automatic gamepad type selection heuristics
  • (Input/Windows) Add setting to allow DS4 back/select button to trigger touchpad click
  • (Input) Add setting to disable high resolution scrolling and native pen/touch support
  • (Network) Add support for certificates types other than RSA-2048
  • (Build/Linux) Add Fedora 39 docker image and rpm package
  • (Capture/Linux) Display monitor indexes in logs for wlroots and KMS capture backends
  • (UI) Add link to logs inside fatal error container
  • (UI) Add hash handler and ids for all configuration categories and settings

Changed

  • (UI) Several configuration options have been moved to more suitable locations
  • (Network) Client-selected bitrate is now adjusted for FEC percentage and other stream overhead
  • (Capture/Linux) Improve VAAPI encoding performance on Intel GPUs
  • (Capture) Connection establishment delay is reduced by eliminating many encoder probing operations
  • (Process) Graceful termination of running processes is attempted first when stopping apps
  • (Capture) Improve software encoding performance by enabling multi-threaded color conversion
  • (Capture) Adjust default CPU thread count for software encoding from 1 to 2 for improved performance
  • (Steam/Windows) Modernized the default Steam app shortcut to avoid depending on Steam's install location and support app termination
  • (Linux) Updated desktop files
  • (Config) Add 2560x1440 to default resolutions
  • (Network) Use the configured ping timeout for the initial launch event timeout
  • (UI) Migrate UI to Vite and Vue3, and various UX improvements
  • (Logging) Adjust wording and severity of some log messages
  • (Build) Use a single submodule for ffmpeg
  • (Install/Windows) Skip ViGEmBus installation if a supported version is already installed
  • (Build/Linux) Optionally, allow using the system installation of wayland-protocols
  • (Build/Linux) Make vaapi optional
  • (Windows) Replace boost::json with nlohmann/json

Fixed

  • (Network/Windows) Fix auto-discovery of hosts by iOS/tvOS clients
  • (Network) Fix immediate connection termination when streaming over some Internet connections
  • (Capture/Linux) Fix missing mouse cursor when using KMS capture on a GPU with hardware cursor support
  • (Capture/Windows) Add workaround for Nvidia driver bug causing Sunshine to crash when RTX HDR is globally enabled
  • (Capture/Windows) Add workaround for AMD driver bug on pre-RDNA GPUs causing hardware encoding failure
  • (Capture/Windows) Reintroduce support for NVENC on older Nvidia GPU drivers (v456.71-v522.25)
  • (Capture/Windows) Fix encoding on old Intel GPUs that don't support low-power H.264 encoding
  • (Capture/Linux) Fix GL errors or corrupt video output on GPUs that use aux planes such as Intel Arc
  • (Capture/Linux) Fix GL errors or corrupt video output on GPUs that use DRM modifiers on YUV buffers
  • (Input/Windows) Fix non-functional duplicate controllers appearing in rare cases
  • (Input/Windows) Avoid triggering crash in ViGEmBus when the system goes to sleep
  • (Input/Linux) Fix scrolling in applications that don't support high-resolution scrolling
  • (Input/Linux) Fix absolute mouse input being interpreted as touch input
  • (Capture/Linux) Fix wlroots capture causing GL errors and crashes
  • (Capture/Linux) Fix wlroots capture failing when the display scale factor was not 1
  • (Capture/Linux) Fix excessive CPU usage when using wlroots capture backend
  • (Capture/Linux) Fix capture of virtual displays created by the amdgpu kernel driver
  • (Audio/Windows) Fix audio capture failures on Insider Preview versions of Windows 11
  • (Capture/Windows) Fix incorrect portrait mode rotation
  • (Capture/Windows) Fix capture recovery when a driver update/crash occurs while streaming
  • (Capture/Windows) Fix delay displaying UAC dialogs when the mouse cursor is not moving
  • (Capture/Linux) Fix corrupt video output or stream disconnections if the display resolution changes while streaming
  • (Capture/Linux) Fix color of aspect ratio padding in the capture image with VAAPI
  • (Capture/Linux) Fix NVENC initialization error when using X11 capture with some GPUs
  • (Tray/Linux) Fix random crash when the tray icon is updating
  • (Network) Fix QoS tagging when running in IPv4+IPv6 mode
  • (Process) Fix termination of child processes upon app quit when the parent has already terminated
  • (Process) Fix notification of graceful termination to connected clients when Sunshine quits
  • (Capture) Fix corrupt output or green aspect-ratio padding when using software encoding with some video resolutions
  • (Windows) Fix crashes when processing file paths or other strings with certain non-ASCII characters
  • (Capture) Ensure user supplied framerates are used exclusively in place of pre-defined framerates
  • (CMake/Linux) Skip including unnecessary headers
  • (Capture/Linux) Replace vaTerminate method with dl handle
  • (Capture/Linux) Fix capture when DRM is enabled and x11 is disabled
  • (Tray) Use PROJECT_NAME definition for tooltip
  • (CMake) Use GNUInstallDirs to install data and lib directories
  • (macOS) Replace deprecated code
  • (API) Allow trailing slashes in on API endpoints
  • (API) Add additional pin validation
  • (Linux) Use XDG spec for fetching config directory
  • (CMake) Properly find evdev
  • (Config) Properly save global_prep_cmd and fps settings

Dependencies

  • Bump third-party/wayland-protocols from 681c33c to 46f201b
  • Bump third-party/nv-codec-headers from 9402b5a to 22441b5
  • Bump third-party/nanors from 395e5ad to e9e242e
  • Bump third-party/Simple-Web-Server from 2f29926 to 27b41f5
  • Bump ffmpeg
  • Bump third-party/tray from 2664388 to 2bf1c61
  • Bump actions/setup-python from 4 to 5
  • Bump actions/upload-artifact from 3 to 4
  • Bump @fortawesome/fontawesome-free from 6.4.2 to 6.5.1
  • Bump babel from 2.13.0 to 2.14.0
  • Move miniupnpc from submodule to system installed package
  • Bump furo from 2023.9.10 to 2024.1.29
  • Bump third-party/moonlight-common-c from f78f213 to cbd0ec1
  • Bump third-party/ViGEmClient from 1920260 to 8d71f67
  • Bump peter-evans/create-pull-request from 5 to 6
  • Bump bootstrap from 5.3.2 to 5.3.3

Misc

  • (Build) Update global workflows
  • (Docs/Linux) Add example for setting custom resolution with NVIDIA
  • (Docs) Fix broken links
  • (Docs/Windows) Add information about disk permissions
  • (Docs) Fix failing images
  • (Docs) Use glob pattern to match source code docs
  • (CI/macOS) Install boost from source
  • (Docs) Add reset credentials examples for unique packages
  • (Docs) Refactor and general cleanup
  • (Docs) Cross-reference config settings to the UI
  • (Docs/Docker) Add podman notes
  • (Build) Use CMAKE_SOURCE_DIR property everywhere
  • (Build/Docker) Add docker toolchain file for CLion
  • (macOS) Various code style fixes
  • (Deps) Alphabetize git submodules
  • (Docs/Examples) Update URI examples
  • (Refactor) Refactored some code in preparation for unit testing implementation
  • (CMake) Add option to skip cuda inheriting compile options
  • (CMake) Add option to error build on warnings

v0.21.0

16 Oct 02:47
5bca024
Compare
Choose a tag to compare

Added

  • (Input) Add support for automatically selecting the emulated controller type based on the physical controller connected to the client
  • (Input/Windows) Add support for Applications (context menu) key
  • (Input/Windows) Implement touchpad, motion sensors, battery state, and LED control for the emulated DualShock 4 controller
  • (Input) Advertise support for new input features to clients
  • (Linux/Debian) Added Debian Bookworm package
  • (Prep-Commands) Expose connection environment variables
  • (Input/Windows) Implement pen and touch support
  • (Capture/Windows) Add standalone NVENC encoder
  • (Capture) Implement AV1 encoding
  • (Network) Implement IPv6 support
  • (Capture/Windows) Add option to disable realtime hags
  • (Graphics/NVIDIA) Add an option to decrease GPU scheduling priority to workaround HAGS video hang
  • (Capture/Linux) Add FFmpeg powerpc64le architecture for self compiling Sunshine
  • (Capture/Windows) Add support for capturing rotated displays
  • (System Tray) Implement streaming event notifications
  • (UI) Add port configuration table
  • (Applications) Added option to automatically treat launcher type apps as detached commands
  • (Input/Gamepad) Allow the Misc button to work as Guide on emulated Xbox 360 controllers

Changed

  • (Input) Reduce latency by implementing input batching
  • (Logging) Move input packet debug prints off the control stream thread
  • (Input) Refactor gamepad emulation code to use DS4 extended report format
  • (Graphics/NVIDIA) Modify and restore NVIDIA control panel settings before and after stream, respectively
  • (Graphics/NVIDIA) New config page for NVENC
  • (Graphics/Windows) Refactor DX shaders
  • (Input/Windows) Use our own keycode mapping to avoid installing the US English keyboard layout

Fixed

  • (UI) Fix update notifications
  • (Dependencies/Linux) Replace libboost chrono and thread with standard chrono and thread
  • (Input) Increase maximum gamepad limit to 16
  • (Network) Allow use of multiple ENet channels
  • (Network) Consider link-local addresses on LAN
  • (Input) Fixed issue where button may sometimes stick on Windows
  • (Input) Fix "ControllerNumber not allocated" warning when a gamepad is removed
  • (Input) Fix handling of gamepad feedback with multiple clients connected
  • (Input) Fix clamping mouse position to aspect ratio adjusted viewport
  • (Graphics/AMD) Fix crash during startup on some older AMD GPUs
  • (Logging) Fix crash when non-ASCII characters are logged
  • (Prep-Commands) Fix resource exhaustion bug which could occur when many prep commands were used
  • (Subprocesses) Fix race condition when inserting new processes
  • (Logging) Log error if encoder doesn't produce IDR frame on demand
  • (Audio) Improve audio capture logic and logging
  • (Logging) Fix AMF logging to match configured log level
  • (Logging) Log FFmpeg to log file instead of stdout
  • (Capture) Reject codecs that are not supported by display device
  • (Capture) Add fallbacks for unsupported codec settings
  • (Capture) Avoid probing HEVC or AV1 codecs in some cases
  • (Caputre) Remove DwmFlush()
  • (Capture/Windows) Improvements to capture sleeps for better frame stability
  • (Capture/Windows) Adjust capture rate to better match with display
  • (Linux/ArchLinux) Fix package version in PKGBUILD and precompiled package
  • (UI) Highlight fatal log messages in web ui
  • (Commands) Allow stream if prep command fails
  • (Capture/Linux) Fix KMS grab VRAM capture with libva 2.20
  • (Capture/macOS) Fix video capture backend
  • (Misc/Windows) Don't start the session monitor window when launched in command mode
  • (Linux/AppImage) Use the linuxdeploy GTK plugin to correctly deploy GTK3 dependencies
  • (Input/Windows) Fix reWASD not recognizing emulated DualShock 4 input

Dependencies

  • Bump bootstrap from 5.2.3 to 5.3.2
  • Bump third-party/moonlight-common-c from c9426a6 to 7a6d12f
  • Bump gcc-10 in Ubuntu 20.04 docker image
  • Bump furo from 2023.5.20 to 2023.9.10
  • Bump sphinx from 7.0.1 to 7.2.6
  • Bump cmake from 3.26 to 3.27 in Fedora docker images
  • Move third-party/nv-codec-headers from sdk/11.1 branch to sdk/12.0 branch
  • Automatic bump ffmpeg
  • Bump actions/checkout from 3 to 4
  • Bump boost from 1.80 to 1.81 in Macport manifest
  • Bump @fortawesome/fontawesome-free from 6.4.0 to 6.4.2

Misc

  • (Docs) Force badges to use svg
  • (Docs) Add Linux SSH example
  • (Docs) Add information about mesa for Linux
  • (CI) Free additional space on Docker, Flatpak, and AppImage builds due to internal changes on GitHub runners
  • (Docs/Logging/UI) Corrected various typos
  • (Docs) Add blurb about Gamescope compatibility
  • (Installer/Windows) Use system proxy to download ViGEmBus
  • (CI) Ignore third-party directory for clang-format
  • (Docs/Linux) Add Plasma-Compatible resolution example
  • (Docs) Add Sunshine website available at https://app.lizardbyte.dev/Sunshine
  • (Build/Windows) Fix audio code build with new MinGW headers
  • (Build/Windows) Fix QoS code build with new MinGW headers
  • (CI/Windows) Prevent winget action from creating an update when running in a fork
  • (CI/Windows) Change winget job to ubuntu-latest runner
  • (CI) Add CodeQL analysis
  • (CI/Docker) Fix ArchLinux image caching issue
  • (Windows) Manifest improvements
  • (CI/macOS) Simplify macport build
  • (Docs) Remove deprecated options from readthedocs config
  • (CI/Docs) Lint rst files
  • (Docs) Update localization information (after consolidating Crowdin projects)
  • (Cmake) Split CMakelists into modules
  • (Docs) Add Linux Headless/SSH Guide