Difference between revisions of "Development on Linux"
Line 29: | Line 29: | ||
<!--T:15--> | <!--T:15--> | ||
sudo make install | sudo make install | ||
+ | |||
+ | ==Set the setuid== | ||
+ | |||
+ | A few gimx binaries need root priviledges. | ||
+ | |||
+ | chmod u+s /usr/bin/gimx /usr/bin/sixaddr /usr/bin/bdaddr /usr/bin/hcirevision | ||
==Set Input Device Permissions== <!--T:16--> | ==Set Input Device Permissions== <!--T:16--> |
Revision as of 08:22, 5 June 2014
This wiki explains how to compile GIMX from a Linux terminal.
Contents
Install development packages
sudo apt-get install git g++ libwxgtk2.8-dev libbluetooth-dev libglib2.0-dev libxml2-dev libusb-dev libusb-1.0-0-dev libncursesw5-dev gettext xterm xdg-utils libmhash-dev libcurl4-gnutls-dev
On Fedora: yum -y install wxGTK-devel bluez-libs-devel glib2-devel libxml2-devel libXi-devel libusb-devel (to be completed)
Download GIMX sources
git clone -b master --single-branch --depth 1 https://github.com/matlo/GIMX.git
Compile
cd GIMX make -j 2
Replace "2" with your number of CPU cores.
Install
sudo make install
Set the setuid
A few gimx binaries need root priviledges.
chmod u+s /usr/bin/gimx /usr/bin/sixaddr /usr/bin/bdaddr /usr/bin/hcirevision
Set Input Device Permissions
One way to give read permissions to GIMX is to create a special group, change /dev/input/event* group ownership to that group, and then make the gimx binaries setgid to that group.
sudo su groupadd -f input echo "KERNEL==\"event*\", NAME=\"input/%k\", MODE:=\"660\", GROUP=\"input\"" > /etc/udev/rules.d/99-gimx-input.rules echo "KERNEL==\"js*\", NAME=\"input/%k\", MODE:=\"664\", GROUP=\"input\"" >> /etc/udev/rules.d/99-gimx-input.rules chgrp -f input /dev/input/event* /dev/input/js* chgrp input /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial chmod g+s /usr/bin/gimx-config /usr/bin/gimx-fpsconfig /usr/bin/gimx-bluetooth /usr/bin/gimx-serial exit