Skip to content

Fix Windows Switch2Kit CI compiler mismatch - #6

Merged
jmonster merged 4 commits into
feature/switch2kit-desktop-platformsfrom
fix/switch2kit-windows-toolchain
Sep 19, 2026
Merged

jmonster merged 4 commits into
feature/switch2kit-desktop-platformsfrom
fix/switch2kit-windows-toolchain

Conversation

@jmonster

@jmonster jmonster commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Summary

Resolve the Windows toolchain failure and the conflict with feature/switch2kit-desktop-platforms without downgrading Dolphin's required compiler.

The original Swift 6.2.1 / VS 2026 run failed because Swift's bundled Clang 19 was rejected by the VS 2026 STL. This PR's attempted VS 2022 downgrade then failed in run 35396313972: Dolphin's Source/PCH/pch.h requires _MSC_FULL_VER >= 195136252 and rejects that older compiler.

Commit 5436ba89286c45b48efbdf7bf3a1e85e092ae6ff merges base commit 4924dd5c6d0904784c6afecd55f2b92fab1418da into this PR branch, resolving the workflow/helper conflicts in favor of the corrected base implementation:

  • Keep windows-2025-vs2026, Swift 6.3.3, explicit VS 2026 discovery, and one explicitly selected Swift installation.
  • Preserve the native SDK-first build, complete Dolphin build, local controller DLL verification, and relocated launch/normal quit/relaunch checks.
  • Retain the base branch's pinned SDK capacity-conversion fix and its real-adapter compilation regression.
  • Replace this PR's obsolete VS 2022/Swift 6.2 regression expectations. The remaining diff against the current base adds three corrected integration checks for matching released Swift inputs >= 6.3, compatible compiler selection, and failure-propagating native/application builds before the required relocated launch.

No compiler or STL compatibility guard is suppressed. No release is published, and the PR remains open and unmerged; only its head branch was updated, without force-pushing.

Validation

Local tests used the source artifact for merge commit 9715451caebbb7e9852eef95a71e40d67058a649, whose tree matches base 4924dd5, plus the corrected tests. The published test blob b0a913498dc11f400e292564d55b633750b51b14 matches the locally tested file.

  • python Tools/test_switch2kit.py: 11 tests passed, including actual CMake platform/backend admission checks.
  • python Tools/test_switch2kit_autoconnect.py: 4 tests passed.
  • CXX=clang++ and CXX=g++, each running Tools/test_switch2kit_capacity.py: passed against the production SDL adapter.
  • Both compilers running Tools/test_switch2kit_host.py --sanitize and Tools/test_switch2kit_mapping.py --sanitize: passed with AddressSanitizer and UndefinedBehaviorSanitizer.
  • Four negative controls passed: the old PR configuration is rejected by both compatibility tests; VS 2026 with Swift 6.2.1 is rejected independently; removing the native SDK build's failure propagation is rejected.

The unchanged application/toolchain implementation on base 4924dd5 passed the full Windows build and relocated launch/quit/relaunch run. This PR head has fresh CI runs; the base result is not a claim that all checks on the new head have completed. Native Windows/macOS application execution was not performed in the local Linux environment. No physical Bluetooth/controller qualification is claimed.

Merge feature/switch2kit-desktop-platforms at 4924dd5, resolving the workflow and build-helper conflicts in favor of Visual Studio 2026 with Swift 6.3.3. The attempted VS 2022 downgrade fails Dolphin's existing _MSC_FULL_VER guard. Preserve the base branch's SDK capacity fix, native SDK preflight, documentation and full application relocation/launch checks.

Replace the obsolete regression expectations with checks for the supported runner, matching released Swift inputs >= 6.3, explicit VS 2026 and Swift selection, and failure-propagating SDK/application builds before relocated launch. Do not weaken compiler/STL guards.

Validation: 11 integration tests and 4 autoconnect tests pass. Production host and mapping suites pass with Clang and GCC under ASan/UBSan; exact-width SDL adapter checks pass with both compilers. Four negative controls reject the old PR configuration, Swift 6.2.1 on VS 2026, and an ignored SDK build failure. Base Windows application run 35398281931 passed build and relocated launch/quit/relaunch; this new commit still requires its own CI run.
@jmonster
jmonster merged commit 4ca2766 into feature/switch2kit-desktop-platforms Sep 19, 2026
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant