Draft
Conversation
MinHook does not support arm64, add conditional check Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Steam Audio Driver unavailable on Windows Arm64, add check Signed-off-by: Coia Prant <coiaprant@gmail.com>
Use ::std:: fully qualified namespace in template functions to avoid ambiguity with clang namespace resolution. Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: Ricky8955555 <rkmiao@duck.com>
Clang does not have libatomic which used by googletest, So disable it Signed-off-by: Coia Prant <coiaprant@gmail.com>
Add windows arm64 documents. Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
nsis does not support arm64, so we cannot create an installer at this time Signed-off-by: Coia Prant <coiaprant@gmail.com> Co-authored-by: ReenigneArcher <42013603+ReenigneArcher@users.noreply.github.com>
Add missing TOSTRING for ICON Signed-off-by: Coia Prant <coiaprant@gmail.com>
Add vendor ID detection for Qualcomm Adreno GPUs: - 0x4D4F4351: "QCOM" in ASCII (reversed as little-endian) - 0x5143: Alternate Qualcomm vendor ID When a Qualcomm GPU is detected, only Media Foundation encoders (h264_mf, hevc_mf, av1_mf) are considered compatible, as Qualcomm doesn't support NVENC, AMF, or QSV encoder APIs.
Add Windows Media Foundation hardware encoder support for platforms that don't have NVENC, AMF, or QSV (primarily Qualcomm Snapdragon). Encoders added: - h264_mf: H.264 via Media Foundation - hevc_mf: HEVC via Media Foundation - av1_mf: AV1 via Media Foundation Configuration: - Uses D3D11VA hardware device for GPU texture input - CBR rate control with display_remoting scenario for streaming - Only supports SDR 4:2:0 8-bit (Qualcomm MF encoder limitation) - Fixed GOP size of 120 frames since MF doesn't support on-demand IDR The mediafoundation encoder is probed after quicksync and amdvce, serving as a fallback for ARM64 Windows devices.
…llup - Add `@rollup/wasm-node` to devDependencies. - Use npm overrides to force Rollup to use the WASM version. - Fixes "Node-API symbol not loaded" and "parseAsync is not a function" errors specifically occurring in MSYS2 ClangARM64 environment. Signed-off-by: Coia Prant <coiaprant@gmail.com>
Replaces custom-actions.wxs and custom-shortcuts.wxs with sunshine-installer.wxs, consolidating custom actions and shortcut definitions. Adds patch.xml for WiX patching. Updates windows_wix.cmake to use new resource files, install the WiX Util extension, and adjust build directories. This streamlines and modernizes the Windows installer packaging process.
Remove CA_GamepadInstall and CA_GamepadUninstall custom actions from the WiX installer and update the InstallExecuteSequence accordingly. ServiceInstall is now run after FirewallAdd, and RestoreNvPrefs now runs after ServiceUninstall. This removes the PowerShell-based gamepad install/uninstall steps and fixes the action ordering to avoid references to the removed actions.
Previously CPACK_WIX_ARCHITECTURE was hard-coded to x64. This change checks CMAKE_SYSTEM_PROCESSOR and sets CPACK_WIX_ARCHITECTURE to arm64 when building on ARM64, falling back to x64 otherwise. Enables correct WiX installer architecture for ARM64 Windows builds.
# Conflicts: # .github/workflows/ci-windows.yml # docs/building.md
Bundle ReportBundle size has no change ✅ |
ce9a27c to
93e8477
Compare
Update cmake/compile_definitions/windows.cmake to suppress specific GCC warnings when building for Windows ARM64. Adds a CMAKE_SYSTEM_PROCESSOR check and appends -Wno-dll-attribute-on-redeclaration and -Wno-unused-variable to SUNSHINE_COMPILE_OPTIONS to work around Boost-related compilation issues on ARM64.
0f50a58 to
68a9af6
Compare
Replace variable-length arrays with std::vector in src/platform/windows/input.cpp and src/platform/windows/misc.cpp for safety and portability. Add <vector> includes, allocate wide-character buffer with std::vector<WCHAR> and pass wide.data() to MultiByteToWideChar, and replace WSABUF VLA with std::vector<WSABUF> and use .data() for msg.lpBuffers. These changes avoid non-standard VLAs and reduce stack-allocation risks.
68a9af6 to
b08d41e
Compare
Delete the `#warning` emitted for non-x64 architectures in src/platform/windows/audio.cpp. This prevents spurious compiler warnings when building on other architectures; no functional change to the x64 driver subdir definition.
Delete the HMODULE dll = nullptr; declaration from src/nvenc/nvenc_d3d11_on_cuda.h. This removes an unused module handle field from the nvenc D3D11-on-CUDA wrapper to reduce unnecessary state.
9908e07 to
e64a113
Compare
Add -Wno-unknown-warning-option to SUNSHINE_COMPILE_OPTIONS for CMAKE_SYSTEM_PROCESSOR=ARM64 to silence warnings from ViGEmClient; add inline comments annotating the -Wno-* flags (Boost/ViGEmClient) and remove the previous generic comment. This reduces noisy warnings when building for Windows ARM64.
19 tasks
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #4661 +/- ##
==========================================
- Coverage 15.15% 15.11% -0.04%
==========================================
Files 95 95
Lines 19874 19880 +6
Branches 9178 9193 +15
==========================================
- Hits 3011 3004 -7
- Misses 15001 15741 +740
+ Partials 1862 1135 -727
Flags with carried forward coverage won't be shown. Click here to find out more.
|
This comment was marked as resolved.
This comment was marked as resolved.
10 tasks
Install NSIS dependency and update Windows packaging step to produce NSIS installers, WiX MSIs, and portable ZIPs. Adds mingw-w64-*-nsis to the dependencies, exposes MSYSTEM to the Package step, and switches the NSIS generation check to use MSYSTEM=="ucrt64" (replacing the previous RUNNER_ARCH conditional). Artifacts are moved into an artifacts directory with distinct names for installer (.exe/.msi) and portable (.zip) builds.
a1e10fa to
8e4fd6e
Compare
Add a CI step to dump npm debug logs (always run) to aid troubleshooting install failures; pin @rollup/wasm-node to an exact version (remove caret) in package.json and the rollup override to ensure consistent dependency resolution; enable nvm_node for Debian 12 and 13 in scripts/linux_build.sh to allow Node installation via nvm on those distros.
8e4fd6e to
304fb58
Compare
5d33fec to
fad6b71
Compare
fad6b71 to
7d2aa63
Compare
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Description
Screenshot
Issues Fixed or Closed
Roadmap Issues
Type of Change
Checklist
AI Usage