Slackware

hidapi

ページ作成日
ページ更新日

概要

hidapiは、USB及びBluetooth HIDクラスデバイスと通信するためのマルチプラットフォームCライブラリです。
元々はAlan Ott(signal11)によって開発され、現在はlibusb/hidapiとして開発が継続されています。

特徴

マルチプラットフォーム対応
Windows、Linux、FreeBSD、macOSで動作します。
複数のバックエンド
Linuxではhidraw(カーネルのhidrawドライバ使用)とlibusb(libusb-1.0使用)の2つのバックエンドを選択できます。hidrawはUSBとBluetooth両方に対応、libusbはUSBのみ対応です。
軽量な設計
共有ライブラリ(.so)としてビルドするか、ソースファイルを直接アプリケーションに組み込むことも可能です。
豊富な上位プロジェクト
Python向けのcython-hidapiや、liquidctlなどのデバイス制御ツールから利用されています。

公式サイト

hidapi(GitHub)

依存関係

このパッケージをビルドするには、以下のパッケージが必要です。
すべてSlackware標準パッケージに含まれています。

Make it by yourself!

まずは、自分のホームディレクトリにソースをダウンロードし、展開します。


cd ~/Downloads
wget https://github.com/libusb/hidapi/archive/refs/tags/hidapi-0.14.0.tar.gz
tar xvf hidapi-0.14.0.tar.gz

CMakeでビルドディレクトリを作成し、configureします。


cd hidapi-hidapi-0.14.0
mkdir build && cd build
cmake \
  -DCMAKE_INSTALL_PREFIX=/usr \
  -DCMAKE_BUILD_TYPE=Release \
  -DCMAKE_INSTALL_LIBDIR=lib64 \
  -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
  ..

CMakeオプション

主要なオプションの説明です。

-DCMAKE_INSTALL_PREFIX=/usr
インストール先のプレフィックスを/usrに設定します。
-DCMAKE_BUILD_TYPE=Release
最適化されたリリースビルドを行います。
-DCMAKE_INSTALL_LIBDIR=lib64
ライブラリのインストール先を/usr/lib64に設定します(x86_64環境向け)。
-DCMAKE_POLICY_VERSION_MINIMUM=3.5
hidapiのCMakeLists.txtが古いCMakeバージョンを要求しているため、CMake 4.0以降ではこのオプションが必要です。

makeします。


/usr/bin/time -v make -j$(nproc)

[画面出力を省略]

        Command being timed: "make -j12"
        User time (seconds): 0.46
        System time (seconds): 0.06
        Percent of CPU this job got: 182%
        Elapsed (wall clock) time (h:mm:ss or m:ss): 0:00.28
        Average shared text size (kbytes): 0
        Average unshared data size (kbytes): 0
        Average stack size (kbytes): 0
        Average total size (kbytes): 0
        Maximum resident set size (kbytes): 49304
        Average resident set size (kbytes): 0
        Major (requiring I/O) page faults: 74
        Minor (reclaiming a frame) page faults: 33466
        Voluntary context switches: 401
        Involuntary context switches: 10
        Swaps: 0
        File system inputs: 17960
        File system outputs: 672
        Socket messages sent: 0
        Socket messages received: 0
        Signals delivered: 0
        Page size (bytes): 4096
        Exit status: 0

仮インストールディレクトリにインストールします。


make install DESTDIR=/tmp/hidapi-0.14.0

ドキュメントをインストールします。


mkdir -p /tmp/hidapi-0.14.0/usr/doc/hidapi-0.14.0
cp -a ../LICENSE*.txt ../README.md ../AUTHORS.txt \
  /tmp/hidapi-0.14.0/usr/doc/hidapi-0.14.0/

パッケージを作成します。


cd /tmp/hidapi-0.14.0
sudo makepkg --linkadd y --chown n ../hidapi-0.14.0-x86_64-1.txz

Slackware package ../hidapi-0.14.0-x86_64-1.txz created.

あとは、パッケージをインストールすれば完了です。


cd ..
sudo installpkg hidapi-0.14.0-x86_64-1.txz