Difference between revisions of "RPi"

From GIMX
Jump to: navigation, search
Line 62: Line 62:
 
make INSTALL_HDR_PATH=dest headers_install
 
make INSTALL_HDR_PATH=dest headers_install
 
sudo cp dest/include/linux/uhid.h /usr/include/linux/-->
 
sudo cp dest/include/linux/uhid.h /usr/include/linux/-->
 
== GIMX installation == <!--T:7-->
 
<pre>sudo apt-get install gdebi
 
wget http://gimx.fr/download/gimx-raspbian -O gimx.deb
 
sudo gdebi gimx.deb</pre>
 
 
<!--T:8-->
 
If you get a "Dependency is not satisfiable: ..." error message, upgrade Raspbian:
 
<pre>sudo apt-get update && sudo apt-get upgrade</pre>
 
 
== Stop/disable triggerhappy service == <!--T:9-->
 
[https://github.com/wertarbyte/triggerhappy/blob/master/README Triggerhappy] is a daemon that opens every input device for reading, and that consumes a few percent of the CPU time.
 
 
<!--T:10-->
 
It seems a good idea to stop it while running GIMX.
 
 
<!--T:11-->
 
To stop triggerhappy:
 
sudo service triggerhappy stop
 
To disable triggerhappy:
 
sudo update-rc.d triggerhappy disable
 
 
== Run GIMX == <!--T:12-->
 
Read the [[Quick_Start|Quick start page]] to learn how to run GIMX through the GUI.<br />
 
A good idea is to run GIMX directly from a terminal, without starting a graphical session.<br />
 
This can be done over the network, using a ssh client.<br />
 
Ideally, GIMX should be launched without using the Ethernet port (because it is connected on the USB bus).<br />
 
More details on command line options on [[Command_line|this page]].<br />
 
=== Bluetooth ===
 
In a terminal:
 
gimx -t Sixaxis -c <config file> -b <PS3 bdaddr>
 
The dongle address has to be changed before running the above commands.
 
 
=== DIY USB adapter === <!--T:13-->
 
In a terminal:
 
gimx -c <config file> -p /dev/<ttyUSB port>
 
  
  
=== USB adapter using the on-board UART interface ===
+
== USB adapter using the on-board UART interface ==
  
==== Hardware requirements ====
+
=== Hardware requirements ===
  
 
The on-board UART runs at 0V/3.3V levels, and the AVR USB board has to run at 5V to operate at 16MHz (running at 3.3V would only allow to operate at 8MHz).<br />
 
The on-board UART runs at 0V/3.3V levels, and the AVR USB board has to run at 5V to operate at 16MHz (running at 3.3V would only allow to operate at 8MHz).<br />
Line 115: Line 79:
 
* Do not connect any other pin!
 
* Do not connect any other pin!
  
==== Sotware adjustments ==== <!--T:15-->
+
=== Sotware adjustments === <!--T:15-->
  
 
<!--T:17-->
 
<!--T:17-->
Line 140: Line 104:
 
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB0
 
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB0
 
</pre>
 
</pre>
 +
 +
== GIMX installation == <!--T:7-->
 +
<pre>sudo apt-get install gdebi
 +
wget http://gimx.fr/download/gimx-raspbian -O gimx.deb
 +
sudo gdebi gimx.deb</pre>
 +
 +
<!--T:8-->
 +
If you get a "Dependency is not satisfiable: ..." error message, upgrade Raspbian:
 +
<pre>sudo apt-get update && sudo apt-get upgrade</pre>
 +
 +
== Stop/disable triggerhappy service == <!--T:9-->
 +
[https://github.com/wertarbyte/triggerhappy/blob/master/README Triggerhappy] is a daemon that opens every input device for reading, and that consumes a few percent of the CPU time.
 +
 +
<!--T:10-->
 +
It seems a good idea to stop it while running GIMX.
 +
 +
<!--T:11-->
 +
To stop triggerhappy:
 +
sudo service triggerhappy stop
 +
To disable triggerhappy:
 +
sudo update-rc.d triggerhappy disable
 +
 +
== Run GIMX == <!--T:12-->
 +
Read the [[Quick_Start|Quick start page]] to learn how to run GIMX through the GUI.<br />
 +
A good idea is to run GIMX directly from a terminal, without starting a graphical session.<br />
 +
This can be done over the network, using a ssh client.<br />
 +
Ideally, GIMX should be launched without using the Ethernet port (because it is connected on the USB bus).<br />
 +
More details on command line options on [[Command_line|this page]].<br />
 +
=== Bluetooth ===
 +
In a terminal:
 +
gimx -t Sixaxis -c <config file> -b <PS3 bdaddr>
 +
The dongle address has to be changed before running the above commands.
 +
 +
=== DIY USB adapter === <!--T:13-->
 +
In a terminal:
 +
gimx -c <config file> -p /dev/<ttyUSB port>
  
 
</translate>
 
</translate>

Revision as of 21:46, 14 February 2016

Other languages:
Deutsch • ‎English • ‎français

Warning: RPi support should be considered as experimental. Be prepared to face issues if you try GIMX on the RPi.

GIMX can run on many Linux targets, and the the Raspberry Pi is one of them!

Tested setup

* Raspberry Pi: model B, 256MB
* Distro: Raspbian Jessie (2015-09-24)
* Self-powered USB hub: Belkin 7 ports F4U017 (self-powered = with an external power supply)
* Keyboard: n25te plugged on the USB hub
* Mouse: Logitech G500 plugged on the USB hub
* PS3: FAT - FW 4.41
* Bluetooth dongle: Pluscom BT20 (CSR Bluecore4-rom) plugged on the USB hub
* DIY USB adapter: Teensy 2.0 + CP2102 plugged on the USB hub

Firmware update

As early firmwares had severe USB issues it is recommended to update the firmware before using GIMX.
Updating the firmware may also be useful if you plan to use a Logitech force feedback wheel (the uhid kernel module was missing in earlier firmwares).
Type the following command:

sudo rpi-update

And don't forget to reboot:

sudo reboot

Tested Rpi firmware:

pi@raspberrypi ~ $ uname -a
Linux raspberrypi 4.1.9+ #819 PREEMPT Thu Oct 1 20:31:26 BST 2015 armv6l
GNU/Linux


USB adapter using the on-board UART interface

Hardware requirements

The on-board UART runs at 0V/3.3V levels, and the AVR USB board has to run at 5V to operate at 16MHz (running at 3.3V would only allow to operate at 8MHz).
Connecting the RPi and the AVR USB board directly may damage the hardware!
One cheap solution is to use a voltage divider:

  • Connect both GNDs
  • It's safe to connect the TXD pin of the RPi to the Rx pin of the AVR USB board (the GIMX firmwares configure the Rx pin as an input)
  • To connect the Tx pin of the AVR USB board to the RXD pin of the RPi, you'll need to convert the voltage level from 0..5V to 0..3.3V.

This can be done with a simple resistive divider:

Vin is the Tx pin of the AVR USB board, Vout is the RXD pin of the RPi, R1=2.2kΩ , R2=3.3kΩ

  • Do not connect any other pin!

Sotware adjustments

By default, the RPi sends debug messages on the UART port. To use it for GIMX, we should execute:

sudo raspi-config 

Then select:

"Advanced Options", "Serial", "No", "Finish"

Open the /boot/config.txt with the nano editor:

sudo nano /boot/config.txt

Add the following line at the end of the file:

init_uart_clock=8000000 

We will now install GIMX:

Create a symbolic link to make gimx-launcher find the port:
<pre>
sudo ln -s /dev/ttyAMA0 /dev/ttyUSB0

GIMX installation

sudo apt-get install gdebi
wget http://gimx.fr/download/gimx-raspbian -O gimx.deb
sudo gdebi gimx.deb

If you get a "Dependency is not satisfiable: ..." error message, upgrade Raspbian:

sudo apt-get update && sudo apt-get upgrade

Stop/disable triggerhappy service

Triggerhappy is a daemon that opens every input device for reading, and that consumes a few percent of the CPU time.

It seems a good idea to stop it while running GIMX.

To stop triggerhappy:

sudo service triggerhappy stop

To disable triggerhappy:

sudo update-rc.d triggerhappy disable

Run GIMX

Read the Quick start page to learn how to run GIMX through the GUI.
A good idea is to run GIMX directly from a terminal, without starting a graphical session.
This can be done over the network, using a ssh client.
Ideally, GIMX should be launched without using the Ethernet port (because it is connected on the USB bus).
More details on command line options on this page.

Bluetooth

In a terminal:

gimx -t Sixaxis -c <config file> -b <PS3 bdaddr>

The dongle address has to be changed before running the above commands.

DIY USB adapter

In a terminal:

gimx -c <config file> -p /dev/<ttyUSB port>