ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.49k stars 1.07k forks source link

Unreal Tournament 3 (13210) #2628

Open xDShot opened 5 years ago

xDShot commented 5 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Crashes randomly for various reasons: alt+tab, during play or just at launch. steam-13210.log

Reproduction

xDShot commented 5 years ago

Disabling ESYNC (PROTON_NO_ESYNC=1 %command%) seems eliminates crashes.

kisak-valve commented 4 years ago

Unreal Tournament 3 (13210)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/3422. @BloodyIron posted on 2020-01-11T03:42:27:

Compatibility Report

System Information

FPS for the game is utter crap considering how beefy my computer is and how old the engine is. It's a DirectX9 game and I get 30-45 FPS, when I should be pulling well over 300-450FPS. It also forges my graphical detail settings (apart from resolution) each time I launch the game. Game also encounters stuttering as if it is a frame time issue frequently. Completely terrible performance. Bioshock Infinite (written on the exact same engine) gives me way more FPS on much higher detail settings.

xDShot commented 4 years ago

Make sure you installed all prerequisites it tried to install on first launch. Try D9VK.

BloodyIron commented 4 years ago

I did install all of them though, .NET redistributable, DirectX, OpenAL, PhysX, just fine. I don't see how I can (easily) use D9VK through Proton though...

xDShot commented 4 years ago

PROTON_USE_D9VK=1 %command%

BloodyIron commented 4 years ago

Hmmm I'll try that, did you see a big performance boost with that or what?

BloodyIron commented 4 years ago

PROTON_USE_D9VK=1 %command%

Game just crashes right when trying to launch it :/

Guy1524 commented 4 years ago

@BloodyIron Can you upload a log from a launch where it crashes? Use PROTON_LOG=1 PROTON_USE_D9VK=1 %command%, then upload $HOME/steam-13210.log

BloodyIron commented 4 years ago

steam-13210.log

Tada!

kisak-valve commented 4 years ago
Xlib:  extension "NV-GLX" missing on display ":0".
err:vulkan:wine_vk_instance_load_physical_devices Failed to enumerate physical devices, res=-3
err:vulkan:wine_vkCreateInstance Failed to load physical devices, res=-3

Vulkan failed to initialize, can you double check that you have vulkan drivers installed for your RX 580 with something like apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386? You can install them with sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 if those packages are not already installed.

BloodyIron commented 4 years ago
Xlib:  extension "NV-GLX" missing on display ":0".
err:vulkan:wine_vk_instance_load_physical_devices Failed to enumerate physical devices, res=-3
err:vulkan:wine_vkCreateInstance Failed to load physical devices, res=-3

Vulkan failed to initialize, can you double check that you have vulkan drivers installed for your RX 580 with something like apt policy mesa-vulkan-drivers mesa-vulkan-drivers:i386? You can install them with sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386 if those packages are not already installed.

I have countless other games running 100% properly through Vulkan. I know that Vulkan is operational. For example, World of Warcraft, Rust, Elite Dangerous, and more.

BloodyIron commented 4 years ago

mesa-vulkan-drivers: Installed: 19.2.1-1ubuntu1 Candidate: 19.2.1-1ubuntu1 Version table: *** 19.2.1-1ubuntu1 500 500 http://ca.archive.ubuntu.com/ubuntu eoan/main amd64 Packages 100 /var/lib/dpkg/status

kisak-valve commented 4 years ago

Is mesa-vulkan-drivers:i386 also installed?

BloodyIron commented 4 years ago

No, but I'll install that and try again.

BloodyIron commented 4 years ago

Okay, installed mesa-vulkan-drivers:i386

Launched game, successfully, changed res to 1920x1080, then jumped into "Instant Action" deathmatch. Gmae crashed during load.

Added the log launch parameter and now the game doesn't crash going into instant action.

FPS seems better, but I still get a notable frequency of frame stuttering (generating shaders?), which reminds me a bit of how Overwatch behaves with shaders early on in DXVK's history.

So... works-ish, mostly?

xDShot commented 4 years ago

Did you try PROTON_NO_ESYNC=1 %command% ?

BloodyIron commented 4 years ago

Did you try PROTON_NO_ESYNC=1 %command% ?

I tried

PROTON_NO_ESYNC=1 PROTON_USE_D9VK=1 %command%

and the FPS seems to be a good bit better, but I still have occasional frame pausing, but it seems to go away pretty quickly. So it seems to be pretty fabulous in this state.

BloodyIron commented 4 years ago

So after I turned off frame smoothing, I was getting 200FPS, and after turning the details wayyyy up I get 90-120FPS steadily. I think that occasional frame stuttering might be part of the D9VK process, but I have no proof of that (speculation).

AsciiWolf commented 4 years ago

Is anyone able to play online? The game stays on "Connecting..." when trying to connect to most servers. I suspect this being some kind of anti cheat that is not compatible with Wine (latest Proton 5.0-4 in my case).

onlyreportingissues commented 1 year ago

Is anyone able to play online? The game stays on "Connecting..." when trying to connect to most servers. I suspect this being some kind of anti cheat that is not compatible with Wine (latest Proton 5.0-4 in my case).

Yes, it works. You need this patch: https://www.mediafire.com/download/pi328fi0c1dsqzs/UT3SteamPatchGS_21.exe Just add it as a non-Steam game, run it with Proton & apply the patch.

You can read here why the patch is needed: https://forums.epicgames.com/unreal-tournament-3/ut3-general-chat/298638-gamespy-patch-info

Gibitwit commented 5 months ago

This game's frame rate is 40 to 50% less than on windows when played through Steam play. When using Bottles and not launching the game with Steam, that is Steam is not involved/not running, the frame rate is around 20-30% less than when played on windows. The game also starts much faster when using Bottles than Steam play, Heroic game launcher, or Lutris.

I have not been able to identify why the game performs better via Bottles than other methods. I suspect it has something to do with dependecies. Also note that the performance gap between windows and Linux expands further if DXVK is used on windows, where the game sees a large increase in frame rate.

OpenAL and OpenAL Soft do not work, it always selects generic software. If I remove the OpenAL32 DLL from the game's folder, there is no sound. Regardless of whether I use the original OpenAL32 file or the OpenAL Soft file, Generic Hardware is selected. Setting a DLL override has no effect. If I check use EAX in winecfg it still does not work.

After installing the mingw OpenAL Soft for the windows target, I get sound if I remove the OpenAL32 DLL. But it still goes with generic software. The 3D audio is much worse on Linux.

When running the game on a Mac with Wine 5 through 7 (I have not tried later versions), OpenAL Soft works the same as on windows, no need for a DLL override or anything.

I tried using older Wine forks, Proton versions down to 7, and Wine staging 9.9, no change.

Gibitwit commented 4 months ago

In trying to get OpenAL and OpenAL Soft to work, in Bottles dependencies list I installed dsound.dll, which should not do anything. Interestly the game's log now reads Generic Software Compatibility Mode instead of Generic Software, however they both have the same terrible result.

The game does not seem to be able to probe audio devices.

Gibitwit commented 3 months ago

After updating my system, Nobara Linux, I typically need to enter the product key for this game again. Doing so results in a different hash in Engine.ini. Is this do to an encrytion library update? Is there any way to maintain the same hash?

Gibitwit commented 1 month ago

Running the game via Steam play now has performance at the level of running the game via Bottles. Still far below windows.

OpenAL/OpenAL Soft 3D audio still does not work.