Skip to content

Fix Windows 11 ARM64 llama.cpp Download#188

Open
danielrobbins wants to merge 2 commits into
ggml-org:masterfrom
danielrobbins:fix/win11-arm-dl
Open

Fix Windows 11 ARM64 llama.cpp Download#188
danielrobbins wants to merge 2 commits into
ggml-org:masterfrom
danielrobbins:fix/win11-arm-dl

Conversation

@danielrobbins
Copy link
Copy Markdown

Summary

This fixes the llama.cpp install path used by llama-vscode on Windows on Arm.

The current install flow uses a generic winget package identifier that does not reliably select the ARM64 build on Windows on Arm systems. On Snapdragon / WoA machines, that can lead to the wrong package being installed or to a broken local setup experience.

What changed

  • Update the llama.cpp install command in src/menu.ts to use the ARM64-specific winget package path when running on Windows on Arm

Why this is needed

On Windows on Arm, users need the ARM64 llama.cpp package rather than the generic x64 path. Without that, the guided install flow can pick an incompatible build and leave the local model workflow in a broken state.

Scope

This PR is intended to be a small platform-specific install fix.

Note: this branch currently also includes the compile-cleanup shim removal from #187 because that cleanup was propagated while validating all fix branches against current @types/vscode. That shim change is not logically part of the Windows on Arm fix and can be treated as prerequisite overlap if #187 merges first.

Validation

  • Verified the branch compiles cleanly in the current local build environment
  • Confirmed the Windows on Arm install fix remains isolated to the install flow in src/menu.ts

conflicts with current @types/vscode declarations.

The original shim was added when llama-vscode needed to supply its own
temporary LM chat-provider typings. That is no longer necessary because
current @types/vscode releases already include the relevant language
model chat APIs.

Leaving the old shim in place causes duplicate declaration errors during
TypeScript compilation. Properties such as modelOptions, tools,
maxInputTokens, maxOutputTokens, and LanguageModelResponsePart are now
defined both by @types/vscode and by the local shim, which breaks the
build even though the runtime code itself is otherwise valid.

This change removes the dead shim file entirely and keeps one small
provider typing cleanup in llama-chat-model-provider.ts so the current
tool metadata mapping aligns with the upstream VS Code types.

After this cleanup, the repo compiles cleanly against the installed
@types/vscode package without relying on duplicate local declarations.

This cleanup is also required for the separate VS Code tool
serialization fix to build cleanly. Without removing the obsolete shim,
that branch still fails compilation on current @types/vscode before its
behavioral changes can be validated in a normal TypeScript build.
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