From 026b3c4eaaf48249c63f6734b4904cb105c80d98 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 29 Aug 2026 00:38:39 +0000 Subject: [PATCH 1/2] Install AWS CLI v2 in ISO CI and correct 3.5.0 site copy ubuntu-24.04 has no awscli apt package, so the official installer keeps make publish working without pinning the runner. Record the published 3.5.0 ISO hash. Hardware and FAQ now describe NVIDIA as simulate-first, and the Ollama 16GB writeup is dated as a historical RTX 5060 Ti run. Co-authored-by: Bob Corbin --- .github/workflows/build-iso.yml | 8 +- SHA256SUMS | 1 + web/shadowfetch-linux-worker/src/index.js | 127 +++++++++++++++++++++- 3 files changed, 132 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-iso.yml b/.github/workflows/build-iso.yml index 6d28268..6aefecf 100644 --- a/.github/workflows/build-iso.yml +++ b/.github/workflows/build-iso.yml @@ -38,7 +38,13 @@ jobs: reprepro gnupg \ xorriso isolinux syslinux-common syslinux-utils \ grub-pc-bin grub-efi-amd64-bin mtools \ - xz-utils python3 awscli + xz-utils python3 curl unzip + + - name: Install AWS CLI v2 + run: | + curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip + unzip awscliv2.zip + sudo ./aws/install - name: Verify release version and source gates run: | diff --git a/SHA256SUMS b/SHA256SUMS index 0062334..8cb87cc 100644 --- a/SHA256SUMS +++ b/SHA256SUMS @@ -2,3 +2,4 @@ 81a906788ec48150d4a4527b4d9e7b09a974d3d577f1bd32ba3f333df8a1a86b shadowfetch-2.1.4-amd64.iso 848f043e4d6f85c3607e7034ba911a1ce8b4a317674feebef8b07fcd8f531c24 shadowfetch-2.1.5-amd64.iso 110b0d075e699a05a8a2f8f8dcd05f19454bc8ae09acd0745ca0d947db8c5e3c shadowfetch-3.0.0-amd64.iso +2af853b1f5dedfca17a7a63783f4c881e72e912f26082b10c07d45aafe57b995 shadowfetch-3.5.0-amd64.iso diff --git a/web/shadowfetch-linux-worker/src/index.js b/web/shadowfetch-linux-worker/src/index.js index 168ebaa..27d038e 100644 --- a/web/shadowfetch-linux-worker/src/index.js +++ b/web/shadowfetch-linux-worker/src/index.js @@ -39,6 +39,7 @@ export default { if (route === "/linux/security") return html(securityPage()); if (route === "/linux/roadmap") return html(roadmapPage(await latestRelease(env))); if (route === "/linux/faq") return html(faqPage()); + if (route === "/linux/benchmarks") return html(benchmarksPage()); if (route === "/linux/agents") { return new Response("This feature has been removed.\n", { status: 410, @@ -1351,12 +1352,12 @@ function hardwarePage() {
  • CPU: 64-bit Intel or AMD processor. Newer multi-core CPUs make local AI, video, and creative workloads much nicer.
  • Memory: 4 GB minimum, 8 GB recommended for the desktop, 16 GB+ recommended for local AI and heavier creative work.
  • Storage: 40 GB minimum, 100 GB+ recommended. Local AI models can consume several GB each.
  • -
  • Graphics: Intel and AMD graphics use the normal Mesa stack. NVIDIA systems ship with the proprietary driver stack and hybrid laptops may still need manual tuning.
  • +
  • Graphics: Intel and AMD graphics use the normal Mesa stack. NVIDIA setup is an explicit, simulate-first workflow that refuses removals and can create Phoenix Points on Btrfs. Hybrid laptops and physical accelerator performance still need hardware-specific validation.
  • Firmware: UEFI or legacy BIOS. Secure Boot is not signed yet, so disable Secure Boot before booting the ISO.
  • NVIDIA and hybrid laptops

    -

    The ISO includes the proprietary NVIDIA stack so NVIDIA desktops and laptops have a working path on first boot. Non-NVIDIA systems remove the stack after first boot to reclaim disk. Hybrid laptops can still vary by vendor firmware. PRIME offload is the intended path for discrete-GPU apps.

    +

    NVIDIA is an explicit, simulate-first path. The proprietary stack is not auto-installed and is not included then removed after first boot. The workflow refuses removals and can create Phoenix Points on Btrfs. Hybrid laptops and physical accelerator performance still need hardware-specific validation. After a user-installed NVIDIA driver, PRIME offload is the intended path for discrete-GPU apps.

    __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia blender

    Wi-Fi, Bluetooth, and peripherals

    @@ -1486,7 +1487,7 @@ function faqPage() {

    Anyone who needs Secure Boot signing, enterprise support, a Debian-stable base, or a zero-surprise production workstation should wait and follow the changelog.

    Does it support NVIDIA?

    -

    The proprietary NVIDIA stack is included and hybrid laptops use PRIME offload, but laptop firmware varies. Read the hardware notes and known issues before installing.

    +

    NVIDIA setup is an explicit, simulate-first workflow that refuses removals and can create Phoenix Points on Btrfs. It is not auto-installed and is not included then removed after first boot. Hybrid laptops and physical accelerator performance still need hardware-specific validation. Read the hardware notes and known issues before installing.

    Does local AI phone home?

    The local chat stack is designed to run on your machine. If you download models, those downloads come from the model host you choose. Shadowfetch does not add an account requirement or telemetry daemon to use the OS.

    @@ -1501,6 +1502,126 @@ function faqPage() { }); } +function benchmarksPage() { + return shell({ + title: "Historical 16GB local LLM benchmark — Shadowfetch Linux", + canonical: "/linux/benchmarks", + description: "A dated August 2026 Ollama benchmark on one NVIDIA RTX 5060 Ti: measured tokens per second, VRAM footprint, method, and explicit limits. It is not a Shadowfetch Linux 3.5.0 runtime claim.", + body: ` +
    +

    Historical 16GB local LLM benchmark

    +

    Dated August 2026. This is the old RTX 5060 Ti / ollama pull run. It is not a Shadowfetch Linux 3.5.0 runtime claim, and no 3.5.0 benchmark results are published here.

    + +

    What fits your card?

    +

    Speed is measured on the 16 GB card above. Whether a model fits is mostly its memory footprint, which travels between cards far better than its speed does.

    + +

    The measured ladder

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    ModelParamsQuantVRAM usedOn GPUContextGenerationPromptCold load
    Gemma 3 · 1B
    ollama pull gemma3:1b
    999.89MQ4_K_M1.3 GB100% GPU32768263 tok/s7931 tok/s2.61s
    Qwen2.5 · 3B Instruct
    ollama pull qwen2.5:3b-instruct
    3.1BQ4_K_M3.1 GB100% GPU32768175 tok/s9768 tok/s2.66s
    Gemma 3 · 4B
    ollama pull gemma3:4b
    4.3BQ4_K_M4.6 GB100% GPU131072120 tok/s3697 tok/s3.14s
    Llama 3.2 · 3B
    ollama pull llama3.2:3b
    3.2BQ4_K_M4.8 GB100% GPU131072174 tok/s8985 tok/s2.92s
    Qwen2.5 · 7B Instruct
    ollama pull qwen2.5:7b-instruct
    7.6BQ4_K_M6.3 GB100% GPU3276888 tok/s4960 tok/s8.55s
    Qwen2.5 · 14B
    ollama pull qwen2.5:14b
    14.8BQ4_K_M13 GB100% GPU3276845 tok/s2548 tok/s9.97s
    +
    + +

    Where to start

    +
      +
    • On a 16 GB card, start with Qwen2.5 · 14B — the largest measured model that fits, at 13 GB and 45 tok/s.
    • +
    • Want it snappier? Drop to Qwen2.5 · 7B Instruct at 6.3 GB and 88 tok/s — about 2× the generation speed.
    • +
    • On an 8 GB card, run Llama 3.2 · 3B — 4.8 GB and 174 tok/s.
    • +
    +

    For the current release boundary, see local AI and coding agents. Buzz owns current model selection and download after confirmation.

    + +

    How these were measured

    +
      +
    • One NVIDIA GeForce RTX 5060 Ti (16 GB). Generation rate is eval tokens ÷ eval time from the Ollama API, taken as the median of 3 timed runs of 200 tokens after a warm-up.
    • +
    • VRAM used and “on GPU” are what ollama ps reports for the resident model — the model's real footprint, and whether all of it sits on the GPU or spills to the CPU (which is the moment speed falls off a cliff).
    • +
    • Params, quantisation and architecture are read from ollama show — the model file's own metadata, not typed by us. Everything shown is Q4_K_M-class weights, the quant most people actually run.
    • +
    • Speed is specific to this card; your tokens/sec will differ on other hardware. Footprint and fit travel much better — that's why fit is judged by memory, not speed.
    • +
    +
    +`, + }); +} + function notFoundPage() { return shell({ title: "Not found — Shadowfetch Linux", From 0c22d2f0610ce5423d58418bac347c8c4430b290 Mon Sep 17 00:00:00 2001 From: Cursor Agent Date: Sat, 29 Aug 2026 00:56:23 +0000 Subject: [PATCH 2/2] Use curl -fsSL for the AWS CLI v2 installer download Fail the ISO workflow if the official zip is missing or redirected instead of writing an error body to awscliv2.zip. Co-authored-by: Bob Corbin --- .github/workflows/build-iso.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build-iso.yml b/.github/workflows/build-iso.yml index 6aefecf..9de795d 100644 --- a/.github/workflows/build-iso.yml +++ b/.github/workflows/build-iso.yml @@ -42,7 +42,7 @@ jobs: - name: Install AWS CLI v2 run: | - curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip + curl -fsSL https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscliv2.zip unzip awscliv2.zip sudo ./aws/install