hackbnw / faustus

Experimental unofficial Linux platform driver module for ASUS TUF Gaming series laptops
GNU General Public License v2.0
152 stars 38 forks source link

User space communication #66

Open JafarAkhondali opened 3 years ago

JafarAkhondali commented 3 years ago

Hi, inspired by your project, I've implemented your project for Acer predator Helios 300 series. My question is about the location of the bridge for user space communication with kernel module. You mentioned the code will be most likely to use "leds.h" subsystem, how ever that doesn't seem to support complex input forms like RGB.

Is there anything you can suggest? currently I'm thinking about creating a block device under "/dev". What do you think?

hackbnw commented 3 years ago

Hi, nice job. Cool that it was useful to you.

There was no support it. This is the reason why RGB backlight is the only functionality, which is not in the mainline. The feature is called multi-color framework and have been in works for some time. I've been looking for updates just now and it seems that it actually had been merged somewhere last year.

https://www.kernel.org/doc/html/v5.12/leds/leds-class-multicolor.html https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.9-Multi-Color-LEDs https://kernelnewbies.org/Linux_5.9#LEDs

It might still be tricky to support all features that hardware provides. I haven't looked at how it is implemented myself yet, but it was the way to go suggested by maintainers.