JafarAkhondali / acer-predator-turbo-and-rgb-keyboard-linux-module

Linux kernel module to support Turbo mode and RGB Keyboard for Acer Predator notebook series
GNU General Public License v3.0
337 stars 59 forks source link

Refactor project structure #156

Open JafarAkhondali opened 3 weeks ago

JafarAkhondali commented 3 weeks ago

I created this project only because Linux kernel didn't accept the RGB functionality as it wasn't standard, but it got more attention than I expected. The project designed like this:

  1. Cloned (~2021) the acer-wmi.c file from Linux kernel: https://github.com/torvalds/linux/blob/master/drivers/platform/x86/acer-wmi.c
  2. Modified the driver to support RGB and turbo
  3. Then on installation, the installer unload the acer driver(acer-wmi) and installs this driver(facer)

Main issues with this approach is:

  1. This project doesn't receive updates from Linux kernel
  2. It's harder to extract parts of this code to be used in Linux kernel

For example, fan control is now in progress to be merged in Linux kernel by other people: https://github.com/JafarAkhondali/acer-predator-turbo-and-rgb-keyboard-linux-module/issues/152

But we can't use that.

There are two things we can do, as baby steps:

  1. Sync facer.c with https://github.com/torvalds/linux/blob/master/drivers/platform/x86/acer-wmi.c to have latest features
  2. Instead of cloning whole code, save the implemented features as patch files(this makes some issues with contributions but I have no other ideas how to properly stay up to date with kernel upstream for a single file).

More help is required for this part.