Driver table: the NVIDIA 617.42 and AMD 26.9.2 rows measured on igneum-build-2 (sha256, size, Authenticode subject from the vendors' own files); the stray #[test] above the Intel test's doc comment removed
NVIDIA GeForce Game Ready 617.42 WHQL (6 October 2026): us.download.nvidia.com/Windows/617.42/..., 990,853,168
bytes, sha256 f115c927..., subject CN=NVIDIA Corporation (DigiCert G4). AMD Software Adrenalin 26.9.2 WHQL
(29 September 2026, the win11-b build): drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-26.9.2-win11-b.exe
(an amd.com Referer required), 1,000,800,840 bytes, sha256 593c1d73..., subject CN=Advanced Micro Devices (Sectigo).
Read on the box: curl, sha256sum, the PKCS7 out of the PE security directory through openssl pkcs7 -print_certs.
The table's placeholders are gone: every row installs. The drivertable test sample, the mock and the view test name
the real NVIDIA release. detect.rs:990 carried a #[test] above the doc comment of the Intel test from the cherry-pick,
the test build's one warning ("duplicated attribute"): removed.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
parent
e49f988c5c
commit
afafbcd52e
6 changed files with 21 additions and 22 deletions
|
|
@ -987,7 +987,6 @@ mod tests {
|
|||
assert!(diff.removed.is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
/// The first Intel card (the B580 on PC 1, 7 October 2026, docs/plans/intel-arc.md): the Arc driver's OpenCL
|
||||
/// platform lists it as "Intel(R) Arc(TM) B580 Graphics" under vendor "Intel(R) Corporation" (the line shape is
|
||||
/// the worker's; the device name and vendor string are Intel's documented forms, approximate until the PC 1 job
|
||||
|
|
|
|||
|
|
@ -243,7 +243,7 @@ mod tests {
|
|||
use super::*;
|
||||
|
||||
const TABLE: &str = r#"{"updated":"2026-10-07","vendors":{
|
||||
"nvidia":{"min_version":"570.00","version":"581.57","url":"https://us.download.nvidia.com/Windows/581.57/581.57-desktop-win10-win11-64bit-international-dch-whql.exe","size":1012345678,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","hash_source":"https://www.nvidia.com/en-us/drivers/details/","args":["-s","-noreboot"],"reboot_codes":[1],"signer":"NVIDIA","linux_package":"nvidia-driver-570","hive_package":"nvidia-driver-update 570"},
|
||||
"nvidia":{"min_version":"570.00","version":"617.42","url":"https://us.download.nvidia.com/Windows/617.42/617.42-desktop-win10-win11-64bit-international-dch-whql.exe","size":990853168,"sha256":"aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","hash_source":"https://www.nvidia.com/en-us/drivers/details/","args":["-s","-noreboot"],"reboot_codes":[1],"signer":"NVIDIA","linux_package":"nvidia-driver-570","hive_package":"nvidia-driver-update 570"},
|
||||
"amd":{"min_version":"32.0.32000.0","version":"26.9.2","url":"https://drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-26.9.2-win10-win11-sep2026.exe","size":912345678,"sha256":"bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb","hash_source":"https://www.amd.com/en/support/download/drivers.html","args":["-install","-silent"],"reboot_codes":[3010],"signer":"Advanced Micro Devices","linux_package":"amdgpu-install --usecase=opencl"},
|
||||
"intel":{"min_version":"32.0.101.9034","version":"32.0.101.9034","url":"https://downloadmirror.intel.com/929959/gfx_win_101.9034.exe","size":932631144,"sha256":"72ba7eea08a0cc18650603976ff9433dfdf84d23d4cbbee662a4df9f2856ae98","hash_source":"https://www.intel.com/content/www/us/en/download/785597/","args":["-s"],"reboot_codes":[14,1014],"signer":"Intel","linux_package":"intel-opencl-icd"}}}"#;
|
||||
|
||||
|
|
@ -298,10 +298,10 @@ mod tests {
|
|||
assert_eq!(o.text, "Install the Intel Arc driver 32.0.101.9034 (889 MB). Driver 32.0.101.6733 is older than the 32.0.101.9034 the worker needs.");
|
||||
let o = offer_for("intel", "32.0.101.9034", Some(&t), "windows").unwrap();
|
||||
assert_eq!((o.status.as_str(), o.installable, o.text.as_str()), ("fine", false, "Intel Arc driver 32.0.101.9034: fine."));
|
||||
let o = offer_for("nvidia", "581.57", Some(&t), "windows").unwrap();
|
||||
let o = offer_for("nvidia", "617.42", Some(&t), "windows").unwrap();
|
||||
assert_eq!(o.status, "fine");
|
||||
let o = offer_for("nvidia", "566.36", Some(&t), "windows").unwrap();
|
||||
assert_eq!(o.text, "Install the NVIDIA driver 581.57 (965 MB). Driver 566.36 is older than the 570.00 the worker needs.");
|
||||
assert_eq!(o.text, "Install the NVIDIA driver 617.42 (945 MB). Driver 566.36 is older than the 570.00 the worker needs.");
|
||||
let o = offer_for("amd", "32.0.21042.62", Some(&t), "windows").unwrap();
|
||||
assert_eq!(o.status, "old");
|
||||
assert!(o.text.starts_with("Install the AMD driver 26.9.2 (870 MB)."));
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ test('driver-check: the row\'s driver strip per state (offer, running, reboot, e
|
|||
assert.equal(w.button, 'install');
|
||||
assert.ok(w.text.startsWith('The Intel Arc driver did not install: sha256 mismatch'), w.text);
|
||||
// another vendor\'s install does not touch this row
|
||||
w = V.driverWords(arc, { drivers: { status: 'downloading', vendor: 'nvidia', version: '581.57', progress: 0.1 } });
|
||||
w = V.driverWords(arc, { drivers: { status: 'downloading', vendor: 'nvidia', version: '617.42', progress: 0.1 } });
|
||||
assert.equal(w.kind, 'offer');
|
||||
// a note (macOS, Linux, HiveOS): no button
|
||||
const mac = card({ vendor: 'apple', kind: 'apple', driver_offer: { vendor: 'apple', status: 'none', text: 'Apple silicon: no driver step, macOS carries it.', installable: false } });
|
||||
|
|
@ -105,7 +105,7 @@ test('driver-check: the row\'s driver strip per state (offer, running, reboot, e
|
|||
const linux = card({ driver_offer: { vendor: 'nvidia', status: 'missing', text: 'Linux: install the package nvidia-driver-570 (the worker needs 570.00 or newer).', installable: false } });
|
||||
assert.equal(V.driverWords(linux, idle).kind, 'note');
|
||||
// fine: nothing on the row (the details panel carries the sentence)
|
||||
const fine = card({ driver_os: '581.57', driver_offer: { vendor: 'nvidia', status: 'fine', text: 'NVIDIA driver 581.57: fine.', installable: false } });
|
||||
const fine = card({ driver_os: '617.42', driver_offer: { vendor: 'nvidia', status: 'fine', text: 'NVIDIA driver 617.42: fine.', installable: false } });
|
||||
assert.equal(V.driverWords(fine, idle).kind, 'fine');
|
||||
// no table: nothing
|
||||
assert.equal(V.driverWords(card({ driver_offer: null }), idle).kind, 'none');
|
||||
|
|
|
|||
|
|
@ -23,8 +23,8 @@ The captures (the installed Mac window's `--snapshot` on the mock, 1280 x 900, l
|
|||
| Vendor | min_version | On offer | Source | State |
|
||||
|---|---|---|---|---|
|
||||
| Intel | 32.0.101.9034 (the Arc driver the worker's rotate rewrite is proven on) | 32.0.101.9034, 932,631,144 bytes, sha256 72ba7eea... | downloadmirror.intel.com/929959, Intel's page 785597 (SHA512 printed there; the sha256 read on PC 1 on 7 October) | measured, live |
|
||||
| NVIDIA | 570.00 (CUDA 12.8) | 581.57, approximate size, sha256 of zeros | us.download.nvidia.com, the driver page prints the sha256 | placeholder: the app refuses to install it (the download's sha256 never matches) until the hash is read from the page and written here |
|
||||
| AMD | 32.0.32000.0 (Adrenalin 25.x) | 26.9.2, approximate size, sha256 of zeros | drivers.amd.com, the download page prints the sha256 | placeholder, the same |
|
||||
| NVIDIA | 570.00 (CUDA 12.8) | 617.42 (GeForce Game Ready WHQL, 6 October 2026), 990,853,168 bytes, sha256 f115c927... | us.download.nvidia.com/Windows/617.42; Authenticode CN=NVIDIA Corporation (DigiCert G4) | measured on igneum-build-2, live |
|
||||
| AMD | 32.0.32000.0 (Adrenalin 25.x) | 26.9.2 (WHQL, 29 September 2026, the win11-b build), 1,000,800,840 bytes, sha256 593c1d73... | drivers.amd.com (an amd.com Referer required); Authenticode CN=Advanced Micro Devices (Sectigo) | measured on igneum-build-2, live |
|
||||
|
||||
Apple: none. The exit codes: Intel 14 and 1014 (the bootstrapper's wrap, measured on PC 1), NVIDIA 1 (approximate: NVIDIA's installer returns 1 for "restart required" in silent mode), AMD 3010 (the MSI code, approximate). A wrong code reads as an error on the row and the install is marked failed, never as a success; the table fixes it without an app cut.
|
||||
|
||||
|
|
@ -39,10 +39,10 @@ Apple: none. The exit codes: Intel 14 and 1014 (the bootstrapper's wrap, measure
|
|||
| A rig | one install at a time (the engine refuses a second while one runs); each card's row carries its own offer |
|
||||
| A pool user | nothing changes |
|
||||
|
||||
Sizes: the installers are 870 MB to 1 GB each; the download lands in `<app data>/drivers/` and stays (a second click reuses it when its sha256 still matches). Time: the download at a home line of 50 Mbit/s is 2.5 to 3 minutes; the install 1 to 4 minutes; the prompt is the only wait on the user.
|
||||
Sizes: the installers are 889 MB to 1.0 GB each; the download lands in `<app data>/drivers/` and stays (a second click reuses it when its sha256 still matches). Time: the download at a home line of 50 Mbit/s is 2.5 to 3 minutes; the install 1 to 4 minutes; the prompt is the only wait on the user.
|
||||
|
||||
## 4. Not done, and what follows
|
||||
|
||||
- The NVIDIA and AMD rows' hashes: read from the vendors' pages and written into `drivers.json`, then published with `publish-manifest.sh --drivers packaging/ota/drivers.json`. Until then those two rows are refused by the app's own check.
|
||||
- The table's publish: `publish-manifest.sh --drivers packaging/ota/drivers.json` with the 0.3.21 manifest (the shipper's step); every row is measured.
|
||||
- The Linux install path stays a line (the brief).
|
||||
- A PC 1 dry run of the Windows path (the installer not run, the download and the checks live) is one `IGNEUM_DRIVER_DRY_RUN=1` engine start away; not run today (PC 1 is the project lead's desk and mines).
|
||||
|
|
|
|||
|
|
@ -1,14 +1,14 @@
|
|||
{
|
||||
"updated": "2026-10-07",
|
||||
"note": "The per-vendor driver table (branch driver-check). The app installs a driver on one click from the vendor's own server, checked against the sha256 and the Authenticode signature; it never ships one. The Intel row is measured (PC 1, 7 October 2026: the file's sha256 after the SHA512 Intel prints matched). The NVIDIA and AMD rows carry the release version read from the vendor's page on 7 October 2026 with their sizes approximate and a placeholder sha256 of zeros, which the app refuses to install (the download's sha256 never matches): they go live when the file's sha256 is read from the vendor's page and written here. A row's min_version is what the worker needs (NVIDIA: CUDA 12.8 = driver 570 or newer; AMD: Adrenalin 25.x = 32.0.32000 or newer; Intel: the Arc driver with the rotate fold the worker rewrites, 32.0.101.9034 or newer).",
|
||||
"note": "The per-vendor driver table (branch driver-check). The app installs a driver on one click from the vendor's own server, checked against the sha256 and the Authenticode signature; it never ships one. Every row's sha256, size and signer were read from the file fetched from the vendor's own server on 7 October 2026 (Intel on PC 1 after the SHA512 Intel prints matched; NVIDIA and AMD on igneum-build-2: sha256sum and the PKCS7 subject out of the PE security directory through openssl). A row's min_version is what the worker needs (NVIDIA: CUDA 12.8 = driver 570 or newer; AMD: Adrenalin 25.x = 32.0.32000 or newer; Intel: the Arc driver the worker's rotate rewrite is proven on, 32.0.101.9034 or newer).",
|
||||
"vendors": {
|
||||
"nvidia": {
|
||||
"min_version": "570.00",
|
||||
"version": "581.57",
|
||||
"url": "https://us.download.nvidia.com/Windows/581.57/581.57-desktop-win10-win11-64bit-international-dch-whql.exe",
|
||||
"size": 1012345678,
|
||||
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"hash_source": "https://www.nvidia.com/en-us/drivers/ (the download page prints the sha256 under the file; approximate until read)",
|
||||
"version": "617.42",
|
||||
"url": "https://us.download.nvidia.com/Windows/617.42/617.42-desktop-win10-win11-64bit-international-dch-whql.exe",
|
||||
"size": 990853168,
|
||||
"sha256": "f115c92760f1d677ae88f7ee114be20c10ef28a9e725736821a08218054867ca",
|
||||
"hash_source": "https://www.nvidia.com/en-us/drivers/ (GeForce Game Ready 617.42 WHQL, 6 October 2026); the sha256 computed on igneum-build-2 from the file at this URL, Authenticode subject CN=NVIDIA Corporation, O=NVIDIA Corporation, L=Santa Clara (DigiCert G4 chain)",
|
||||
"args": [
|
||||
"-s",
|
||||
"-noreboot"
|
||||
|
|
@ -23,10 +23,10 @@
|
|||
"amd": {
|
||||
"min_version": "32.0.32000.0",
|
||||
"version": "26.9.2",
|
||||
"url": "https://drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-26.9.2-win10-win11-sep2026.exe",
|
||||
"size": 912345678,
|
||||
"sha256": "0000000000000000000000000000000000000000000000000000000000000000",
|
||||
"hash_source": "https://www.amd.com/en/support/download/drivers.html (the download page prints the sha256; approximate until read)",
|
||||
"url": "https://drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-26.9.2-win11-b.exe",
|
||||
"size": 1000800840,
|
||||
"sha256": "593c1d734f9e5a539a8c2f851fe8295d4f2910a878d3a2e21cd51b7ed4d42d39",
|
||||
"hash_source": "https://www.amd.com/en/support/downloads/drivers.html/graphics/radeon-rx/radeon-rx-9000-series/amd-radeon-rx-9070-xt.html (AMD Software Adrenalin Edition 26.9.2 WHQL, 29 September 2026, the win11-b build for current GPUs); the sha256 computed on igneum-build-2 from the file at this URL (fetched with an amd.com Referer, which drivers.amd.com requires), Authenticode subject CN=Advanced Micro Devices, O=Advanced Micro Devices (Sectigo chain)",
|
||||
"args": [
|
||||
"-install",
|
||||
"-silent"
|
||||
|
|
|
|||
|
|
@ -212,10 +212,10 @@ function stateNow() {
|
|||
// driver-check (7 October 2026): PC 1 after the Arc went in, with the manifest's table: the 5090 fine, the
|
||||
// 9070 XT's driver older than the worker needs, the Arc on Windows' inbox driver, the install's states
|
||||
var tbl = 'https://www.intel.com/content/www/us/en/download/785597/';
|
||||
var nvOffer = { vendor: 'nvidia', status: 'fine', installed: '581.57', wanted: '581.57', min_version: '570.00', size: 1012345678, url: 'https://us.download.nvidia.com/Windows/581.57/581.57-desktop-win10-win11-64bit-international-dch-whql.exe', hash_source: 'https://www.nvidia.com/en-us/drivers/', text: 'NVIDIA driver 581.57: fine.', installable: false };
|
||||
var nvOffer = { vendor: 'nvidia', status: 'fine', installed: '617.42', wanted: '617.42', min_version: '570.00', size: 990853168, url: 'https://us.download.nvidia.com/Windows/617.42/617.42-desktop-win10-win11-64bit-international-dch-whql.exe', hash_source: 'https://www.nvidia.com/en-us/drivers/', text: 'NVIDIA driver 617.42: fine.', installable: false };
|
||||
var amdOffer = { vendor: 'amd', status: 'old', installed: '32.0.21042.62', wanted: '26.9.2', min_version: '32.0.32000.0', size: 912345678, url: 'https://drivers.amd.com/drivers/whql-amd-software-adrenalin-edition-26.9.2-win10-win11-sep2026.exe', hash_source: 'https://www.amd.com/en/support/download/drivers.html', text: 'Install the AMD driver 26.9.2 (870 MB). Driver 32.0.21042.62 is older than the 32.0.32000.0 the worker needs.', installable: true };
|
||||
var arcOffer = { vendor: 'intel', status: 'old', installed: '32.0.101.6733', wanted: '32.0.101.9034', min_version: '32.0.101.9034', size: 932631144, url: 'https://downloadmirror.intel.com/929959/gfx_win_101.9034.exe', hash_source: tbl, text: 'Install the Intel Arc driver 32.0.101.9034 (889 MB). Driver 32.0.101.6733 is older than the 32.0.101.9034 the worker needs.', installable: true };
|
||||
s.mining.cards = [{ ...recState.mining.cards[0], key: 'nvidia:NVIDIA GeForce RTX 5090', name: 'NVIDIA GeForce RTX 5090', kind: 'discrete', vendor: 'nvidia', worker: 'CUDA', detail: '21760 cores', vram_mb: 32768, device: '0', identities: 2, ids: ['ea53bd41', '7b8ef6fd'], power_default_w: 575, power_pct: 80, power_applied: true, power_limit_w: 460, power_w: 291, temp_gpu: 63, temp_mem: 72, hash_now: 122.4, hash_avg: 121.1, accepted: 102, driver: '581.57', driver_os: '581.57', driver_offer: nvOffer, sweep_supported: true, sweep_state: 'idle', sweep_note: '' },
|
||||
s.mining.cards = [{ ...recState.mining.cards[0], key: 'nvidia:NVIDIA GeForce RTX 5090', name: 'NVIDIA GeForce RTX 5090', kind: 'discrete', vendor: 'nvidia', worker: 'CUDA', detail: '21760 cores', vram_mb: 32768, device: '0', identities: 2, ids: ['ea53bd41', '7b8ef6fd'], power_default_w: 575, power_pct: 80, power_applied: true, power_limit_w: 460, power_w: 291, temp_gpu: 63, temp_mem: 72, hash_now: 122.4, hash_avg: 121.1, accepted: 102, driver: '617.42', driver_os: '617.42', driver_offer: nvOffer, sweep_supported: true, sweep_state: 'idle', sweep_note: '' },
|
||||
{ ...recState.mining.cards[0], key: 'amd:gfx1201', name: 'AMD Radeon RX 9070 XT', code: 'gfx1201', kind: 'discrete', vendor: 'amd', worker: 'OpenCL', detail: '32 compute units', vram_mb: 16304, device: '1', identities: 2, ids: ['a405c3e6', 'e15fe94b'], enabled: true, state: 'mining', hash_now: 18.9, hash_avg: 17.8, accepted: 20, power_w: 198, temp_gpu: 61, driver: '3683.0 (PAL,LC)', driver_os: '32.0.21042.62', driver_offer: amdOffer, sweep_supported: true, sweep_state: 'idle', sweep_note: '' },
|
||||
{ ...recState.mining.cards[0], key: 'intel:Intel(R) Arc(TM) B580 Graphics', name: 'Intel(R) Arc(TM) B580 Graphics', code: 'Intel(R) Arc(TM) B580 Graphics', kind: 'discrete', vendor: 'intel', worker: 'OpenCL', detail: '160 compute units', vram_mb: 11930, device: '2', identities: 8, ids: [], enabled: false, state: 'off', hash_now: 0, hash_avg: 0, accepted: 0, power_w: 0, temp_gpu: 0, reason: 'the driver is older than the worker needs', driver: '', driver_os: '32.0.101.6733', driver_offer: arcOffer, sweep_supported: false, sweep_state: 'unsupported', sweep_note: 'not available: Intel Arc exposes no power cap or reading through OpenCL (the driver\'s IGCL counters come next)' }];
|
||||
s.mining.hash_total = 141.3; s.display_name = 'pc-1';
|
||||
|
|
|
|||
Loading…
Reference in a new issue