Document which bits are clutch and brake, respectively
[can2joy.git] / README.md
1 can2joy
2 ========
3
4 Use your car as a life-sized controller for your racing game on Linux!
5
6
7 Compatible cars
8 ----------------
9
10 At the moment, only the following model has been tested:
11
12   - Volkswagen Golf Mk 6
13
14
15 Compatible adapters
16 --------------------
17
18 Any CAN adapter supported by Linux' Socketcan stack should work.
19
20 It has been tested using:
21
22   - 8devices USB2CAN
23
24
25 Compatible games
26 -----------------
27
28 Any game should work.
29
30 However my favorite demo tool is Need For Speed III, running in Wine.
31
32 Yes, a 1998 era Windows game, running on Wine on Linux, steered by an
33 actual car.
34
35
36 How to connect this to a car
37 -----------------------------
38
39 In order for can2joy to receive updates about the wheel, it needs to be
40 connected to a place in the car where this information flows freely.
41
42 BE AWARE THAT CONNECTING FOREIGN EQUIPMENT TO YOUR CAR IS ENTIRELY AT
43 YOUR OWN RISK. YOU'RE ON YOUR OWN IF YOUR CAR CRASHES, BURNS, EXPLODES,
44 OR DRIVES OVER YOUR CAT.
45
46 In a VW Golf Mk6, the OBD II connector is silent unless information is
47 requested. A relatively safe way of accessing this is the Infotainment
48 CAN bus, which connects to the radio/head unit, the Bluetooth module,
49 and the MDI/Media-In module. It's up to you to figure out how to connect
50 the car's CAN-High, CAN-Low, and GND to your CAN adapter.
51
52 On the software side, all we have to do there is to listen passively:
53
54     ip link set can0 down
55     ip link set can0 type can bitrate 100000
56     ip link set can0 type can listen-only on
57     ip link set can0 up
58
59 Then, you're ready to run can2joy.
60
61
62 How to run can2joy
63 -------------------
64
65 First, ensure that:
66   - your Linux kernel supports uinput
67   - the uinput module is loaded
68   - /dev/uinput exists
69   - your user has access to /dev/uinput
70
71 Then:
72
73     make
74     ./can2joy can0
75
76 ...where can0 is to be replaced by the CAN interface you've
77 connected to your car.
78
79
80 License
81 --------
82
83 GNU General Public License 2
84
85 NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED.
86 TINKERING WITH CARS IS AT YOUR OWN RISK.
87
88
89 Authors
90 --------
91
92 Copyright 2015-2018, Max Staudt