1
0
mirror of https://github.com/MatMoul/g810-led.git synced 2024-12-23 01:06:11 +00:00
g810-led/INSTALL.md
Kevin Pearson e5193b5985 Implement device IO as a shared library
Provide make targets and build configuration to create a shared object
for other systems/applications to use to control keyboard LEDs without
 the need for instantiating the g810-led process.

Provide make targets for installing library and development files into
environments, such as the current system or package builders.

Currently preserves precious behavior of building g810-led binary as
statically linked. Provides an alternative build target of "bin-linked"
which will create a dynamically linked variant.

Signed-off-by: Kevin Pearson <pearson.kevin.m@gmail.com>
2017-04-10 16:07:08 -04:00

64 lines
2.0 KiB
Markdown

# Installation :</br>
## Build dependencies :</br>
* git
* g++
* make
## Dependencies :</br>
* hidapi or libusb
## hidapi vs libusb :</br>
hidapi is a newer implementation but needs more testing.</br>
hidapi is more responsive than libusb (~20ms vs ~150ms).</br>
hidapi seem not work on CentOS, writing on hidraw is not allowed.</br>
hidapi is recommended but if you encounter problem on your system, switch to libusb.</br>
## Installation by repos :</br>
ArchLinux (aur) :</br>
`yaourt -S g810-led-git` # with yaourt</br>
`pacaur -S g810-led-git` # with pacaur</br>
## Installation of dependencies :</br>
ArchLinux :</br>
`sudo pacman -S git gcc make hidapi` # for hidapi</br>
`sudo pacman -S git gcc make libusb` # for libusb</br>
Debian :</br>
`sudo apt-get install git g++ make libhidapi-dev` # for hidapi</br>
`sudo apt-get install git g++ make libusb-1.0-0-dev` # for libusb</br>
Fedora :</br>
`sudo dnf install git make gcc-c++ hidapi-devel` # for hidapi</br>
`sudo dnf install git make gcc-c++ libusbx-devel` # for libusb</br>
## Installation :</br>
`git clone https://github.com/MatMoul/g810-led.git`</br>
`cd g810-led`</br>
`make` # for hidapi</br>
`make LIB=libusb` # for libusb</br>
`sudo make install`</br>
`make install-lib` to install the libg810-led library.</br>
`make install-dev` to install the libg810-led library and headers for development.</br>
## Building the library :</br>
The library is built by default when running the `make` (default target "all").</br>
To specifically build the library as a standalone component: </br>
`make lib`</br>
## Update :</br>
Same as install, but your profile and reboot files are preserved.</br>
## Uninstall :</br>
`sudo make uninstall`</br>
## Boot profiles :</br>
If your system use systemd, g810-led has 2 systemd units (g810-led and g810-led-reboot).</br>
These 2 units set the keyboard profile on boot and reboot.</br>
Profiles are stored in /etc/g810-led :</br>
* /etc/g810-led/profile
* /etc/g810-led/reboot
Samples can be found in /etc/g810-led/samples.</br>