Skip to content

Windows subsystem test pr - #773

Open
daysooftheweek wants to merge 5 commits into
WinNative-Emu:mainfrom
daysooftheweek:Windows-subsystem-test
Open

daysooftheweek wants to merge 5 commits into
WinNative-Emu:mainfrom
daysooftheweek:Windows-subsystem-test

Conversation

@daysooftheweek

Copy link
Copy Markdown

No description provided.

Claude and others added 5 commits September 24, 2026 16:09
arm64-v8a stays the default, so existing builds and CI are unchanged.
x86_64 (Android-x86/BlissOS, Windows Subsystem for Android, ChromeOS,
the Android Emulator) is enabled with -Pwinnative.abis=x86_64.

* app/build.gradle: validated `winnative.abis` property drives
  abiFilters and BuildConfig.WN_ABIS.
* CMakeLists.txt: a WN_ARM64 switch gates the components that only
  exist for arm64 (libadrenotools, the Rust Steam client/bootstrap/
  libsteamclient, steamctrl + its arm64-only SDL3 prefab, waylandcomp's
  prebuilt aarch64 libwayland-server.so, proot's ARM-only loader).
* vulkan.c: adrenotools is guarded by WN_HAS_ADRENOTOOLS and a custom
  driver name degrades to the system loader; libvulkan.so falls back to
  the plain soname when /system/lib64 doesn't have it.
On an x86_64 process the guest already matches the CPU, so an x86_64
Wine is exec'd directly (the same path ARM64EC Wine already uses) and
Box64 is neither invoked nor extracted.

* HostPlatform: process ABI (mirrors the package manager's choice from
  Build.SUPPORTED_ABIS and BuildConfig.WN_ABIS), a UX-only WSA hint
  confirmed against a live WSA, and the Vulkan ICD manifest CPU name.
* WineInfo.runsNatively()/isDirectExec(); the three places that
  prepended box64 in GuestProgramLauncherComponent use them.
* ImageFsInstaller looks for imagefs-x86_64[.partN].tzst on x86_64 and
  logs an actionable error if the asset isn't packaged.
* VK_ICD_FILENAMES follows the wrapper's per-CPU manifest name.
* 14 JVM unit tests for the pure decision logic.
* pr-ci.yml: experimental build-x86_64 job (continue-on-error) that builds
  assembleStandardDebug with -Pwinnative.abis=x86_64.
* x86_64-runtime.yml (workflow_dispatch): builds a native x86_64-linux-android
  Wine .wcp and the SysV shm shim by reusing WinNative-Emu/proton-wine's
  build-step-x86_64.sh, then assembles a base imagefs-x86_64.tzst.
* tools/x86_64/assemble-imagefs.sh builds the base image from the x86_64
  Termux sysroot and checks it against imagefs-required.txt.
Updated CI workflow to trigger on 'Windows-subsystem-test' branch.

This branch has not been deployed

No deployments
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