doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.84k stars 827 forks source link

Multiple regressions with League of Legends #2763

Closed r2rX closed 2 years ago

r2rX commented 2 years ago

Hello there,

DXVK 1.10.2 works well with League of Legends although I decided a few days back to try a newer artifact/build of DXVK and it doesn't work. As a result, I sifted through the artifacts released since 1.10.2 Stable and found two specific commits that are progressively regressive. Testing was done on Fedora 36 KDE through Lutris 0.5.10.1 and Lutris-GE-7.0-3-LoL & Lutris-GE-7.0-4-LoL (this series of LoL specific WINE prefixes are the easiest/most convenient to get LoL working).

Test Results

1.10.2 Stable to commit [6ac5ca3] - Works fine overall. Client window and game window, when match starts, work correctly.

Commit [0f6ba59] to [e28b268] - Client window works fine but the game window fullscreens to a black screen, although the LoL mouse cursor shows and is responsive. At this point, nothing happens and I have to close the process manually.

Commit [330ff8f] to the most current ([ea76bfd] as of writing this post) - Client window works fine but the game window doesn't load. It shows the game window process in the taskbar but that's as far as it goes. At this point, I have to close the process manually.

To replicate my test method, simply load the game client, create and start any game mode/type (Practice Tool is the best in order to test and not potentially get reported/banned for afk'ing).

Software information

On my system, the game is using DirectX11 (d3d11). If using the latest GE-LoL 7.0-4, the game will load the main client (LeagueClientUX.exe) and once creating/joining a game, the game window itself opens in a separate process (LeageofLegends.exe). In-game settings are set to 1920x1080, with all details set to High and FPS set to match 144fps.

The default directory structure the game installs to is C:\Riot Games; the launcher is located in \Riot Games\League of Legends and the game executable is located in \Riot Games\League of Legends\Game.

System information

Apitrace file(s)

6ac5ca3 as reference for last working version 0f6ba59 330ff8f

K0bin commented 2 years ago

Please provide an apitrace.

doitsujin commented 2 years ago

I don't play the game, it's not on Steam, and I'm not really willing to install the game and create an account and go through whatever pain is required to get the thing running at all and then figure out how the game works to even test it, since that can easily take an entire work day that I could be spending on more useful things. Especially since there's always a chance that this wouldn't even happen on my end.

Also, which API is this even with? AFAIK the game supports both D3D9 and D3D11, all of this info is rather critical....

r2rX commented 2 years ago

@K0bin @doitsujin My apologies for not providing the additional information earlier. The apitrace files and game info has been updated in the initial post.

doitsujin commented 2 years ago

The first trace replays fine here. My guess is that there's an issue with the wine build simply being too old; there are some known issues with the current master branch on older wine but those seem to have been resolved (see #2729), not entirely sure what the cause is though.

r2rX commented 2 years ago

As far as I have understood, @GloriousEggroll bases his custom WINE builds on the most recent bleeding-edge proton experimental wine repo.

doitsujin commented 2 years ago

someone on Discord mentioned that the winevulkan build in GE-7.0-4-LoL doesn't support Vulkan 1.3 yet so that's going to be a problem. Not sure if that's true though.

r2rX commented 2 years ago

Interesting. Out of curiosity, is commit [6ac5ca3] the last version to work before depending on Vulkan 1.3?

doitsujin commented 2 years ago

Yes, it is.

ghost commented 2 years ago

League of legends works with dxvk master @r2rX use the TKG wine build on lutris https://github.com/Frogging-Family/wine-tkg-git/actions/runs/2756890985

edit: the build works bc it supports vulkan 1.3 while the GE one doesn't, for now at least, already pinged GE on discord.

r2rX commented 2 years ago

Thanks for your time & effort, @doitsujin. I'll bring it up on GE's Discord channel and report back here with any updates.

Also, cheers for the heads-up on the TKG build @kassindornelles .

ghost commented 2 years ago

Thanks for your time & effort, @doitsujin. I'll bring it up on GE's Discord channel and report back here with any updates.

Also, cheers for the heads-up on the TKG build @kassindornelles .

with the TKG build you might crash in the riotclient in the first boot, just kill all processes and try again and you are going to be set! have fun!

r2rX commented 2 years ago

Hey @doitsujin . It's been confirmed that the latest DXVK artifacts work fine with League. It was a matter of @GloriousEggroll 's build of winevulkan to be updated, so you were on point about that.

Once again, cheers!