I discovered that Bill Gates monopolized ACPI in order to break Linux
a year ago
- #Linux
- #Bill Gates
- #ACPI
- 作者的Steam Deck因电池控制器故障导致无法充电。
- 通过SMBus与智能电池系统(SBS)控制器通信的尝试失败,因为SMBus连接的是嵌入式控制器(EC)而非I2C总线。
- EC负责处理各种I/O功能(包括ACPI、GPIO和SMBus),但缺乏完善的文档说明。
- Linux内核确实有通过EC实现SMBus的SBS驱动程序,但作者遇到ACPI设备未被正确识别的问题。
- ACPI本应标准化硬件访问,却未能提供关键信息(如SMBus命令的地址偏移量)。
- 官方ACPI规范虽然承认地址偏移量的必要性,但未提供可靠获取方式,导致依赖操作系统专用驱动。
- 大多数EC/超级IO芯片制造商(如ITE)不公开数据手册,阻碍开源驱动开发。
- 比尔·盖茨1999年的备忘录建议将ACPI扩展设为Windows专属,以阻止Linux直接受益。
- 作者计划继续改进Linux ACPI驱动,并开发sbsutil等工具来解决这些问题。