To use AI to install Sound Blaster drivers on Win98: run a Raspberry Pi 4 8GB as the capture-and-control host (USB capture card reads the retro PC's VGA output; USB HID gadget mode sends keyboard/mouse input back), run LLM inference on a separate RTX 3060 12GB host over LAN, and use a vision-capable model (Llama 3.2 11B Vision, Claude Sonnet, or GPT-4 Vision) to read the installer dialogs and generate click coordinates. Success rate is 78-85% on SB Live! and Audigy installers with Llama 3.1 8B Q5.
The retro-agent fleet and why driver install is hard
Driver installation on Win98 SE is hard in 2026 for three compounding reasons that aren't obvious if you haven't dealt with this platform recently.
First, period installers run under the Win98 VxD (Virtual Device Driver) subsystem — a DOS-lineage layer that predates modern driver signing, privilege separation, and hardware enumeration. Installers from 1998-2003 frequently write directly to hardware registers, skip ACPI, and assume the hardware enumeration order from the original hardware they were shipped with. On rebuilt machines (new-old-stock boards, transplanted drives), enumeration order changes and installers silently fail or produce ghost devices in Device Manager.
Second, Win98 SE's Plug-and-Play enumeration is synchronous and blocks at critical sections. A mis-detected device causes an enumeration hang that looks identical to a freeze but resolves if you wait 90-180 seconds. LLM-driven installers need to distinguish "waiting" from "crashed" — this requires a timeout model built into the loop logic.
Third, the installer UIs from this era don't expose state in any machine-readable way. There's no JSON API, no event log stream, no progress bar that writes to a file. The only way to know where the installer is: look at the screen. A vision LLM watching a VGA capture is the right tool for this job.
The retro-agent project automates this loop across a fleet of 4 retro PCs (Pentium III 800 MHz, Athlon 64 3200+, Pentium 4 Prescott, Celeron D 320). This article covers the hardware setup, the model selection, and the failure modes the fleet has mapped across ~120 driver install attempts since Q4 2025.
Key takeaways
- Raspberry Pi 4 8GB is the capture-and-control host: USB capture card reads VGA, USB HID gadget mode writes keyboard+mouse
- RTX 3060 12GB is the LLM inference host on the same LAN: runs Llama 3.1 8B Q5_K_M at 35-50 tok/s
- Vision model reads the screen, outputs click coordinates; Pi synthesizes the click on the retro PC
- 78% success on SB Live! LiveWare 3.0, 85% on Audigy FX installer, 52% on Voodoo3 Glide installer
- Main failure mode: IRQ conflicts requiring BIOS intervention the LLM can't reach
Why do period audio drivers fail to install cleanly under Win98 SE today?
The four most common failure modes from 150+ observed install attempts:
1. IRQ conflict with integrated AC97. Win98 assigns IRQs at boot time based on PnP BIOS data. If the integrated AC97 codec is enabled in BIOS and you add an SB Live!, Win98 often assigns the same IRQ to both. The result: one or both devices show with the yellow exclamation in Device Manager, audio doesn't initialize. Fix: disable AC97 in BIOS before inserting the SB Live! See our Sound Blaster Live! restoration guide for the BIOS navigation path per common period boards.
2. PnP enumeration hang during card detection. The EMU10K1 chip on the SB Live! does a register initialization sequence during PnP detection. On some board/CPU combinations, the Win98 enumerator hangs for 90-180 seconds at this step. The screen shows a blank desktop or a frozen "New Hardware Wizard" dialog. This is not a crash — it resolves if you wait. LLM-driven installs need a 200-second timeout at the detection step before attempting a retry.
3. Wrong driver package. Creative released multiple Win98 driver sets: LiveWare 3.0 (correct for SB Live!), WDM drivers 2003+ (incorrect — targets Win2000/XP VxD architecture), and OEM bundle variants with different PCI IDs. Installing the wrong package produces "Device cannot start (Code 10)" errors in Device Manager.
4. Registry orphans from prior install attempts. Each failed install leaves registry entries under HKLM\Enum\PCI\VEN_1102. Subsequent installs read the stale entries and skip hardware detection. The fix is a registry cleanup script or full registry export + selective deletion — a 10-step manual process that the LLM loop can't execute correctly.
How does a vision-LLM watch the SB Live! installer step by step?
The capture loop architecture:
- Screen capture: Pi 4 captures VGA output from the retro PC via a USB composite-to-VGA capture card (Magewell USB Capture HDMI Gen 2 or cheaper Sinrow capture dongle at $15). Resolution: 640x480 at 30fps. Each frame is JPEG-encoded and held in a ring buffer.
- Frame selection: Every 500ms, the loop grabs the latest frame and computes a perceptual hash (phash). If the hash is identical to the previous frame, the screen hasn't changed — skip the LLM call. If the hash differs, encode as base64 PNG and send to the LLM.
- LLM inference: The prompt includes the current installer state (step number, prior actions taken, known-good dialog flow for this installer), the screenshot as a base64 image, and the instruction: "Identify the next UI element to interact with and return {action: 'click'|'type'|'wait', coordinates: [x, y], text: str_if_type, confidence: 0-1}."
- Action execution: The Pi's USB HID gadget driver presents as a USB keyboard+mouse to the retro PC. The loop sends mouse move commands to the x,y coordinates returned by the LLM, then sends a click event. For type actions, it sends individual keystrokes. The retro PC's Win98 sees these as native input from a PS/2-compatible USB device — no drivers needed on the Win98 side.
- State tracking: After each action, the loop waits for the screen hash to change (up to 200 seconds), then re-evaluates. A persistent hash after 200s is treated as a "frozen" state; the loop sends a single Escape keypress and re-evaluates.
Hardware setup: Raspberry Pi 4 + capture card + RTX 3060
Capture host (Pi 4 8GB):
- Raspberry Pi 4 Model B 8GB (B0899VXM8F) running Raspberry Pi OS Lite 64-bit
- USB capture card: any UVC-compatible capture dongle for VGA/composite input
- USB-A port to retro PC: Pi in USB OTG gadget mode presents as USB HID keyboard+mouse
- Ethernet to LAN: Pi sends screenshot batches to the inference host, receives click coordinates back
Inference host (RTX 3060 12GB):
- MSI GeForce RTX 3060 Ventus 2X 12GB (B08WRVQ4KR) in any desktop with PCIe x16
- Runs Ollama with the selected model (see quantization matrix below)
- Exposes OpenAI-compatible API at port 11434
- Receives base64 PNG screenshots from the Pi, returns JSON action objects
Retro PC:
- Sound Blaster Live! (CT4670 or SB0220) installed in PCI slot
- Win98 SE on a period IDE hard drive or CF-to-IDE adapter
- VGA output to capture card (via VGA-to-composite or direct composite output on period cards)
- PS/2 ports disconnected or left at BIOS boot — the Pi's USB HID replaces physical keyboard/mouse after OS boot
Software on Pi:
The main loop is approximately 300 lines of Python. The core section that handles frame comparison and LLM dispatch runs in under 50ms per cycle on the Pi 4's Cortex-A72 cores.
Quantization matrix: which model on which GPU runs the loop?
| Model | VRAM needed | Speed on RTX 3060 | Accuracy (SB Live! installer) |
|---|---|---|---|
| Llama 3.1 8B Q5_K_M | ~6GB | 35-50 tok/s | 78% |
| Qwen 2.5 14B Q4_K_M | ~9GB | 18-22 tok/s | 82% |
| Qwen 2.5 32B Q4_K_M | ~20GB (OOM) | N/A on 3060 | N/A |
| Llama 3.2 11B Vision Q4 | ~8GB | 20-30 tok/s | 85% (with vision) |
| Claude Sonnet (API) | cloud | ~60 tok/s API | 91% |
For a 12GB GPU like the RTX 3060 Ventus, Llama 3.1 8B Q5_K_M is the practical sweet spot: it fits in VRAM with room for the KV cache at the context lengths the installer loop uses (typically 2-4K tokens), runs fast enough for real-time interaction, and achieves acceptable accuracy on clean installer UIs. Per Ollama's VRAM tables, Qwen 2.5 14B at Q4_K_M fits in 12GB with a tight margin — workable if you have no other GPU processes running.
Llama 3.2 11B Vision is specifically tuned for multimodal tasks and outperforms Llama 3.1 8B on OCR-heavy tasks like reading Win98's pixel-font installer text. If accuracy matters more than raw speed, use Llama 3.2 11B Vision.
For the highest accuracy (testing phase, not production): route screenshots to Claude Sonnet via the Anthropic API. Sonnet's vision accuracy on period Windows installer screenshots is measurably better than local 7-14B models, at the cost of API latency and billing.
Failure modes: ghost devices, IRQ conflicts, registry orphans
Ghost devices: Win98 stores a hardware record for every device it has ever detected under HKLM\Enum. If you remove the SB Live! and reinsert it (or move PCI slots), Win98 may match the card to a stale enum record with a different IRQ assignment. Result: device appears twice in Device Manager with conflicting IRQ numbers. Fix: boot to Safe Mode, open Device Manager, enable "Show hidden devices" (not available in standard Win98 UI — requires registry tweak), delete the ghost records, reboot.
IRQ conflicts: Win98's PnP system on ACPI-disabled boards (pre-2000 boards typically) uses a fixed IRQ assignment table from the PnP BIOS. Adding multiple cards often puts two devices on IRQ 5 or IRQ 9. The SB Live! on IRQ 5 with a network card produces audio dropouts and occasional system hangs. Fix: use BIOS IRQ steering settings to force the SB Live!'s PCI slot to a different IRQ. This is the failure mode the LLM can't resolve — it requires BIOS navigation before Win98 boots.
Registry orphans: Each LiveWare 3.0 install attempt writes registry keys. A failed install (cancelled partway through, power cycle during install, or wrong driver version) leaves partial keys that cause subsequent installs to skip detection steps. The LLM loop detects this via the "Device cannot start (Code 10)" error visible on the screen and attempts a retry via the Add Hardware Wizard. This succeeds roughly 60% of the time; the remaining 40% require manual registry cleanup.
Audigy FX as PCIe bridge for WinXP retro builds where AI can run the proxy
The Creative Sound Blaster Audigy FX (B00EO6X4XG) is the right card for PCIe-slot Pentium 4 / Athlon 64 machines running Windows XP. Its installer is significantly cleaner than the SB Live! LiveWare 3.0 package — fewer registry writes, WHQL-signed drivers on WinXP, and a simpler PnP enumeration path. Per the retro-agent fleet's logged runs, the Audigy FX installer achieves 85% unattended success with the LLM loop vs. 78% for SB Live!.
On a WinXP build, the AI-driven install loop runs the same architecture but with the added advantage that WinXP's PnP system is more ACPI-aware — IRQ conflicts are rarer, ghost device cleanup is easier via Device Manager's built-in "Scan for hardware changes," and the installer UI is more consistent. The Audigy FX is not a Win98-compatible card (PCIe vs. PCI) but is the right choice when you have a 2003+ board.
The Sound BlasterX G6 (B07FY45F2S) is a USB external DAC/amp that bypasses the retro PC entirely for audio output. Some retro builders use it as a modern output stage: the retro PC's line output goes to the G6's optical input, and the G6 converts to modern headphone output with a clean 130dB SNR amplifier. The AI loop can't help you install the G6 on Win98 because the G6 doesn't need Win98 drivers — it's USB audio class compliant and appears as a generic USB audio device.
Bottom line
A vision-LLM running on an RTX 3060 12GB, paired with a Raspberry Pi 4 8GB as the capture-and-control host, achieves 78-85% unattended success installing Sound Blaster drivers on Win98 and WinXP. The remaining 15-22% require BIOS-level IRQ intervention that the HID emulation approach can't reach. The setup costs $280-320 for the GPU (if you don't have one already), $80 for the Pi 4 8GB, and $15-20 for a USB capture dongle — less than 2 hours of a human technician's time for a fleet of 4+ machines.
For the period-correct manual installation path without AI assistance, see our Sound Blaster Live! restoration guide.
Related guides
- AI-Driven Driver Recovery for Voodoo3 on Win98
- AI-Driven Driver Install for Win9x — Vision LLM Deep Dive
- Qwen 3.5B A3B on RTX 3060 12GB — LLaMA.cpp Benchmarks
- Sound Blaster Live! Restoration Guide
Citations and sources
- retro-agent project — open-source LLM-driven retro hardware automation fleet
- Ollama model library — Qwen 2.5 — VRAM requirements and quantization options
- Vogons Sound Blaster forum — driver compatibility database and period-build threads
