feat(build): Intel XeSS in the build settings: the build fetches Intel's libxess.dll under Intel's licence #110

Merged
llun merged 1 commit from nyannoying/LongshotLauncher:feat/xess-switch into main 2026-11-15 19:35:56 +00:00
Contributor

Longshot's Intel XeSS (Longshot#459) runs only once Intel's libxess.dll is beside the game, and today a player has to find Intel's file alone. This adds an Intel XeSS switch to the build settings: the build fetches Intel's library under Intel's licence, as the DLSS and FSR 4 switches do for theirs.

It needs Longshot#459, which adds make_game.py --fetch-xess-runtime --accept-intel-license and scripts/xess_sdk.py. Until a version's tools carry that script, the switch can't be turned on and says "This version can't fetch it yet." (MakeGameCommand.XessBuilds), so the order of the two merges doesn't break a build.

Rebased onto #111: XeSS gets the same treatment as DLSS and FSR 4 there. It turns on whatever the GPU, and its line is red on a PC without Intel graphics.

Build settings on Windows with Intel graphics: the new Intel XeSS row under AMD FSR 4, "Your GPU", "Shows Intel's licence first."

Intel's licence for XeSS, shown when the switch is turned on

Build settings on Windows with a GeForce GTX 1660 SUPER (#111's scene): the Intel XeSS line is red, "This PC has no Intel graphics.", and the switch still turns on

What changed

  • Build settings, Windows: an Intel XeSS row under AMD FSR 4, with "Your GPU" on Intel graphics (SystemInfo.XessRuns). As with DLSS and FSR 4 since #111, it turns on whatever this PC's cards, and its line says "This PC has no Intel graphics." in red where no card is Intel's (Upscalers.Unsupported). It is locked only where this version's tools can't fetch Intel's library. Turning it on shows Intel's licence first (LicenceOf.Intel: libxess.dll 2.0.2.68, signed by Intel, from github.com/intel/xess at de0fb9c1, under the Intel Simplified Software License). Both are remembered in settings.json (Xess, XessLicense), and a tick saved without the licence is not one. Linux gets no row: Intel makes no XeSS library for it.
  • The build: Upscalers.Chosen passes the switch as the player set it. make_game.py gets --fetch-xess-runtime --accept-intel-license, and LONGSHOT_XESS_SDK is set to the launcher's xess-sdk folder (one set on the PC is not passed on, as with the DLSS and FSR folders). make_game.py then puts libxess.dll, LICENSE-INTEL-XESS-SDK.txt and THIRD-PARTY-INTEL-XESS-SDK.txt into the game folder. When this version's tools can't fetch it, the build log says so and the folder gets none. The settings line says XeSS (no card here runs it) as #111's does for the others.
  • The home and Copy for a bug report name it: Intel XeSS among the default version's parts, and XeSS on, asked, not fetched or off in the report.
  • LicenceViewModel takes LicenceOf { Nvidia, Amd, Intel } instead of a bool.
  • README: the settings step, the screenshot scenes and the --longshot licence check name XeSS.
  • The new texts show in English until a catalog has them, as #97's do.

How it was tested

On Windows 11 with an Intel Arc B580, on 8954181 (main 57237ec), in a worktree checked out with LF line endings (with core.autocrlf=true, the release fixtures' signature check fails on main too, as #111 notes):

  • python -I tests/test_launcher_core.py --longshot <Longshot#459 at 6a7f71be>: 1286 checks passed, the licence's commit matched against scripts/xess_sdk.py's COMMIT. Against Longshot main (bbe7a078, no xess_sdk.py): 1286 passed, the XeSS licence check skipped. A copy of xess_sdk.py with another commit fails it.
  • python -I tests/test_release.py: 31 tests OK.
  • dotnet build LongshotLauncher.slnx --configuration Release -p:RestoreLockedMode=true -warnaserror: 0 warnings, 0 errors (SDK 10.0.403 here: global.json's 10.0.404 was lowered for the runs only, not committed).
  • New checks:
    • the command: both flags and the folder on Windows; neither with tools lacking xess_sdk.py, without the licence, or on Linux
    • #111's Upscalers checks with XeSS: fetched on a PC without Intel graphics, red only without an Intel card
    • the settings round trip, and a tick saved without the licence
    • XessRuns
  • The screenshots are the tools/screenshots scenes settings-windows-intel, xess-licence (new) and settings-windows-unsupported, drawn on 8954181.

Not run: mise run ci:smoke (no mise on this PC; its build and test_release.py are above, and no shell script changed), and a whole build through the launcher with the switch on (it would prepare this card's shaders again). Longshot#459's own checks cover the fetch: 26 s, each file matched its SHA-256.

🤖 Generated with Claude Code

Longshot's Intel XeSS ([Longshot#459](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/459)) runs only once Intel's `libxess.dll` is beside the game, and today a player has to find Intel's file alone. This adds an Intel XeSS switch to the build settings: the build fetches Intel's library under Intel's licence, as the DLSS and FSR 4 switches do for theirs. It needs Longshot#459, which adds `make_game.py --fetch-xess-runtime --accept-intel-license` and `scripts/xess_sdk.py`. Until a version's tools carry that script, the switch can't be turned on and says "This version can't fetch it yet." (`MakeGameCommand.XessBuilds`), so the order of the two merges doesn't break a build. Rebased onto #111: XeSS gets the same treatment as DLSS and FSR 4 there. It turns on whatever the GPU, and its line is red on a PC without Intel graphics. ![Build settings on Windows with Intel graphics: the new Intel XeSS row under AMD FSR 4, "Your GPU", "Shows Intel's licence first."](https://git.magicbean.dev/attachments/2dfa2fb0-b49c-4420-9eb5-46bd4d7b94af) ![Intel's licence for XeSS, shown when the switch is turned on](https://git.magicbean.dev/attachments/28c71701-bec2-433b-8588-812070ab8e83) ![Build settings on Windows with a GeForce GTX 1660 SUPER (#111's scene): the Intel XeSS line is red, "This PC has no Intel graphics.", and the switch still turns on](https://git.magicbean.dev/attachments/46f49753-e60c-48df-9bba-355c4c927d25) ## What changed - **Build settings, Windows:** an *Intel XeSS* row under AMD FSR 4, with "Your GPU" on Intel graphics (`SystemInfo.XessRuns`). As with DLSS and FSR 4 since #111, it turns on whatever this PC's cards, and its line says "This PC has no Intel graphics." in red where no card is Intel's (`Upscalers.Unsupported`). It is locked only where this version's tools can't fetch Intel's library. Turning it on shows Intel's licence first (`LicenceOf.Intel`: `libxess.dll` 2.0.2.68, signed by Intel, from github.com/intel/xess at de0fb9c1, under the Intel Simplified Software License). Both are remembered in `settings.json` (`Xess`, `XessLicense`), and a tick saved without the licence is not one. Linux gets no row: Intel makes no XeSS library for it. - **The build:** `Upscalers.Chosen` passes the switch as the player set it. `make_game.py` gets `--fetch-xess-runtime --accept-intel-license`, and `LONGSHOT_XESS_SDK` is set to the launcher's `xess-sdk` folder (one set on the PC is not passed on, as with the DLSS and FSR folders). make_game.py then puts `libxess.dll`, `LICENSE-INTEL-XESS-SDK.txt` and `THIRD-PARTY-INTEL-XESS-SDK.txt` into the game folder. When this version's tools can't fetch it, the build log says so and the folder gets none. The settings line says `XeSS (no card here runs it)` as #111's does for the others. - **The home and Copy for a bug report** name it: *Intel XeSS* among the default version's parts, and `XeSS on`, `asked, not fetched` or `off` in the report. - `LicenceViewModel` takes `LicenceOf { Nvidia, Amd, Intel }` instead of a bool. - README: the settings step, the screenshot scenes and the `--longshot` licence check name XeSS. - The new texts show in English until a catalog has them, as #97's do. ## How it was tested On Windows 11 with an Intel Arc B580, on 8954181 (main 57237ec), in a worktree checked out with LF line endings (with `core.autocrlf=true`, the release fixtures' signature check fails on main too, as #111 notes): - `python -I tests/test_launcher_core.py --longshot <Longshot#459 at 6a7f71be>`: 1286 checks passed, the licence's commit matched against `scripts/xess_sdk.py`'s `COMMIT`. Against Longshot main (bbe7a078, no `xess_sdk.py`): 1286 passed, the XeSS licence check skipped. A copy of `xess_sdk.py` with another commit fails it. - `python -I tests/test_release.py`: 31 tests OK. - `dotnet build LongshotLauncher.slnx --configuration Release -p:RestoreLockedMode=true -warnaserror`: 0 warnings, 0 errors (SDK 10.0.403 here: `global.json`'s 10.0.404 was lowered for the runs only, not committed). - New checks: - the command: both flags and the folder on Windows; neither with tools lacking `xess_sdk.py`, without the licence, or on Linux - #111's `Upscalers` checks with XeSS: fetched on a PC without Intel graphics, red only without an Intel card - the settings round trip, and a tick saved without the licence - `XessRuns` - The screenshots are the `tools/screenshots` scenes `settings-windows-intel`, `xess-licence` (new) and `settings-windows-unsupported`, drawn on 8954181. Not run: `mise run ci:smoke` (no mise on this PC; its build and `test_release.py` are above, and no shell script changed), and a whole build through the launcher with the switch on (it would prepare this card's shaders again). Longshot#459's own checks cover the fetch: 26 s, each file matched its SHA-256. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
feat(build): Intel XeSS in the build settings: the build fetches Intel's libxess.dll under Intel's licence
Some checks failed
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Compile and test (pull_request) Has been cancelled
730da6a64f
Longshot's Intel XeSS (MagicBeanDev/Longshot#459) runs once Intel's libxess.dll is beside the game, and a player had to
find Intel's file alone. With the new Intel XeSS switch on, the build fetches it: make_game.py --fetch-xess-runtime
--accept-intel-license, as the DLSS and FSR 4 switches pass theirs.

- Build settings, Windows: an Intel XeSS row under FSR 4, on offer with Intel graphics (SystemInfo.XessRuns) and tools
  that carry scripts/xess_sdk.py (MakeGameCommand.XessBuilds). Intel's licence is shown first (LicenceOf.Intel) and
  remembered in settings.json (Xess, XessLicense). Intel makes no XeSS library for Linux: no row there.
- The build: the two flags and LONGSHOT_XESS_SDK in the launcher's xess-sdk folder; one set on the PC is not passed on.
  The build log says when this version's tools can't fetch it; the home and Copy for a bug report name it.
- Tests: the command (flags, folder, older tools, no licence, Linux), the settings round trip, XessRuns, and with
  --longshot the licence's commit against scripts/xess_sdk.py's (skipped for a Longshot without it). A screenshot scene
  for the licence. The new texts show in English until a catalog has them.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
nyannoying force-pushed feat/xess-switch from 730da6a64f
Some checks failed
CI / Conventional Commit title (pull_request) Has been cancelled
CI / Compile and test (pull_request) Has been cancelled
to 8954181546
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Compile and test (pull_request) Blocked by required conditions
2026-11-15 19:34:00 +00:00
Compare
Author
Contributor

Rebased onto main 57237ec (#111), head 8954181. XeSS now works as #111 made DLSS and FSR 4 work: the switch turns on whatever the GPU, its line is red without Intel graphics, and Upscalers.Chosen passes it to the build. The core tests give 1286 checks passed and test_release.py 31 OK. The description and screenshots are updated.

Rebased onto main 57237ec (#111), head 8954181. XeSS now works as #111 made DLSS and FSR 4 work: the switch turns on whatever the GPU, its line is red without Intel graphics, and `Upscalers.Chosen` passes it to the build. The core tests give 1286 checks passed and `test_release.py` 31 OK. The description and screenshots are updated.
llun approved these changes 2026-11-15 19:35:50 +00:00
llun merged commit c846b34364 into main 2026-11-15 19:35:56 +00:00
Some checks are pending
CI / Conventional Commit title (pull_request) Blocked by required conditions
CI / Compile and test (pull_request) Blocked by required conditions
Some workflows are waiting to be reviewed.
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
2 participants
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!110
No description provided.