What xHCI98 actually is
xHCI98 is a USB host controller driver for xHCI (USB 3.x) controllers on Windows 98 SE, ME, 2000, XP (x86/x64), Vista (x86/x64) and 7 (x86/x64). Experimental support for USB4 and Thunderbolt 3/4 is also included.
The driver is split into three parts:
- xhci98.sys is the main controller driver. It replaces Windows' own USB port and hub drivers, so it is not limited to USB 2.0.
- xhciuas.sys handles UAS (USB Attached SCSI) storage, through a second driver.
- xhcicm.sys handles Thunderbolt 3 and USB4 docks and NVMe enclosures through a third driver.
Why anyone needs this
PCs from the mid-2010s onward often have xHCI-only USB controllers, with no legacy EHCI controller. Older Windows versions have no native xHCI driver. Meng says that without one, these systems could not drive the ports before, and only at USB 2.0 speeds in the earlier release. Keyboards, mice and flash drives lean on BIOS legacy emulation and can't be hot-plugged. Ethernet and audio adapters don't work at all.
This is a real problem for retro enthusiasts. They want a modern laptop that can still run Windows 98, but a ThinkPad-class machine has no PCI slot for a USB 2.0 card. Meng's own earlier workaround was a daisy chain of adapters. It ran from Thunderbolt to an eGPU dock, a PCIe-PCI adapter, a VIA USB 2.0 PCI card, and finally USB adapters.
Why Thunderbolt is harder than USB 3
A Thunderbolt or USB4 dock isn't a plain USB device. It builds tunnels that can carry PCIe, USB 3 and DisplayPort traffic. Once a PCIe tunnel is up, a dock's NVMe drive can show up as if it were on the PC's own PCI bus. The OS therefore needs connection-management logic as well as device drivers.
Meng describes three approaches:
- Firmware sets up tunnels before boot.
- The OS runs a software connection manager.
- A firmware connection manager does the work.
The new xhcicm.sys covers the last two. With Intel Thunderbolt 2 and 3 controllers, and USB4-generation Intel ones while their firmware runs its own connection manager, the driver works alongside that manager. On USB4 hosts without a firmware connection manager, it builds the tunnels itself. Devices inside a dock or enclosure appear in Device Manager within seconds of the plug, with no Refresh, and leave on unplug.
The hot-plug fix is a good example of the difficulty. Meng reports that after unplugging and reconnecting an NVMe enclosure, the PCIe bridge showed Code 29 and the drive didn't come back. He traced this to Windows 98's PCI driver failing to configure a newly added PCI bridge. The driver now assigns bus numbers, memory windows and an interrupt line during hot-plug.
The caveat
Look at the headline again. Thunderbolt 3 was tested on real hardware. Meng reports it working with an ORICO USB4 NVMe enclosure, built on an ASMedia ASM2464 bridge, on his ThinkPad P14s Gen 1's Thunderbolt 3 port. He says he has no USB4 host that can boot Windows 98 through legacy BIOS compatibility. His USB4 testing was done in an emulator. Physical USB4 validation is still pending.
That fits the project's own "experimental" label. The emulator is Meng's QEMU fork, usb4-emu. The fork emulates USB4/Thunderbolt hosts and devices. It was built to support semi-automated, LLM-assisted driver development. Hackaday said the USB4 side is not as stable as the USB3.0 portion, though it was impressed that it runs at all.
So "Thunderbolt 4 on Windows 98" is better read as "Thunderbolt 3 works on one tested setup, and USB4 is promising but unproven on real hardware."
Performance
The numbers come from the developer's own tests on particular configurations. They are not general guarantees.
| Setup | Read | Write |
|---|---|---|
| NVMe enclosure over Thunderbolt 3, Windows 7 | 1,151 MB/s | 1,013 MB/s |
| Same enclosure and drivers, Windows 98 SE | about 210 MB/s | about 256 MB/s |
Meng says Windows 98's own storage stack, not the Thunderbolt link, is the bottleneck. Daily.dev's summary of the write-up points to a limit of 64kB per USB transfer in Windows 98. USB 3 storage on Windows 98 SE lands at roughly 200 MB/s. That is a big step up from the roughly 33–34 MB/s of the earlier USB 2.0-only releases.
Practical notes before you install
- Storage on Windows 98 SE: you still need a USB mass-storage driver. WindowsForum's earlier coverage of the 1.x release said to install NUSB 3.3/3.6 or SweetLow's stack first. The project's guidance is that xHCI98 alone can enable HID and audio devices, but it doesn't supply a mass-storage driver.
- Check your hardware first: the project recommends its DOS utility XHCIQUAL. Keep your Windows install media handy, because Windows 98 may ask for files.
- Thunderbolt/USB4 firmware settings: the README advises legacy/CSM boot, Thunderbolt BIOS Assist off, and security set to User Authorization or No Security. Not every system exposes those options.
- Vista and Windows 7 x64: these drivers are test-signed with the project's own certificate, not Microsoft-signed. You need test-signing mode or disabled signature enforcement, and Windows may warn about the publisher.
- Keep a spare keyboard and mouse: the v2.4.0.0 release notes warn that on 98 SE, XP and XP x64, USB keyboard and mouse may not work during the update. Have a PS/2 or other non-xHCI input device ready. This was documented for the 2.4 update path, so check the current notes before upgrading to v3.
The AI angle
Meng says openly that this is a solo project with heavy AI assistance, and that bugs shouldn't surprise anyone. In his October 17 post he names Claude Fable 5.1 for planning, Claude Opus 5.5 for coding and Codex GPT 6 Astra as an adversarial reviewer. The current GitHub README lists different model names. It also says he directed the work and validated it on real machines.
Both sides of the AI debate have a point here:
- For: a niche driver stack that needed undocumented usbport miniport knowledge, built in spare time. That would likely never have been written otherwise.
- Against: kernel-mode code that runs at ring 0 on an OS with no memory protection worth the name. That calls for caution, and the Thunderbolt validation gap shows why. The emulator-only USB4 testing is the clearest limit.
My judgment, from general industry experience rather than anything in the sources, is that this works as a hobbyist tool and not as anything to put on production hardware. Treat it as a very capable science project.
Bottom line
xHCI98 v3 is a real step forward for legacy Windows on modern hardware. The USB 3.x side is the solid part. Thunderbolt 3 worked on one tested setup, and USB4 awaits physical testing. If you run Windows 98 on a xHCI-only laptop, it's worth a look. Just keep the PS/2 keyboard nearby.
References
- GitHub - yeokm1/xhci98: A generic USB 3.x, USB4, Thunderbolt host controller driver targeting Windows 98 SE, ME, 2000, XP, Vista and 7. · GitHub github.com
- Windows 98 SE users get a Thunderbolt 4 driver, thanks to AI assistance Tom's Hardware · 2026-10-20T11:30:00+00:00
- Bringing modern USB xHCI support to Windows 98/ME/2K/XP/Vista/7 - YKM's Corner on the Web yeokhengmeng.com