2013/06/26

Leap Motion on Arch Linux

Leap MotionをArch Linuxで利用する方法です。
Ubuntu向けに提供されているLeap Developer Kitを用います。

※本記事は、2013/06/26現在の情報です。変わらないと思いますが、念のため。
  • 執筆時において、Leap Motionは評価ボードとして一部開発者にのみ配布。また、開発者のみがLeap Developer Kit(ドライバ含)を入手可能。
  • Leap Developer Kit: 0.8.0 5300 Linux (執筆時最新版)
  • OS環境: Arch Linux 64bit (執筆時最新状態) + gnome 3
尚、Leap Developer Kitは、GUIとしてQtを使っているようなので、
Qt環境が必要でしょう...たぶん。(私はインストール済みなので。)

ちなみに...ドライバの動作環境のことに関連して、
同梱のREADMEには次のようなことが書かれています:
Q. How to install on another Linux distro such as CentOS?
A. At this time we are only supporting recent versions of Ubuntu. However, if
you'd like to port the package to another distro you probably have
sufficient tools at your disposal. To view the Debian package, unpack it
with the 'ar' and 'tar' commands and take a look. The 'alien' package
converter mentioned above may also come in handy.
ふむふむ...。ということではじめましょう。

まずは、Leap Developer Kit (Ubuntu向け)をダウンロードします。
(2013/06/26 現在、開発者アカウントでログインしないとダウンロードできません。)

次に、ダウンロードしたアーカイブを展開します。
$ tar zxvf Leap_Developer_Kit_0.8.0_5300_Linux.tar.gz 
$ cd Leap_Developer_Kit_0.8.0_5300_Linux/
$ ls
Examples  Leap-0.8.0-x64.deb  Leap-0.8.0-x86.deb  LeapSDK  README.txt

このように、抽出されたファイルはExamples、LeapSDK、ドライバ(debパッケージ)から構成されます。

このdebパッケージをさらに展開します。
本来であれば、debhelperが使えるはずなのですが、パッケージのコンフリクトで使えなかったため...。
また、alienを使って変換してもいいのですが、単純に展開するだけで良さそうだったので。

$ dpkg -x Leap-0.8.0-x64.deb Leap-0.8.0-x64/
$ cd Leap-0.8.0-x64/
$ ls -lR
.:
合計 8
drwxr-xr-x 3 xxxxxx xxxxxx 4096  6月 11 08:58 lib
drwxr-xr-x 5 xxxxxx xxxxxx 4096  6月 11 08:58 usr

./lib:
合計 4
drwxr-xr-x 3 xxxxxx xxxxxx 4096  6月 11 08:58 udev

./lib/udev:
合計 4
drwxr-xr-x 2 xxxxxx xxxxxx 4096  6月 11 08:58 rules.d

./lib/udev/rules.d:
合計 4
-rw-r--r-- 1 xxxxxx xxxxxx 390  6月  4 11:21 25-com-leapmotion-leap.rules

./usr:
合計 12
drwxr-xr-x 2 xxxxxx xxxxxx 4096  6月 11 08:58 bin
drwxr-xr-x 3 xxxxxx xxxxxx 4096  6月 11 08:58 lib
drwxr-xr-x 3 xxxxxx xxxxxx 4096  6月 11 08:58 share

./usr/bin:
合計 15720
-rwxr-xr-x 1 xxxxxx xxxxxx 2952848  6月 11 08:48 LeapControlPanel
-rwxr-xr-x 1 xxxxxx xxxxxx 2837968  6月 11 08:49 Recalibrate
-rwxr-xr-x 1 xxxxxx xxxxxx 2536248  6月 11 08:48 ScreenLocator
-rwxr-xr-x 1 xxxxxx xxxxxx 2833160  6月 11 08:49 Visualizer
-rwxr-xr-x 1 xxxxxx xxxxxx 4928312  6月 11 08:49 leapd

./usr/lib:
合計 4
drwxr-xr-x 2 xxxxxx xxxxxx 4096  6月 11 08:58 Leap

./usr/lib/Leap:
合計 54300
-rw-r--r-- 1 xxxxxx xxxxxx  2718432  6月 11 08:47 libLeap.so
-rw-r--r-- 1 xxxxxx xxxxxx  3038016  6月 11 08:58 libQtCore.so.4
-rw-r--r-- 1 xxxxxx xxxxxx   523792  6月 11 08:58 libQtDBus.so.4
-rw-r--r-- 1 xxxxxx xxxxxx 11352400  6月 11 08:58 libQtGui.so.4
-rw-r--r-- 1 xxxxxx xxxxxx  3431872  6月 11 08:58 libQtNetwork.so.4
-rw-r--r-- 1 xxxxxx xxxxxx  1042600  6月 11 08:58 libQtOpenGL.so.4
-rw-r--r-- 1 xxxxxx xxxxxx  2631072  6月 11 08:58 libQtScript.so.4
-rw-r--r-- 1 xxxxxx xxxxxx 26316256  6月 11 08:58 libQtWebKit.so.4
-rw-r--r-- 1 xxxxxx xxxxxx  4460008  6月 11 08:58 libQtXmlPatterns.so.4
-rw-r--r-- 1 xxxxxx xxxxxx    73768  6月 11 08:58 libusb-1.0.so.0

./usr/share:
合計 4
drwxr-xr-x 3 xxxxxx xxxxxx 4096  6月 11 08:58 Leap

./usr/share/Leap:
合計 196
drwxr-xr-x 2 xxxxxx xxxxxx  4096  6月 11 08:58 PreferencePane
-rw-r--r-- 1 xxxxxx xxxxxx 50901  6月  4 11:21 app0.dat
-rw-r--r-- 1 xxxxxx xxxxxx 76876  6月  4 11:21 app1.dat
-rw-r--r-- 1 xxxxxx xxxxxx 65515  6月  4 11:21 app2.dat

./usr/share/Leap/PreferencePane:
合計 0
debパッケージの中身(パッケージの定義ファイル等を除く一連のファイル)は、以上のような構造になっていました。

大まかに書くと...
  • usrディレクトリ: バイナリとライブラリ類
  • libディレクトリ: udevのルールファイル
となっています。

では、以上のファイルをシステムにコピーします。
$ sudo cp -ir usr/* /usr/local/
$ sudo cp -ir lib/* /lib/

次に、"plugdev"というグループを作成し、自分のアカウント(xxxx)を"plugdev"グループに所属させます。
$ sudo groupadd plugdev
$ sudo usermod -aG plugdev xxxx
$ exec su -l xxxx

これで完了です。

あとは、Leap Motionを接続し、プログラムを起動するだけです。
$ LeapControlPanel
...これで...動作するはずなのですが、
通知領域のアイコンが黒色のまま、色が変わらない...(汗;)。

うーむ...。現行バージョンでは leapdがデーモンになっていますので、これを実行すると...。
$ leapd
[00:46:49] [Info] WebSocket server started
[00:46:54] [Info] Leap Motion Controller detected: xxxxxxxxxx
[00:46:55] [Info] Processing initialized
動いてるようですね。
ですので、leapdを実行したままの状態で LeapControlPanel を起動してみると...。
$ LeapControlPanel

うまくいきました( ´∀`)b!

また、Visualizerなどもコンソールから起動できます。
$ Visualizer
Leap MotionのVisualizerを起動したところ
以上です♪

p.s.

Arch LinuxのAURに"leap"が登録されていました。
もちろん現時点ではまだ、SDKを誰でもダウンロードできるわけではありませんので、アーカイブの展開を楽にしてくれる程度ですが。
でも、あとちょうど1ヶ月もすると、Leap Motionが一般発売されますね。
どんな世界が待っているのか、楽しみです!

1 件のコメント:

  1. 面白いですよね、Leap Motion
    8月開講のSEゼミというインターンでLeap Motionを扱いますよ!
    http://www.seplus.jp/sezemi

    返信削除

お気軽にコメントをお寄せください m(_ _)m♪
"コメントの記入者"欄から[名前/URL]を選ぶと、登録なしでコメント投稿していただけます。