雷电/USB4 驱动被移植到 Windows 98
开发者 Yeo Kheng Meng 为 Windows 98 至 7 编写 USB3.0 驱动,并实验性地实现了 USB4/雷电支持,还放出了可模拟雷电设备的 QEMU 分支。
如果说 Windows 98 有什么让人耿耿于怀的缺憾,那就是它不支持 USB4。当然这是句玩笑——毕竟 1998 年的人们根本想象不到雷电接口的速度。但二十多年后,开发者 [Yeo Kheng Meng] 真的把最现代的 USB 接口塞进了这些一点也不现代的操作系统里。
这项工作是建立在他此前的 xHCI 驱动基础上的,那个驱动让 Windows 98 起的老系统能用上 USB 2.0。与之前一样,本次成果覆盖 Windows 98 到 Windows 7,也同样少不了借助大语言模型来折腾代码。
USB 3.0:可用,但受老系统拖累
项目由几部分组成。其一是 USB 3.0 驱动,它取代了旧的 xHCI98 驱动,代码已发布在 GitHub 上。在 Windows 98 下,USB 3.0 的实测速度大约卡在 200 MB/s,瓶颈很可能来自系统对 USB 传输单次请求最大 64 kB 的限制——总线再快,也只能一小块一小块地搬数据。
USB4 / 雷电:实验性但确实能跑
另一部分是实验性的 USB4.0/雷电支持。它的稳定性不如 USB 3.0 那部分,但能跑起来本身就足够令人意外。雷电并不只是一条更快的数据总线,它还需要同时支持多种协议。安装 xhcicm.sys 之后,你就能体验到一种相当超现实的场景:在上个世纪最好的 Windows 里,通过他的 Stor98 驱动访问接在扩展坞上的 NVMe 硬盘。这部分主要基于 [SweetLow] 的 NVMe9x 项目,他做了分支,之后会合并进主仓库。
模拟器也许比驱动更有价值
对社区而言,可能比驱动更有用的是他对 QEMU11 的分支,可以模拟 USB4/雷电主机与设备。对于这类半自动化的驱动开发来说,一个能用的模拟器显然是巨大的助力,它单独放在一个仓库里。
除了前面提到的 USB 2.0 驱动,[Yeo Kheng Meng] 在复古计算方面的履历也相当亮眼:把 Swift 带到 Apple II,让 DOS 成为 llama.c 的运行环境。顺带一提,llama.c 所用的 TinyStories 模型并不是协助本项目的那个大语言模型。
感谢 [Yeo Kheng Meng] 提供线索!
讨论
0 条评论