I discovered that Bill Gates monopolized ACPI in order to break Linux
a year ago
- #Linux
- #Bill Gates
- #ACPI
- The author's Steam Deck stopped charging due to a battery controller failure.
- Attempts to communicate with the Smart Battery System (SBS) controller via SMBus were unsuccessful because the SMBus was connected to the embedded controller (EC) instead of the I2C bus.
- The EC handles various I/O functions, including ACPI, GPIO, and SMBus, but lacks proper documentation.
- The Linux kernel has drivers for SBS over SMBus through EC, but the author encountered issues with ACPI devices not being properly recognized.
- ACPI is supposed to standardize hardware access but fails to provide necessary information, such as address offsets for SMBus commands.
- The official ACPI specification acknowledges the need for address offsets but does not provide a reliable way to obtain them, leading to dependency on OS-specific drivers.
- Most EC/SuperIO chip manufacturers, like ITE, do not provide public datasheets, making it difficult to develop open-source drivers.
- A 1999 memo by Bill Gates suggested making ACPI extensions Windows-specific to prevent Linux from benefiting without additional work.
- The author plans to continue working on improving Linux ACPI drivers and developing tools like sbsutil to address these issues.