Frogging-Family / wine-tkg-git

The wine-tkg build systems, to create custom Wine and Proton builds
881 stars 160 forks source link

Vulkan renderer broken in ROBLOX Player / Studio #797

Open imskyyc opened 2 years ago

imskyyc commented 2 years ago

Recently, since the later versions of Staging 7.11, the ROBLOX Player & Studio have not worked with using forced Vulkan renderer, and good performance is not really achievable through DXVK

The player doesn't even output any logs.

Studio error log: 2022-07-03_17-13-12_RobloxStudioLauncherBeta.exe_stderr.log

Note: this was done using RADV drivers, and not AMDVLK. There is no difference however. .

Tk-Glitch commented 2 years ago

I can't test on my end as the installer crashes in ntdll on basically any version of wine I threw at it.

imskyyc commented 2 years ago

Right, sorry. Forgot to mention that you basically have to run it through Grapejuice, which is a sort of wrapper for Roblox client stuff that allows it to function properly. https://brinkervii.gitlab.io/grapejuice/docs/

The latest compiled wine-tkg from staging 7.12 works fine in terms of the installer / launching.

imskyyc commented 2 years ago

Ammending the previous, apparently it doesn't work with the latest tkg-staging 7.12, but it did yesterday. Reverting to tkg-staging 7.11.r6 fixes the launching issue. Vulkan renderer issues persist.

This is what the player logs out. 2022-07-04_04-58-36_RobloxPlayerLauncher.exe_stderr.log

Tk-Glitch commented 2 years ago

I am using Grapejuice. Sadly I tested builds ranging from 7.0 to 7.12 (staging, mainline, proton) with the exact same crash every time. I have never attempted to run the game ever before btw. From your log I notice that it complains about no vk childwindow support, which would require either _proton_fs_hack="true" or _childwindow_fix="true". If one of those is enabled in your builds and the log is unchanged, then we have an issue on our end indeed.

imskyyc commented 2 years ago

Just checked, childwindow fix is enabled. I'll try compiling against the latest staging 7.11 to see if that changes anything, but I doubt it will.

Tk-Glitch commented 2 years ago

You could try reverting https://github.com/Frogging-Family/wine-tkg-git/commit/7ea035c19d63b81f819330af44f8d5bff2cac7ba. The change can break sensitive apps, and this might be the first report of it breaking :D

imskyyc commented 2 years ago

Trying it now, I ran "git revert 7ea035c19d63b81f819330af44f8d5bff2cac7ba", that should work right? I have zero clue how to mess with git reverts, patches, etc lol

Tk-Glitch commented 2 years ago

Trying it now, I ran "git revert 7ea035c", that should work right? I have zero clue how to mess with git reverts, patches, etc lol

Yeah that should work :)

imskyyc commented 2 years ago

No dice, studio abnormally terminates, and the player has the same issue.

Tk-Glitch commented 2 years ago

Looks like an upstream regression then. Unfortunately I'll need to get the game to install first before I can get any bisecting done :/

imskyyc commented 2 years ago

So I'm not sure if this was some weird fluke, but all of a sudden today's release (7.12.r1) started working with RADV drivers. Then I tried installing AMDVLK due to horrid performance, and it hasn't worked since. It was likely some weird thing with Grapejuice, since I had performance similar to if I was using DX11 or OpenGL. Just thought I'd put that here.

Edit: Just tested it with the Player, no persistence. Was likely a fluke with Grapejuice.

imskyyc commented 2 years ago

As of Wine 7.12.r6, the Vulkan issue in the player has been fixed on AMDVLK, no RADV support to be seen anywhere. Studio is still broken on all Vulkan renderers.

imskyyc commented 2 years ago

As of a recent ROBLOX update, Studio no longer works at all. Player continues to run fine, with lots of stuttering after playing for a long time.

imskyyc commented 2 years ago

I have found through testing that Studio runs perfectly fine on wine-staging 7.13, but not on wine-tkg 7.13. Here's my most recent stderr from Studio. Player still runs fine, as well as with RADV. 2022-07-23_12-04-48_RobloxStudioLauncherBeta.exe_stderr.log

Tk-Glitch commented 2 years ago

I'm seeing vulkan:X11DRV_vkCreateWin32SurfaceKHR Application requires child window rendering, which is not implemented yet! in that log, which is indeed a feature that's not implemented in staging, but for which we offer a patch. I assume disabling vk childwindow, which is enabled in our default config (and the fshack in case it's enabled, as it also contains vk childwindow support) might make it work if the game runs fine on plain staging.

imskyyc commented 2 years ago

Not sure how it happened, but as it turns out, it was defaulting to tkg 7.7, which did work with Studio. Not sure what got changed from then to now.

ColdIce1605 commented 2 years ago

ok, not sure if this is of note but I've also have this issue it seems to only happen after the prefix in grapejuice for studio is created(or studio is installed whatever it is) this specifically happens when editting FFLAGS edit: nope: worked for awhile with 7.1 and then broke even without having fflags which would then install studio maybe of note but I try removing export AMD_DEBUG=zerovram it broke and adding it back fixed it for awhile then again it broke again and hasn't worked since