protonscr

GT Legends

protonopen appid 44690Game compatibility - Unofficial
ValveSoftware/Proton#2728 · opened 2019-05-23 by leillo1975 · updated 2026-02-06 · 29 comments · github · game page · search this game
2 matching comments, n / p to jump
Lleillo1975 2019-05-23 github

Compatibility Report

  • Name of the game with compatibility issues: GT Legends
  • Steam AppID of the game: 44690

System Information

I confirm:

  • [x] that I haven't found an existing compatibility report for this game.
  • [x] that I have checked whether there are updates for my system available.

steam-44690.log

Symptoms

After installing the dependencies and configuring the graphics, the game don't starts. I see in WineHQ ( https://appdb.winehq.org/objectManager.php?sClass=version&iId=28706 ) that the game needs to install via winetricks "mfc42.dll" to work.

Reproduction

I only start the game

Lleillo1975 2019-05-23 github

After installing "mfc42" with Winetricks, the game starts , shows the initial videos, but then it run extremely slow and is impossible to play with it. I attach the log:
steam-44690.log

Here is a video:
https://youtu.be/aaEznILxGbs

HHonkingGoose 2019-05-23 github

@leillo1975 looks like it needs mfc42.dll from the log:

22588.738:002c:002d:err:module:import_dll Library MFC42.DLL (which is needed by L"Z:\\media\\3TB\\SteamLibrary\\steamapps\\common\\GT Legends\\Net.dll") not found

Edit: I though the log indicated some .net issue, but this is not the case, as confirmed by @kisak-valve

Lleillo1975 2019-05-23 github

But... I have installed mfc42 with winetricks on the prefix. What's wrong?

If I don't install mfc42 the game don't start

Kkisak-valve maintainer 2019-05-23 github

@leillo1975, snippets from the log are from your opening post before you worked around mfc42.

@HonkingGoose I read Net.dll in the log: which is needed by L"Z:\\media\\3TB\\SteamLibrary\\steamapps\\common\\GT Legends\\Net.dll" and interpreted it as a game library, not the .NET framework. There aren't other indicators that .NET is involved.

Lleillo1975 2019-06-18 github

I've finally managed to make the game work. One user posted a bug on WineHQ (https://bugs.winehq.org/show_bug.cgi?id=47380) and another find the solution. It is necessary to deactivate CSMT (winecfg) and the game start to run normally. Is possible to play with my Logitech G29 wheel, but like RACE 07 ( https://github.com/ValveSoftware/Proton/issues/1212 ), force feedback effects only works when you crash your car.

About multiplayer, is not possible to register this game. I think that this is normal, because the game was released on 2005 and probbably the multiplayer servers are down

Ttimschumi 2019-06-18 github

I just tested the game in Proton. Everything seems to work fine, both singleplayer and multiplayer. However, only LAN or unofficial servers work, since the official multiplayer servers probably went down together with SimBin.

If Valve intends to fix up the game, disabling CSMT can probably be scripted better through regedit:
In the registry, a new DWORD-Value with the name "csmt" needs to be made in the key "HKEY_CURRENT_USER/Software/Wine/Direct3D" and set to 0, which disables CSMT as well.

Apart from that, only mfc42.dll needs to be supplied now and the game would probably run fine out-of-the-box when using SteamPlay.

Ttimschumi 2019-06-19 github

Actually, to fix this in Proton, the easiest way (which might regress performance on some games) would probably be to just revert commit ValveSoftware/wine@dd0ea0a61463db83c647a9367ca61e2b69a98eb3, which enabled CSMT by default.

However, that would have to be tested extensively to ensure that it doesn't make the performance on some games worse.

Lleillo1975 2019-06-26 github

OFFTOPIC: Hi @timschumi , are you working on the support for Saitek R440 Force Racing Wheel? Will this wheel have Force Feedback support on Linux?

https://git.kernel.org/pub/scm/linux/kernel/git/dtor/input.git/commit/?h=iforce&id=11518370b332c0eeaaccef1f5de7877747893f1f

https://www.phoronix.com/scan.php?page=news_item&px=Saitek-R400-Linux-WIP

Ttimschumi 2019-06-26 github

I don't have an R440, so I can't say anything about the functionality with 100% certainity. I added the device based on an educated guess, since the Windows driver for the R440 works for my wheel (a WingMan Formula Force) after replacing device and vendor IDs, as already outlined in the commit description.

Force Feedback works with some games in windows (with the R440 driver on the WMFF), so I guess the drivers are compatible in that regard as well.

However, with Proton/wine on top, you are going to have FF issues anyways. For me (WMFF with the iforce-driver on Linux, the same that the R440 support is being added to), of all the games I tested, FF only works with GT Legends. Grand Prix Legends (which I only tested in wine) and Project Cars do not have FF support at this time, for whatever reason.

EDIT: FF doesn't work in Proton, no matter the game, I just got confused with the custom version I had installed (which is wine 4.11 + basic compatibility, where FF in GT Legends works).

Lleillo1975 2019-07-31 github

The same problems continue on 4.11-1
steam-44690.log

Lleillo1975 2019-08-21 github

With Proton 4.11-2 and D9vk the game starts after installing mfc42 with Protontricks/winetricks. Force Feedback continues without work (with lutris and the last wine stagin you can feel when you crash your car only). Now is playable

Ttimschumi 2019-08-21 github

I suspected that the addition of D9VK did the trick, but since it still was a problem in Proton 4.11-1, I guess it wasn't. I also don't know if WineD3D is even affected by D9VK.

I guess I'll do some more bisecting, to pinpoint the exact commit where the performance issues vanished...

EDIT: The performance issues are still there for me with the default settings. If I enable D9VK through either the PROTON_USE_D9VK env variable or user_settings.py, the game doesn't even start.

EDIT2: I'm stupid. My Laptop doesn't even support Vulkan. Retested on my PC, game now runs fine with just mfc42 and PROTON_USE_D9VK.

Lleillo1975 2019-11-08 github

New version of Proton (4.11-8) stills breaking Force Feedback in this and a lot of racing games. Other games like:
-Project Cars 2
-Project Cars 1
-RACE 07

https://github.com/ValveSoftware/Proton/issues/3194

Lleillo1975 2019-11-19 github

I think you must see this article on reddit. Finally we can play GT Legends with FFB with all the effects on Linux :
https://www.reddit.com/r/linux_gaming/comments/dypf2q/newlg4ff_a_much_more_complete_new_driver_for_our/
Good work @berarma !!!

At the moment only works with Wine, because Proton 4.11-8 has broken FFB in some games, but in the next version it will be fixed:
https://github.com/ValveSoftware/Proton/issues/3194#issuecomment-555558839

Mmadbad 2019-12-10 github

I'm getting this error message, about insufficient video memory, while trying to load the game.
I have an nVidia 1070Ti that has a lot more than the required memory (same for other games like Race07)
gtleggends
race07

Lleillo1975 2019-12-10 github

This can be done when you change proton version. I fix this problem going to config.ini file located in:
""SteamLibrary/steamapps/common/GT Legends""
Then change "VIDEODRIVER=0" to "VIDEODRIVER=1"

Lleillo1975 2019-12-14 github

With the last version of proton (4.11-10), and using the @berarma 's new Linux Logitech Wheels Driver (new-lg4ff) , the game has a good Force Feedback. Good Work!

The FFB needs to be reversed to work properly.

Lleillo1975 2021-10-02 github

I found an FFB issue in this game, in RACE 07 and GTR2. When you start a race, you have no problems with Force Feedback on the Logitech G29, but if you restart it two times (sometime three), you lost a lot of effects and the steering wheel offers no resistance, unless you countersteer or crash.
To fix this, you must quit the race, go to Quick Race menu, and load again the race.
I tried it on Windows and this problem don't appear. Seems to be the same problem in all SimBin games with proton.

Ttimschumi 2021-10-03 github

For me force feedback consistently goes back to "constant force" after one retry. However, I'm able to fix it by selecting "Return to the Garage", going into the Controller Options, and reselecting the force feedback profile (which I assume reinitializes force feedback).

Sadly, I don't think Proton 5.0 will be updated anytime soon, even if the cause for the bug is found.

Lleillo1975 2021-10-03 github

Sadly, I don't think Proton 5.0 will be updated anytime soon, even if the cause for the bug is found.

5.0?? I use the last version of proton, 6.3.

Ttimschumi 2021-10-03 github

Proton 5.0 is the last version to recognize my wheel in-game.

Lleillo1975 2021-10-03 github

What wheel you use? What driver?

Ttimschumi 2021-10-03 github

Still a Logitech WingMan Formula Force, using the in-kernel driver.

Lleillo1975 2021-10-04 github

Is really strange, the FFB of this game didn't work well with the In-Kernel driver. I must use new-lg4ff to activate all effects. Do you try this module driver?

Ttimschumi 2021-10-04 github

It doesn't seem like my wheel is supported by this driver. Regardless, since the in-kernel driver works just fine on the host and on older Proton versions, the newer Proton versions should understand it just fine. Maybe I'll have some time in the future to investigate more.

Lleillo1975 2021-10-04 github

You wheel is supported by new-lg4ff:
-Logitech WingMan Formula GP (without force feedback)
-Logitech WingMan Formula Force GP

Ttimschumi 2021-10-04 github

I have the old one (without "GP"), so mine is a device that is covered by the iforce driver.

Hhelpvisa 2026-02-05 github

I believe I've found the reason for non-functional FFB in Proton version >= 7.0.

The game only initialises PERIODIC FFB a single time, then continuously updates the values from there on out; if this initialisation fails, no FFB will be felt (unless from CONSTANT effects, like bumps and collisions). Since Proton 7.0, the PERIODIC effect has been initialised with a "period" of 0, a value which the FFB driver rightfully rejects as it's impossible for the period of a periodic effect to be 0. For some reason, this does not seem to cause issues on Windows, though this seems like something which could be wheel dependent even there.

I've forked ffbtools to include a catch for this error, converting any period values of 0 to 1. Launching the game from Steam with this new fix enabled can be done as so:

ffbwrap --period-fix <device> -- %command%

Testing in Proton 10.0-3 and with a Logitech G29 (using newlg4ff), FFB is now working just as well as it was pre-7.0. I believe this fix should apply to all games using this same engine, however GT Legends is the only such game I own, so if other interested parties can test it would be much appreciated. I'll be opening a PR for ffbtools to allow for more testing and visiblity.

Hhelpvisa 2026-02-06 github

An additional behaviour I've noticed in modern versions of Proton (>= 7.0) is that gain is not restored correctly after exiting a menu.

# soft-resetting FFB using Alt+F (uses lower gain setting)
000325752967 < 0
000325752970 > REMOVE 7 # Remove effect from memory.
000325752973 < 0
000325752977 > REMOVE 8 # Remove effect from memory.
000325752979 < 0
000325753459 > GAIN 28180
000325753467 < 24
000325753913 > UPLOAD id:-1 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:0 magnitude:0 offset:-1 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0
000325753919 > UPLOAD id:-1 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1, magnitude:0, offset:0, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000325753922 < 0 id:0
000325754055 > PLAY 0 2147483647

# entering pause menu, then resuming game (sets gain to 0 while paused, restores to max value when resumed)
00328497511 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1000, magnitude:0, offset:1765, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000328497516 < 0 id:0
000328514481 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:1000 magnitude:0 offset:1762 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0
000328514490 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1000, magnitude:0, offset:1762, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000328514495 < 0 id:0
000328569663 > GAIN 0
000328569677 < 24
000328569904 > GAIN 0
000328569913 < 24
000328570085 > GAIN 0
000328570090 < 24
000328570271 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:0 magnitude:0 offset:-1 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0
000328570277 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1, magnitude:0, offset:0, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000328570280 < 0 id:0
000328570426 > UPLOAD id:4 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:1000 magnitude:0 offset:-1 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0
000328570429 > UPLOAD id:4 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1000, magnitude:0, offset:0, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000328570432 < 0 id:4
000329896572 > GAIN 65535
000329896586 < 24
000329896697 > GAIN 65535
000329896700 < 24
000329896850 > GAIN 65535
000329896854 < 24
000329896994 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:1000 magnitude:0 offset:1762 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0
000329896998 > UPLOAD id:0 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE, period:1000, magnitude:0, offset:1762, phase:0, attack_length:0, attack_level:0, fade_length:0, fade_level:0 # periodic fix
000329897002 < 0 id:0
000329897132 > UPLOAD id:4 dir:16384 length:0 delay:0 type:PERIODIC waveform:SINE period:464 magnitude:2949 offset:-1 phase:0 attack_length:0 attack_level:0 fade_length:0 fade_level:0

You can spam Alt+F every time you enter a menu to reset the gain to the 'appropriate' in-game level, however an easier fix may be using a tool like ffbwrap to ignore gain changes from the game and simply create a profile with lower overall gain in a wheel manager like Oversteer.

Proton versions

Launch options

Upstream links

DLLs