mirror of https://github.com/nirenjan/libx52.git
90 lines
2.2 KiB
Markdown
90 lines
2.2 KiB
Markdown
Installation instructions for x52pro-linux
|
|
==========================================
|
|
|
|
Build has been tested on the following operating systems (x86-64 only):
|
|
|
|
* Ubuntu 18.04 LTS
|
|
* Ubuntu 20.04 LTS
|
|
* OS X 10.13.6
|
|
|
|
# Prerequisites
|
|
|
|
## Required Packages
|
|
|
|
* automake
|
|
* autoconf
|
|
* autopoint
|
|
* gettext
|
|
* hidapi
|
|
* libtool
|
|
* libusb-1.0 + headers
|
|
* pkg-config
|
|
* python3 (3.6 or greater)
|
|
|
|
### Installation instructions
|
|
|
|
| Platform | Install instructions |
|
|
| -------- | -------------------- |
|
|
| Ubuntu | `sudo apt-get install automake autoconf gettext autopoint libhidapi-dev libtool libusb-1.0-0-dev pkg-config python3` |
|
|
| MacOS + Homebrew | `brew install automake autoconf gettext hidapi libtool libusb pkg-config python3` |
|
|
| Arch Linux | `pacman -S base-devel libusb hidapi python` |
|
|
|
|
## Optional Packages
|
|
|
|
If you want to generate HTML documentation for the library, and manpages for
|
|
the utilities, you will need the following packages:
|
|
|
|
* doxygen
|
|
* rsync
|
|
|
|
You will also need the `cmocka` package to run the unit tests.
|
|
|
|
# Installation Instructions
|
|
|
|
1. Clone the repository
|
|
2. Run autogen.sh
|
|
3. Run the following commands:
|
|
```
|
|
./configure --prefix=/usr
|
|
make && sudo make install
|
|
```
|
|
|
|
## Configuration options
|
|
|
|
### udev
|
|
|
|
The configuration system should automatically detect the udev rules directory,
|
|
but you can override it by using the following argument to `configure`:
|
|
|
|
```
|
|
--with-udevrulesdir=/path/to/udev/rules.d
|
|
```
|
|
|
|
### Input group
|
|
|
|
The udev rules that are installed provide read/write access to members of the
|
|
input devices group. This defaults to `plugdev`, but can be modified using
|
|
the following argument to `configure`:
|
|
|
|
```
|
|
--with-input-group=group
|
|
```
|
|
|
|
### Systemd support
|
|
|
|
The X52 daemon can run either as a foreground process, or it can daemonize
|
|
itself to run in the background. Typical deployments with systemd will have it
|
|
run in the foreground, and disable timestamps in the logs, since those are
|
|
inserted automatically by journald.
|
|
|
|
Systemd support is enabled by default, but can be disabled with the
|
|
`--disable-systemd` argument to `configure`
|
|
|
|
It is also possible to configure the directory in which the service file is
|
|
installed with the following option. This is ignored if you have specified
|
|
`--disable-systemd`.
|
|
|
|
```
|
|
--with-systemdsystemunitdir=/path/to/systemd/system
|
|
```
|