Need some help with NFS Underground 2 and its controls
Valso Sep 2, 2023
My System Info

Linux Distribution: Arch, but I know it happens in all distros.
Desktop Environment: Cinnamon (5.2.7, 5.4.0 and the latest)
Graphics Card: GTX 1660 Ti
GPU Driver Version: 525.89.02

Have you checked for system updates?: [Yes]

I answered the questions but I don't think they have anything to do with this particular problem: NFS U2 won't accept and remember the customized controls and even the default ones don't run properly. I can't drive a car on a racing game with WASD and "Space" for handbrake, so I've always liked to change these controls ever since the game was released by EA. The controls I like to use are the arrows, "Num 0" for handbrake, "Num 1" for look back, "Right Shift/Right Control" for shifting gears up and down and "Space" to reset car's position. And until a year or two ago these controls were possible thanks to a file named dimap.dll. But not anymore. A year or two ago that file stopped working. I've added it in the libraries list of Wine but it still doesn't work. Nowadays, even if you somehow manage to set custom controls, they will only half work during career and if you exit the game, they're being forgotten instantly (the game won't remember them the next time you run NFS U2).
I thought the file might have been corrupted somehow, so I downloaded it again but it still won't work. Compatibility menu in Wine doesn't matter at what Windows is set - the file still won't work.

So I need ideas on how to make the custom controls work again. The only idea I have left is to try and install Windows XP in a VM and play the game that way but I was hoping to use that as a last resort, if everything else fails.
whizse Sep 3, 2023
Just some ideas of the top of my head:

- Have you set both dlls to native (with winecfg)?
- The batch script included with those dll's register diactfrm.dll with regsvr32, that might be necessary on wine too.
- You can make sure the native dll is loaded by lanching Wine with WINEDEBUG=+loaddll
- Play with a controller if that's possible. Even if the bindings can't be changed in game it's easy to remap with something like antimicrox.
- If you are of a programming mindset and build Wine yourself it's probably not too hard to remap the keyboard input in Wine.
Valso Sep 6, 2023
Quoting: whizse- Play with a controller if that's possible. Even if the bindings can't be changed in game it's easy to remap with something like antimicrox.
- If you are of a programming mindset and build Wine yourself it's probably not too hard to remap the keyboard input in Wine.

These two are not possible - I'm not a developer nor do I have a controller, other than a keyboard.
The other 3 you mentioned - I have tried them. No change. So I resorted to the last possible variant - VMWare with Windows 10. That works perfectly and unlike the real machine, I can tell the VM to keep the game's aspect ratio (the real machine stretches everything by default).
whizse Sep 6, 2023
Glad you got things sorted!

Quoting: Valsounlike the real machine, I can tell the VM to keep the game's aspect ratio (the real machine stretches everything by default).
If you have aspect ratio problems in other games, give gamescope a try. It's a handy tool for this and other problems.
Valso Sep 6, 2023
Quoting: I_Hate_Windowshave you tried a xbox controller?

I'm not a fan of such controllers. You could say I am a "Keyboard to the bone", rephrasing a famous George Thorogood's song. :)

@whizse, I've tried gamescope a few times and it never detects the game. I'm guessing it only works for native linux games, not for windows games.
whizse Sep 6, 2023
Quoting: Valso@whizse, I've tried gamescope a few times and it never detects the game. I'm guessing it only works for native linux games, not for windows games.
No, it works fine for both.

It is used by default on the Steam Deck which runs quite a few windows games...
Valso Sep 9, 2023
Quoting: I_Hate_Windowsopen steam and set compatilibity mode to proton experimental and almost any game works, even non steam games, i switched from windows 4 months ago and all of my games work

When a game doesn't work properly with Wine, this is what I do first before asking on forums - to try and run it with Steam's Proton. The game starts, even gets its proper aspect ratio but that library dimap.dll still doesn't work, so no changing default controls and no remembering them either.
whizse Sep 9, 2023
To get back to the original issue....

A better alternative to a native dimap.dll is NFSU-XtendedInput. It's also a drop-in .dll but rewritten for a modern API. The goal of the project was better gamepad support but they rewrote the keyboard support too.

I tried it (briefly) with NFS2U and Wine 8.15 and it seems to work fine here. Keyboard bindings can be remapped and are not lost the next time you start the game.
Valso Sep 10, 2023
Quoting: whizseTo get back to the original issue....

A better alternative to a native dimap.dll is NFSU-XtendedInput. It's also a drop-in .dll but rewritten for a modern API. The goal of the project was better gamepad support but they rewrote the keyboard support too.

I tried it (briefly) with NFS2U and Wine 8.15 and it seems to work fine here. Keyboard bindings can be remapped and are not lost the next time you start the game.

That sounds interesting, I'll try it.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register


Or login with...
Sign in with Steam Sign in with Google
Social logins require cookies to stay logged in.