DiRT Rally

DiRT Rally

查看统计:
Ninj0r 2019 年 2 月 8 日 下午 9:51
Logitech G29 on Linux Guide (Fully working)
Hello everyone,

I run DiRT Rally on Steam on Linux (PopOS 18.10 which is a fork of Ubuntu) and recently got the Logitech G29 fully working (FFB, H-Shifter, Clutch) and wanted to do a quick write up here to help anyone else who might need help.

0) Start with your wheel powered up but the USB connection unplugged.

1) Set your Logitech G29 to PS3 mode, not PS4 mode. In PS4 mode the wheel will be detected by Steam as a controller and DiRT Rally will consider it a normal PS4 controller, not a racing wheel. You won't be able to get all the features working properly in PS4 mode.

2) Connect your wheel via USB

3) Open Steam

4) Go Steam -> Settings -> Controller -> General Controller Settings
Make sure you see "Logitech G29 Driving Force Racing Wheel" under "Detected Controllers:"
If you do, move on to step 5.

If you see something like "PS4 controller" or "Generic Controller", the wheel will not work properly.
Exit Steam, disconnect the USB, restart the PC, connect the USB, and try again. I'm not completely sure how to "clear" controller settings/configurations, but you need to get Steam in a state where it is detecting the G29 as a racing wheel and not a console controller.

5) If you're here, you'll be able to use your wheel, the accelerator and the brake, but not the clutch or shifter. You will also not have access to the extended FFB settings.

In order to enable that (the location may vary for you, but this is where it was for me):
Add the following code to
~/.steam/steam/steamapps/common/"DiRT Rally"/share/inputdevices.json

{ "Name": "Logitech Logitech G29", "VendorID": "0x046d", "ProductIDs": [ "0xc24f" ], "Category": "Wheel", "Type": "UnknownWheel" }

The code can be added anywhere so long as you follow JSON rules. The easiest way to do this is add it at the end of the file; replace these last two lines:
} ]

with:
}, { "Name": "Logitech Logitech G29", "VendorID": "0x046d", "ProductIDs": [ "0xc24f" ], "Category": "Wheel", "Type": "UnknownWheel" } ]

6) Start up DiRT Rally. Go to "Options & Extras" -> Controls.
For "Steer Left" & "Steer Right" you should see Left and Right with a steering wheel icon; in "Vibration & Feedback" you should see a lot of options, like "Steering Center Force".

If you see something like "X-Axis" for "Steer Left" & "Steer Right" then you're still in "Console controller" mode and not Racing wheel mode. Also if you only see 3 options in Vibration & Feeback, you are still in Console Controller mode. Exit DiRT Rally and make sure that you added the JSON in step 5 correctly, and try again.

7) Go to Profile -> Game Preferences. You should now be able to select options with "Manual H Pattern" and "+ Clutch"

Note- when using the G29 in PS3 mode, the shift lights will not work.

I hope this helps anyone out there who was having trouble.

(Original Post of the JSON snippet that I found: https://steamcommunity.com/app/310560/discussions/1/142261027577140785/)
最后由 Ninj0r 编辑于; 2019 年 2 月 8 日 下午 10:20
< >
正在显示第 1 - 9 条,共 9 条留言
Paradox 2020 年 11 月 20 日 上午 11:02 
Hey! Do you know if it still working? I tried today (Debian Bullseye/testing here) and the H-shifter is never recognized although, the wheel seems to have the proper preset according to the name.

The step 7 basically never "appears".
HeapOverflow 2021 年 1 月 16 日 下午 4:44 
Here's a tool that enables the shifter lights for the G29 for Assetto Corsa and Dirt 4 (and maybe other CM games):

https://github.com/d4rk/ac_shifting_leds
[kjøttkake] ElToro 2021 年 5 月 17 日 下午 12:23 
I had Steam installed as a flatpak, and I could not get the wheel to work at all with DiRT 4, even with the changes above. Changed to a regular steam apt-install, and reinstalled DiRT 4 on that. G29 worked out of the box. Just a heads-up...
doru 2024 年 4 月 12 日 上午 8:32 
for me it says no controller detected in steam. what the mf do i do?

plugin the wheel into usb sometimes will center the wheel and engage the forcefeedback (wheel is centered and will be hard to turn), other times will just stop after doing two full revolutions (forcefeedback not engaged) I don't know why sometimes it does this or it doesn't

but either way steam doesn't show the wheel in the controller section. no controller detected
Tony Pond 2024 年 4 月 13 日 上午 9:02 
What version of Dirt Rally are you playing on Linux? The native Feral port or the Windows version via Proton/Steam Play?

You need to Disable Steam Input under Dirt Rally->Properties->Controller

And in that tab disable:
* Xbox Controller
* PlayStation
* Nintendo Switch
* Generic Controller

This is so that Dirt Rally can detect the G29 Wheel directly.

Its annoying & confusing as hell, but basically if Steam "sees" your wheel it will just map it as a generic controller via Steam Input stopping the game from seeing a wheel.

I have a G29 and it took a while to get working correctly within Steam (as its not the best documented) but worked fine outside of Steam.

This is basically the same process you will need to follow for any driving game to recognise your wheel, not just Dirt Rally.
最后由 Tony Pond 编辑于; 2024 年 4 月 13 日 上午 9:27
Tony Pond 2024 年 4 月 13 日 上午 9:25 
I can highly recommend using software like Oversteer to set your wheel rotation + preferences:

* https://github.com/berarma/oversteer

Most people set the rotation to 540 degrees (and turn off the in game wheel as you've got that infront of you!). Although it really boils down to personal preference, also because there is a fare amount of slop in the G29 due to it using gears its often useful to use a higher rotation to reduce the overall percentage of slop.

And if you can (its not so easy if your a newbie to linux) install the G29 uprated drivers called new-lg4ff, which enables additional features over the current kernel driver (they are currently trying to get new-lg4ff adopted into the kernel):

* https://github.com/berarma/new-lg4ff

Both of these may be in your distros package repository, most likely not though :/

Another useful tool for checking/trouble shooting wheel/devices is jstest-gtk.

Also useful is checking that Proton/Steam Play is seeing your wheel INSIDE the prefix (where the game is installed) without having to load the game, best to do this with protontricks, which you may have to install.

You can then run the Windows Controller dialog screen directly with:

protontricks -c 'wine control joy.cpl' 310560

Where: 310560 = AppID for Dirt Rally, its possible that value is different for you (its listed under Steam->Dirt Rally->Properties->Updates Tab or use Protontricks to list it).

Depending on which version of Proton your using Force Feedback on the G29 may or may not be present, it was broken in the 7.x-x series for a long while. 6.3-8 has been the gold standard for the G29, but some games don't like that. You should also be fine with Proton 8.0.5 (although I notice that sometimes force feedback wheel resistance is enabled when in mid-air when it shouldn't be).


Hope that helps & happy rallying! :)
最后由 Tony Pond 编辑于; 2024 年 4 月 13 日 上午 9:32
doru 2024 年 4 月 16 日 下午 5:49 
Thank You for the answers. I've ended up deleting ubuntu and installing mint. I've tried installing various stuff like lg4ff but ubuntu fought me all way. That version of linux can't be customized, is hell on earth.

So on mint the wheel still doesn't show up in steam but because I've deleted Dirt Rally when installing everything again, I've downloaded Project Cars, which is smaller in size. So I don't know if Dirt Rally will work on mint.

But

Turns out the wheel showed up alright in Project Cars as long as you do this:

unplug and plug till the wheel recenters itself and the force feedback is engaged. If it only does the initial rotation and then remains free to rotate it doesn't work.

A couple of problems, first the forcefedback is too powerful, I have not tried to fix it inside project cars. Maybe it works or maybe not. Probably that Oversteer app may help.

The pedals layout was messed up but was simple to reasing in the game menu.

Third and that is unfortunately the end of it, the laptop I was trying all this, while it has a powerful CPU it doesn't have an nvidia or amd chip. only the intel one. I've never used this laptop for gaming and I don't know why I was thinking there was an nvidia chip inside. The intel chip managed to boot up and play Project Cars at minimum specs (the game used the steam proton) but the framerate was choppy at times. Impressive nevertheless that a windows only game and not so optimized like Project Cars managed to work so well on linux with a basic intel gpu.
最后由 doru 编辑于; 2024 年 4 月 16 日 下午 5:51
Nizzel 2024 年 5 月 27 日 下午 12:26 
I like also you the wheel leds? Is there any solution for that?
Tony Pond 2024 年 5 月 27 日 下午 2:32 
The rpm lights on the wheel are just leds that can be controlled at anytime, there are third party tools which can do that for you:

https://github.com/IvanVojtko/logitech-linux-rpm-led

This has support for Dirt Rally 2 out of the box, not so sure about Dirt Rally 1 so you may have modify it slightly (its just python reading the telemetry data and setting the leds accordingly).

Just had a quick peek and out of the box only DR2, however the only change (if any) would be to use a different offset for the rpm in the datagram:

MAX_POS = 63 CURR_POS = 37 def get_rpm_percent(self, data, percent) -> int: car_telemetry_size = struct.calcsize('<66f') game_data = struct.unpack('<66f', data[:car_telemetry_size]) max_rpm = game_data[MAX_POS] current_rpm = game_data[CURR_POS] if max_rpm == 0 or current_rpm == 0: return percent return int((current_rpm / max_rpm) * 100)

where MAX_POS is the offset into the telemetry data for the Max RPM and CURR_POS is the current RPM.

A further quick internet search finds, according to this post these offsets are the same from DR1 apparently:

https://steamcommunity.com/app/310560/discussions/0/481115363869500839

Hope that helps!
< >
正在显示第 1 - 9 条,共 9 条留言
每页显示数: 1530 50