Home / Drivers & Low-level Hardware / Laptop EC & Peripherals

82 open-source Laptop EC & Peripherals projects

Laptop EC & Peripherals (Drivers & Low-level Hardware): open-source projects that exist because someone reverse engineered a closed product, sorted by GitHub stars.

  1. MonitorControl★ 34,577 · active · Swift

    macOS app to control external display brightness over DDC

  2. G-Helper★ 15,770 · active · C#

    Lightweight open replacement for ASUS Armoury Crate laptop control

  3. LibreHardwareMonitor★ 9,286 · active · C#

    Hardware sensor monitor with reverse-engineered Super I/O and EC readers

  4. linux-surface★ 7,856 · active · Shell

    Linux kernel and drivers for Microsoft Surface devices

  5. Lunar★ 5,722 · active · Swift

    macOS display brightness controller using DDC and private display APIs

  6. throttled★ 2,998 · active · Python

    Linux daemon working around Intel firmware-induced throttling on Lenovo and other laptops

  7. RyzenAdj★ 2,445 · active · C

    Adjust power settings of Ryzen mobile processors via undocumented SMU calls

  8. ddcutil★ 1,422 · active · C

    Query and change monitor settings over DDC/CI and USB MCCS on Linux

  9. intel-undervolt★ 1,099 · dormant · C

    Undervolting and power-limit tool for Intel CPUs using undocumented MSRs

  10. nbfc-linux★ 792 · active · C

    C port of NoteBook FanControl for Linux using per-model EC register configs

  11. m1ddc★ 750 · active · Objective-C

    CLI to control external displays via DDC on Apple Silicon Macs

  12. ddccontrol★ 726 · active · Rust

    Linux DDC/CI monitor control tool with GUI and monitor database

  13. thinkfan★ 716 · active · C

    Fan control daemon for ThinkPads and other hwmon systems

  14. acer-predator-turbo-and-rgb-keyboard-linux-module★ 630 · active · C

    Linux module for Acer Predator turbo mode and RGB keyboard

  15. it87★ 623 · active · C

    Linux driver for ITE Super I/O hardware monitoring chips

  16. ZenStates-Linux★ 569 · slowing · Python

    Tool to change AMD Zen P-states via MSRs on Linux

  17. chromebook-linux-audio★ 561 · active · Shell

    Script that enables audio on many Chromebooks running mainstream Linux distributions

  18. snd_hda_macbookpro★ 504 · active · C

    Linux audio driver for Cirrus codecs in Intel MacBook Pros

  19. msi-ec★ 501 · active · C

    Linux kernel driver for MSI laptop EC features (fans, battery, LEDs)

  20. SMUDebugTool★ 496 · active · C#

    Windows tool to inspect AMD SMU, PCI and MSR registers

  21. zenpower★ 491 · dormant · C

    Linux hwmon driver for AMD Zen CPU sensors

  22. nct6687d★ 480 · active · C

    Linux driver for Nuvoton NCT6687-R Super I/O sensors

  23. fw-fanctrl★ 466 · active · Python

    Fan curve service for Framework laptops using the EC via ectool

  24. tpacpi-bat★ 455 · slowing · Perl

    ThinkPad battery charge threshold control via undocumented ACPI calls

  25. isw (Ice-Sealed Wyvern)★ 413 · dormant · Python

    Fan control for MSI laptops via the embedded controller

  26. Huawei-WMI★ 288 · active · C

    Linux WMI driver for Huawei MateBook hotkeys, battery protection and fn-lock

  27. samsung-galaxybook-extras★ 279 · slowing · ASL

    Linux platform driver for Samsung Galaxy Book fan, keyboard backlight and performance modes

  28. asus-wmi-sensors★ 264 · dormant · C

    Linux hwmon driver for ASUS Ryzen/Threadripper motherboard sensors via WMI

  29. ddcui★ 264 · active · C++

    Qt graphical front end for ddcutil monitor control

  30. dell-bios-fan-control★ 256 · dormant · C

    Toggle Dell BIOS fan control via undocumented SMM calls

  31. monitorcontrol (Python)★ 244 · active · Python

    Python library for monitor control via DDC/CI on Linux and Windows

  32. i8kutils★ 232 · dormant · C

    Fan and SMM utilities for Dell laptops

  33. galaxy-book2-pro-linux★ 195 · slowing · ASL

    Notes and utilities for Linux on the Samsung Galaxy Book2 Pro

  34. zcfan★ 166 · active · C

    Zero-configuration fan daemon for ThinkPads via thinkpad_acpi

  35. samsung-galaxy-book-linux-fixes★ 165 · active · Shell

    Linux fixes for Samsung Galaxy Book 3/4/5 webcam, speakers and microphone

  36. framework-system★ 153 · active · Rust

    Rust tool and library to talk to the Framework laptop EC and peripherals

  37. iptsd★ 152 · active · C++

    Userspace daemon for Intel Precise Touch & Stylus on Surface devices

  38. framework-laptop-kmod★ 149 · slowing · C

    Linux kernel module exposing Framework laptop EC features (fans, LEDs, battery)

  39. cros-keyboard-map★ 140 · active · Python

    Generates keyd configs so Chromebook top-row keys work under normal Linux distros

  40. mbp2018-bridge-drv★ 138 · dormant · C

    Reverse engineered Apple T2 BCE driver for keyboard, trackpad and audio on 2018+ MacBooks

  41. Reverse_Engineering_BQ20z70_Laptop_BMS★ 134 · dormant · C

    Reverse engineering the BQ20z70 laptop battery management system

  42. zenbook-duo-2024-linux★ 128 · active · Shell

    Linux support for the ASUS Zenbook Duo 2024 dual screens, keyboard backlight and battery limit

  43. tiny-dfr★ 124 · active · Rust

    Minimal dynamic function row daemon for the MacBook Touch Bar on Linux

  44. dell-powermanager★ 115 · active · Dart

    Cross-platform Dell Power Manager reimplementation

  45. surface-aggregator-module★ 106 · slowing · C

    Linux drivers for the Microsoft Surface System Aggregator Module embedded controller

  46. Open-Source-PC110★ 98 · active · HTML

    Reconstructing the missing technical documentation of the IBM PC110 palmtop

  47. asus-fan★ 97 · archived · C

    Linux kernel module to read and set fan speeds on ASUS Zenbooks

  48. qnap8528★ 93 · active · C

    Linux kernel module exposing the ITE8528 embedded controller on QNAP devices

  49. IdeapadToolkit★ 91 · slowing · C#

    Lightweight Lenovo Vantage alternative for the IdeaPad Flex 5

  50. Framework EC (DHowett)★ 88 · slowing · C

    Framework Laptop embedded controller firmware fork with ectool used by fan-control tools

  51. surface-control★ 84 · active · Rust

    CLI to control Surface performance mode, dGPU power and clipboard detach on Linux

  52. Galaxy-Book4-Edge-linux★ 80 · active · Python

    Linux driver and RE tools for the Samsung Galaxy Book4 Edge

  53. asus-ec-sensors★ 78 · active · C

    Linux hwmon driver reading ASUS motherboard sensors from the embedded controller

  54. predator-sense★ 77 · active · Rust

    Unofficial Linux hardware control for Acer Predator/Helios/Nitro laptops

  55. yogabook-c930-linux-eink-driver★ 71 · dormant · C

    Reverse engineered Linux driver for the Lenovo Yoga Book C930 e-ink keyboard

  56. GhostDeck★ 68 · active · C#

    Driver-free power and fan control for MSI laptops via EC/WMI

  57. turbomem★ 60 · dormant · C

    Linux driver for the Intel Turbo Memory Controller PCIe card

  58. init-headphone★ 57 · dormant · M4

    Initializes the headphone amplifier found in some Clevo laptops on Linux

  59. HallMonitor★ 45 · dormant · Java

    Clean-room Galaxy S4 View Cover driver

  60. surface-dtx-daemon★ 45 · active · Rust

    Userspace daemon for the Surface Book detachment (DTX) system on Linux

  61. qc71_laptop★ 40 · slowing · C

    Linux driver for QC71-based (Tongfang/XMG/Eluktronics) laptop EC features

  62. MsiEcRamEditor★ 26 · dormant · C#

    Edit and dump MSI laptop EC RAM via ACPI-WMI

  63. OpenInputBridge★ 25 · active · C++

    Clean-room, protocol-compatible reimplementation of the Interception keyboard/mouse driver

  64. samsung-galaxy-book5-linux-drivers★ 20 · active · C

    Linux drivers, hotkey patches and firmware fixes for the Samsung Galaxy Book5

  65. t2-better-audio★ 18 · dormant · Shell

    Audio configuration files for Apple T2 Macs running Linux

  66. LOQ-24-zone-RGB-controller★ 16 · active · Rust

    Controller for all 24 RGB zones of Lenovo Legion LOQ keyboards

  67. asus-fan-control-ec★ 14 · active · C

    Fan control for ASUS devices on Linux via direct EC access

  68. zenbook-touchpad-i2c★ 13 · dormant · JavaScript

    Reverse-engineered I2C HID protocol of ASUS ZenBook touchpads

  69. gigactl★ 10 · active · Python

    Fan and RGB keyboard control for Gigabyte/Clevo laptops on Linux, reverse-engineered

  70. TPFanCtrl2★ 7 · active · C++

    ThinkPad fan control for Windows 10/11

  71. Mechrevo-Xingyao-14★ 6 · active

    Reverse-engineering reference for an Insyde BIOS and ITE EC laptop

  72. VSL-DSP★ 6 · active · HTML

    Linux kernel module for PreSonus AudioBox VSL USB audio interfaces

  73. mipi-fixes-x1-aura★ 5 · active · Python

    Linux camera tuning for the ThinkPad X1 IMX471 sensor, recovered from the Intel Windows driver

  74. acpi4asus★ 0

    ASUS laptop ACPI extras driver and tools for hotkeys, LEDs and backlight

  75. asusctl★ 0

    Control daemon for ASUS ROG/TUF laptops on Linux (fans, LEDs, profiles)

  76. hdaps★ 0

    Driver for the ThinkPad Hard Drive Active Protection System accelerometer

  77. i8kutils★ 0

    Fan control and monitoring utilities for Dell laptops via the SMM BIOS

  78. ibm-acpi★ 0

    ThinkPad ACPI extras driver, predecessor of the Linux thinkpad_acpi module

  79. ironkey_lp50_linux★ 0

    Reverse-engineered Linux driver for the IronKey Locker+ LP50 USB drive

  80. omnibook★ 0

    Kernel module for HP OmniBook, Pavilion and Toshiba laptop hardware features

  81. tpctl★ 0

    ThinkPad configuration tools using the reverse-engineered SMAPI BIOS interface

  82. xrite-devel★ 0

    Reverse engineering the X-Rite embedded colour calibration sensor in laptops