refactor(build): no WGPU_NATIVE, the prebuilt Linux renderer only where older tools carry it, and no AVX2 requirement #73

Merged
HumanBean merged 1 commit from HumanBean/LongshotLauncher:build/no-avx2-wgpu into main 2026-11-15 06:34:53 +00:00
Owner

Longshot removed its WebGPU renderer (MagicBeanDev/Longshot#577) and the Linux AppImage's prebuilt renderer (MagicBeanDev/Longshot#574), and builds on CPUs without AVX2, but the launcher still passes WGPU_NATIVE, always passes LONGSHOT_VK_PREBUILT, and refuses a Linux PC without AVX2 ("The Linux AppImage requires AVX2").

What changed

  • Core/MakeGameCommand.cs: no WGPU_NATIVE on Windows. Older tools' build.py treats it as optional and builds without the WebGPU fallback when it is missing.
  • LONGSHOT_VK_PREBUILT: passed only when the tools carry lib/longshot_vk.so and neither DLSS nor FSR 4 is on. Current tools carry none and never read it (Longshot's tests/test_linux_preflight.py checks it is ignored), but AppImages before 2026-11-14 took the prebuilt renderer when it was set and may lack what compiling one needs, so it stays for them. Without the file it is removed from the environment, so a value in the player's shell isn't passed on. For takes a fileExists stand-in for the tests.
  • Core/SystemRequirements.cs: no AVX2 check (Evaluate loses its avx2 and linux parameters, which only that check used; no other callers in the launcher or Longshot). The string is removed from the 12 Core/Lang/*.json files.
  • Tests: tests/launcher_core/RequirementsChecks.cs and Program.cs follow; README updated.

Testing

Not compiled or run yet (the author runs no checks on their PC, and the lab machine has no .NET): python -I tests/test_launcher_core.py --strict --longshot <Longshot main> and scripts/translations.py's check are still to run. Things to look at first: the Evaluate signature change and the fileExists parameter.

Must be tested: the core checks on Linux and Windows; on Linux, a build of a current nightly without DLSS/FSR (compiles the renderer, as today) and, if one is still installable, a build of a release from before 2026-11-14 without DLSS/FSR (takes its prebuilt renderer).

Risks

A Linux PC without AVX2 now builds, as Longshot allows. Reverting the commit restores the old behaviour.

🤖 Generated with Claude Code

https://claude.ai/code/session_017vw8e3MfaADZobPGhWJk77

Longshot removed its WebGPU renderer (https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/577) and the Linux AppImage's prebuilt renderer (https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/574), and builds on CPUs without AVX2, but the launcher still passes `WGPU_NATIVE`, always passes `LONGSHOT_VK_PREBUILT`, and refuses a Linux PC without AVX2 ("The Linux AppImage requires AVX2"). ## What changed - `Core/MakeGameCommand.cs`: no `WGPU_NATIVE` on Windows. Older tools' `build.py` treats it as optional and builds without the WebGPU fallback when it is missing. - `LONGSHOT_VK_PREBUILT`: passed only when the tools carry `lib/longshot_vk.so` and neither DLSS nor FSR 4 is on. Current tools carry none and never read it (Longshot's `tests/test_linux_preflight.py` checks it is ignored), but AppImages before 2026-11-14 took the prebuilt renderer when it was set and may lack what compiling one needs, so it stays for them. Without the file it is removed from the environment, so a value in the player's shell isn't passed on. `For` takes a `fileExists` stand-in for the tests. - `Core/SystemRequirements.cs`: no AVX2 check (`Evaluate` loses its `avx2` and `linux` parameters, which only that check used; no other callers in the launcher or Longshot). The string is removed from the 12 `Core/Lang/*.json` files. - Tests: `tests/launcher_core/RequirementsChecks.cs` and `Program.cs` follow; README updated. ## Testing **Not compiled or run yet** (the author runs no checks on their PC, and the lab machine has no .NET): `python -I tests/test_launcher_core.py --strict --longshot <Longshot main>` and `scripts/translations.py`'s check are still to run. Things to look at first: the `Evaluate` signature change and the `fileExists` parameter. **Must be tested:** the core checks on Linux and Windows; on Linux, a build of a current nightly without DLSS/FSR (compiles the renderer, as today) and, if one is still installable, a build of a release from before 2026-11-14 without DLSS/FSR (takes its prebuilt renderer). ## Risks A Linux PC without AVX2 now builds, as Longshot allows. Reverting the commit restores the old behaviour. 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_017vw8e3MfaADZobPGhWJk77
refactor(build): no WGPU_NATIVE, the prebuilt Linux renderer only where older tools carry it, and no AVX2 requirement
All checks were successful
CI / Compile and test (pull_request) Has been skipped
CI / Conventional Commit title (pull_request) Successful in 5s
9887c3ff7b
Longshot removed the WebGPU renderer and the Linux AppImage's prebuilt Vulkan
back end: current tools compile the back end in every build and read neither
WGPU_NATIVE nor LONGSHOT_VK_PREBUILT. The launcher no longer passes
WGPU_NATIVE, and passes LONGSHOT_VK_PREBUILT only when the tools carry
lib/longshot_vk.so (an AppImage from before 2026-11-14), so building those
versions without DLSS or FSR 4 works as before.

The requirements card no longer reports a Linux CPU without AVX2 as
incompatible: Longshot builds and runs on one, more slowly.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
Claude-Session: https://claude.ai/code/session_017vw8e3MfaADZobPGhWJk77
HumanBean changed title from WIP: refactor(build): no WGPU_NATIVE, the prebuilt Linux renderer only where older tools carry it, and no AVX2 requirement to refactor(build): no WGPU_NATIVE, the prebuilt Linux renderer only where older tools carry it, and no AVX2 requirement 2026-11-15 06:34:48 +00:00
HumanBean deleted branch build/no-avx2-wgpu 2026-11-15 06:34:53 +00:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/LongshotLauncher!73
No description provided.