Difference between revisions of "Logitech G25 support"

From VDrift
Jump to: navigation, search
m (Update categories)
 
(16 intermediate revisions by 2 users not shown)
Line 1: Line 1:
VDrift includes a tool used to change G25 modes.  The tool can be found in VDrift/tools/G25manage.  The tool requires libusb development headers to be installed (package libusb-dev on ubuntu intrepid, for example).  Run make to compile the tool, then run:
+
==Windows==
  ./G25manage --nativemode
+
The G25 should be fully supported in Windows without any special steps.
 +
 
 +
==Linux==
 +
When initially plugged in, the G25 will be in compatibility mode, which restricts the steering range and disables the clutch pedal and some of the gears on the H-shifter.  VDrift includes two tools that can be used to change G25 modes.  Either tool can be used; use whichever tool works the best for you.
 +
If you want to use force feedback, you'll need to patch your kernel because when set to native mode, the G25 change its product id, and this product id is not known yet by the kernel ( have a look here [[Enabling force feedback in kernel]])
 +
 
 +
===usbtool===
 +
The tool can be found in '''tools/usbtool-0.1.tar.gz'''.  The tool requires libusb development headers to be installed (package libusb-dev on ubuntu intrepid, for example) as well as the swig package.  Run <code>./build.sh</code> and then run <code>./usbtool</code> to see the options available.  To set the wheel to native mode and the range to 900 degrees, run:
 +
  sudo ./usbtool g25-set-range-wheel-900
 
and
 
and
  ./G25manage --range 900
+
  sudo ./usbtool g25-set-extended-mode
 +
This will likely disconnect the joystick driver.  To reconnect it run:
 +
sudo rmmod joydev;sudo rmmod usbhid;sudo modprobe usbhid
 +
 
 +
===G25manage===
 +
The tool can be found in '''tools/G25manage'''.  The tool requires libusb development headers to be installed (package libusb-dev on ubuntu intrepid, for example).  Run <code>make</code> to compile the tool, then run:
 +
sudo ./G25manage --nativemode
 +
and
 +
sudo ./G25manage --range 900
 
The wheel should now support the entire turning radius as well as the clutch pedal.
 
The wheel should now support the entire turning radius as well as the clutch pedal.
 +
 +
===LTWheelConf===
 +
LTWheelConf is a new tool based on G25manage: https://github.com/TripleSpeeder/LTWheelConf
 +
 +
===Automatically enable native mode===
 +
If your distribution uses udev (such as Ubuntu), you can put this in '''/etc/udev/rules.d/90-g25-wheel.rules''' to automatically run G25manage when the wheel is plugged in:
 +
 +
SUBSYSTEM!="usb", GOTO="g25_rules_end"
 +
ACTION!="add", GOTO="g25_rules_end"
 +
 +
ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c294", RUN+="/usr/local/bin/G25manage --nativemode"
 +
#ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --range 900"
 +
LABEL="g25_rules_end"
 +
 +
# for a joystick detected by the kernel event interface, with a model name "G25_Racing_Wheel change the permissions on the device file
 +
# and add a symlink to the event device file
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", SYMLINK+="input/G25event"
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", MODE="0664", GROUP="games"
 +
 +
# No deadzone for the wheel on the G25 in native mode
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=0"
 +
# No deadzone for the clutch pedal on the G25 in native mode
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=1"
 +
# No deadzone for the break pedal on the G25 in native mode
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=2"
 +
# No deadzone for the throttle pedal on the G25 in native mode
 +
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=5"
 +
 +
After creating that file and copying the G25manage binary to '''/usr/local/bin''', run <code>/etc/init.d/udev reload</code> (or <code>service udev reload</code> on Ubuntu karmic) and you no longer have to manually run G25manage.
 +
 +
[[Category:Configuration]]

Latest revision as of 03:26, 1 September 2012

Windows

The G25 should be fully supported in Windows without any special steps.

Linux

When initially plugged in, the G25 will be in compatibility mode, which restricts the steering range and disables the clutch pedal and some of the gears on the H-shifter. VDrift includes two tools that can be used to change G25 modes. Either tool can be used; use whichever tool works the best for you. If you want to use force feedback, you'll need to patch your kernel because when set to native mode, the G25 change its product id, and this product id is not known yet by the kernel ( have a look here Enabling force feedback in kernel)

usbtool

The tool can be found in tools/usbtool-0.1.tar.gz. The tool requires libusb development headers to be installed (package libusb-dev on ubuntu intrepid, for example) as well as the swig package. Run ./build.sh and then run ./usbtool to see the options available. To set the wheel to native mode and the range to 900 degrees, run:

sudo ./usbtool g25-set-range-wheel-900

and

sudo ./usbtool g25-set-extended-mode

This will likely disconnect the joystick driver. To reconnect it run:

sudo rmmod joydev;sudo rmmod usbhid;sudo modprobe usbhid

G25manage

The tool can be found in tools/G25manage. The tool requires libusb development headers to be installed (package libusb-dev on ubuntu intrepid, for example). Run make to compile the tool, then run:

sudo ./G25manage --nativemode

and

sudo ./G25manage --range 900

The wheel should now support the entire turning radius as well as the clutch pedal.

LTWheelConf

LTWheelConf is a new tool based on G25manage: https://github.com/TripleSpeeder/LTWheelConf

Automatically enable native mode

If your distribution uses udev (such as Ubuntu), you can put this in /etc/udev/rules.d/90-g25-wheel.rules to automatically run G25manage when the wheel is plugged in:

SUBSYSTEM!="usb", GOTO="g25_rules_end"
ACTION!="add", GOTO="g25_rules_end"

ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c294", RUN+="/usr/local/bin/G25manage --nativemode"
#ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --range 900"
LABEL="g25_rules_end"

# for a joystick detected by the kernel event interface, with a model name "G25_Racing_Wheel change the permissions on the device file
# and add a symlink to the event device file
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", SYMLINK+="input/G25event"
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", MODE="0664", GROUP="games"

# No deadzone for the wheel on the G25 in native mode
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=0"
# No deadzone for the clutch pedal on the G25 in native mode
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=1"
# No deadzone for the break pedal on the G25 in native mode
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=2"
# No deadzone for the throttle pedal on the G25 in native mode
KERNEL=="event[0-9]*", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c299", RUN+="/usr/local/bin/G25manage --evdev=/dev/input/G25event --deadzone=0 --axis=5"

After creating that file and copying the G25manage binary to /usr/local/bin, run /etc/init.d/udev reload (or service udev reload on Ubuntu karmic) and you no longer have to manually run G25manage.