Open-source Windows host-driver development for Intel Sound Open Firmware (SOF).
The first target is an Intel N100 laptop with a PCI audio controller at
8086:54c8 and an I2C Realtek RT5682 codec (ACPI\10EC5682). This repository
has a test-signed stereo driver prerelease
with source on the feature/acx-speaker branch. This default branch retains
the earlier hardware baseline and diagnostic tooling. The experimental release
targets the Lenovo 14e Chromebook Gen 3 and requires test-signing mode.
Lenovo 14e Chromebook Gen 3: see the model-specific Lenovo 14e Intel SOF Windows fork for Lenovo integration and experimental open-source speaker processing. It shares this repository’s history; Windows audio-effect integration is still under development.
The development probe builds with the WDK in Windows CI and its generated INF
passes a separate x64 InfVerif /w check. It read the controller's resources,
capability chain, and
DSP status. Its
on-demand snapshot works through a device
interface. A guarded, opt-in core-0 power test
received hardware acknowledgment and restored the powered-off baseline. All
test packages were removed, and normal boot settings were verified after each
test. The firmware boot path is mapped, the IPC3 firmware payload can be staged in DMA memory, the code-loader and ICCMAX capture streams both accepted guarded setup and restoration, the capture RUN/STOP test returned cleanly, the DSP ROM acknowledged entry, the firmware reached its entered state, the IPC3 firmware-ready notification arrived, a host IPC3 request received a valid reply, and a managed DSP session handled a second request. Audio still does not work: the probe has no interrupt-driven IPC service, topology, or Windows audio streams.
SOF firmware runs on the audio DSP. A Windows host driver must claim the PCI controller, initialize the DSP, load compatible firmware and topology, exchange SOF IPC messages, manage DMA and power states, and expose audio streams through Windows audio interfaces. The Realtek codec is a separate I2C device that also needs a working path to the audio graph.
The initial target baseline reported Windows PnP problem code 28 for both
PCI\VEN_8086&DEV_54C8 and ACPI\10EC5682. Linux maps 54c8 to Alder Lake-N
SOF (HDA_ADL_N) and defaults that platform to IPC3 with sof-adl-n.ri.
See hardware/n100-windows.json and
docs/source-map.md.
- Build a KMDF PCI probe that binds only to
8086:54c8, reports controller capabilities, verifies a guarded DSP power request, and unloads cleanly. Done. - Add DSP boot and firmware-ready handshake using the Alder Lake-N Linux SOF code as the hardware reference. Keep a known-good Windows restore path. Guarded session start, request, and stop verified on N100.
- Add IPC3 request/reply handling, timeouts, and firmware trace collection.
- Bring up one simple playback path, then capture and codec controls through Windows ACX audio circuits.
- Add suspend/resume, error recovery, validation, and driver signing for wider use.
Run tools/collect-hardware.ps1 on the Windows target to refresh the PnP
baseline. The Windows Driver Kit is not installed on the target, so initial
builds use Windows CI. Test-signed builds require a controlled test-signing
setup on the target for each hardware test.
This project is GPL-2.0-only so that appropriately attributed Linux SOF host code can be adapted where useful. Third-party firmware and Windows Driver Kit components keep their own licenses; neither is bundled here.