ValveSoftware / Proton

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

Bloons TD 6 (960090) #2330

Open RainehDaze opened 5 years ago

RainehDaze commented 5 years ago

Compatibility Report

System Information

I confirm:

steam-960090.log

Symptoms

Freezes (and will eventually crash if left alone) when pressing "I've played before" to log in--seems to pop up another window briefly. This means no saving progress across systems or syncing etc. Otherwise works with Wine D3D not DXVK.

Reproduction

Start the game with PROTON_USE_WINED3D as a launch argument (otherwise, at best, it will be a tiny box in the corner). Wait for it to arrive at the title screen. Click "I've played before."

kisak-valve commented 5 years ago

Hello @RainehDaze, can you verify any vulkan application works like vulkaninfo from vulkan-tools?

RainehDaze commented 5 years ago

Vulkaninfo works: vinfo_out.txt

DXVK normally works (e.g. both Monster Hunter: World and Dark Souls III have no such graphical problems)

eiglow commented 5 years ago

With Proton 4.11-1, the game no longer crashes when pressing "I've played before". It now seems to be loading the login screen for a second, before coming up with -302 in the corner, at least for me. Also, PROTON_USE_WINED3D seems to be no longer necessary.

aeikum commented 5 years ago

The problem with the in-game web browser in Bloons TD 6 has been fixed with Proton 4.11-3. Please retest.

eiglow commented 5 years ago

Works good for me now! Although, PROTON_USE_WINED3D was necessary to get the game running. This is on Proton 4.11-3. Also probably relevant is that I'm on Nvidia.

eiglow commented 4 years ago

On Proton 4.11-12, the game runs flawlessly for me without any launch options, using a Radeon r5 240 with amdgpu on Fedora 31. If others have a similar experience, I think this game could be a candidate for whilelisting.

ElderBlade commented 4 years ago

The game doesn't run for me at all.

OS: Arch Linux KERNEL: 5.7.5-arch1-1 CPU: Intel Core i7-8700K @ 3.70GHz GPU: NVIDIA GeForce RTX 2080 Ti GPU DRIVER: NVIDIA 440.82 RAM: 16 GB

I tried using latest version of glorious eggroll as well as Proton 5.0-9. The game just launches to a grey screen and a monkey mouse pointer. I tried using launch option PROTON_USE_WINED3D=1 %command% but I get the same result. Also tried turning of steam overlays to no avail.

Launched steam from terminal and these are the errors I see:

UnauthorizedAccessException: Access to the path "Z:\CachedLanguagePref.txt" is denied.
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x00000] in <00000000000000000000000000000000>:0 

(Filename: currently not available on il2cpp Line: -1)

Setting up 6 worker threads for Enlighten.
ERROR: Unable to load Firebase app options ([Z:/media/evo500/Steam/steamapps/common/BloonsTD6/BloonsTD6_Data/StreamingAssets\google-services-desktop.json, Z:/media/evo500/Steam/steamapps/common/BloonsTD6/BloonsTD6_Data/StreamingAssets\google-services.json] are missing or malformed)

I looked around in the BloonsTD6 folder, and couldn't find a google-services.json file, so looks like it's missing and was not included in the installation of the game. I'm not sure where I could get the json file specific to Bloons TD6.

Any suggestions?

aeikum commented 4 years ago

@mmoore7 The game is working well for me on 5.0-9. My log does have the "Firebase app options" error, so I think that's normal. However it doesn't have the "CachedLanguagePref" error, so I think that may be the problem.

On my system, this file is located at C:/users/steamuser/AppData/LocalLow/Ninja Kiwi/BloonsTD6/CachedLanguagePref.txt within the prefix. I have no idea why yours is trying to look it up in the root of the Z drive (which points to your system root, hence the unauthorized access error).

Are you using a non-English system locale, or did you select a non-English language in the game? You could try deleting the game's compatdata folder to reset the prefix. On your system, this is probably located at /media/evo500/Steam/steamapps/compatdata/960090. However this may delete any saved game data you have, so consider making a backup if you have saved game data you'd like to restore.

ElderBlade commented 4 years ago

@aeikum Thanks for that info. Deleting the game's compatdata folder worked! Thanks!

ThomasT75 commented 4 years ago

The keyboard doesn't work if I have my controller wireless module on

So my controller (ípega 9078) is wireless and comes with an USB wireless module for the controller, I leave the module plugged in and this is the only game so far that doesn't like that, also my controller is not connected to the module (aka my controller is turned off) just the fact that the module is plugged in makes my keyboard not work for that game

Btw Steam sees the module as a controller

I tried turning off the controller for that game using steam but it didn't work Running steam on the terminal then launching the game gives me this error

Only once

Failed to read input report: Dispositivo removido. (Device removed)

This one repeats every fast after the first error and only if the game is in focus

Failed to start reading input report: Acesso negado. (Access denied)

My system is in pt_br and some errors are in pt_br so I put in parenthesis what it means in English

I tried to get a log using proton_log, but it didn't give me a log. I think is because the game doesn't crash

PROTON: 5.0-9 OS: Arch Linux x86_64 Kernel: 5.7.7-arch1-1 CPU: AMD Ryzen 5 1500X GPU: AMD Radeon RX 580 RAM: 16GB

lucifertdark commented 4 years ago

The most recent update to the game has stopped it working. steam-960090.log

NoXPhasma commented 4 years ago

I can confirm, the game doesn't work anymore with update to version 20.0. It opens the game window and then closes right away. steam-960090.log

lucifertdark commented 4 years ago

steam-960090.log Here's another log with a fresh pfx, it's complaining about dx11 not being installed.

NoXPhasma commented 4 years ago

Probably because of your launch parameters: Options: {'wined3d', 'nod3d10', 'noesync', 'forcelgadd'}

lucifertdark commented 4 years ago

steam-960090.log Here's one without the launch options, not sure where forcelgadd comes from as it's not added by me.

NoXPhasma commented 4 years ago

forcelgadd is set by default for all games.

gofman commented 4 years ago

I've tested the game. The game now explicitly checks for Wine by searching for 'wine' in hardware platform strings obtain from the api and exits if it finds some. I am attaching the patch which allows the game to run, with this patch on top of Proton or mainstream Wine game worked fine for me. But ultimately this sort of issue is unfixable.There will always be the ways for a program to detect that it is running under Wine. If the game is intentionally refusing to work under Wine it will likely break again patch.zip after the next update.

NoXPhasma commented 4 years ago

The game now explicitly checks for Wine by searching for 'wine' in hardware platform strings obtain from the api and exits if it finds some.

Wow, I better hold off any words I have in my head now.

lucifertdark commented 4 years ago

Disappointing, wonder if it's the developers of the game or the developers of the game engine they're using that added that little nugget?

gofman commented 4 years ago

Disappointing, wonder if it's the developers of the game or the developers of the game engine they're using that added that little nugget?

I can’t guess that. From what I came through during the search for the crash reason it doesn’t look like it could be Mono or Unity. But that can be, e. g., some telemetry collection library linked with the program which does that for some reason, I can’t say really.

Sbte commented 4 years ago

Here's a patch for the version of Wine shipped with Proton 5.0

patch.zip

Sbte commented 4 years ago

You clone this git repository as described in the README, then use git am patchname.patch in the proton/wine directory, and then follow the instructions in the README on how to compile Proton.

qwerty-1871 commented 4 years ago

When I run that I get an error Applying: HACK: Make Bloons TD6 happy so it does not exit after getting string Wine from bios info. error: dlls/wbemprox/builtin.c: does not exist in index Patch failed at 0001 HACK: Make Bloons TD6 happy so it does not exit after getting string Wine from bios info. hint: Use 'git am --show-current-patch=diff' to see the failed patch When you have resolved this problem, run "git am --continue". If you prefer to skip this patch, run "git am --skip" instead. To restore the original branch and stop patching, run "git am --abort".

Sbte commented 4 years ago

Looks like you're not applying it in the wine directory.

myahenochs commented 4 years ago

So I messaged u/rohan_spibo on Reddit about this. His response: "There is some issues that seem unfixable so far which cause every user on proton to be seen as if they are all on the same device, and a lot of our server things triggered by 1 user are then doing so for every account on Proton."

It seems that this was done out of necessity by NK to stop Proton-related server issues. I don't believe using the patch in this circumstance would be appropriate if playing is causing issues for the devs, unfortunately.

gofman commented 4 years ago

If there is an issue of Proton not providing some real information for the game telemetry I think that can likely be fixed on Proton side. If the developers could let us know which api / info is required to stop the mentioned server issues that could be very helpful.

myahenochs commented 4 years ago

@gofman I directed Rohan here to this thread. I'm looking forward to some jolly cooperation.

ElderBlade commented 4 years ago

I contacted Ninja Kiwi support and this is the reply I got from Savannah:

Hi there,

Thanks for getting in touch.

Sadly, Linux caused quite a few issues for the game on our end which is why we chose to do this.

However, I will pass your feedback on to the team here.

Regards,

Savannah
lucifertdark commented 4 years ago

Hopefully there's a way to get it running without the problems, I'm ready & willing to test it if that happens.

kiranshila commented 4 years ago

If enough people are using wine to play that it's causing server issues on their side, maybe it's in their interest to recognize that a linux build would be really beneficial to the community. At the very least, it would make sense for them to provide what exactly was breaking so the compatibility layer gets fixed. Seems silly to me to shut out a portion of your potential market.

myahenochs commented 4 years ago

@kiranshila Linux isn't often a large enough market that it's worth creating and maintaining a build for it. As much as I'd love to see official Linux support, the devs seem to be trying their best with just having it supported well through Proton, and that's all that I can really ask for. They'd like to see this fixed just as much as we do; this was probably a tough decision for them.

kiranshila commented 4 years ago

Not a large enough market but large enough that the number of people playing with proton breaks their backend? I dunno, that's a hard sell. Considering they have builds for iOS, Android (unix), Mac (unix), and windows, I do not think it would be difficult to build for Linux.

nift4 commented 4 years ago

With considering that except that issue, the game worked flawlessy with Proton, so they could just do official Proton support with being whitelisted for Steam Play.

aeikum commented 4 years ago

@myahenochs We're definitely happy to work with the devs on this. Please feel free to ask them to reach out to me and/or Paul so we can find out what they require and how we can provide it.

dannyNK commented 4 years ago

Hi, Danny from NinjaKiwi here. The issue is related to Unity and how it interacts with wine. This was causing issues for users that we are unable to resolve. We understand it is frustrating to have the game no longer work, but we would rather resolve the issue first than have more users affected.

To make steps to rectify the issue we have submitted an issue report on the wine repo here: https://github.com/ValveSoftware/wine/issues/97. If the version of wine used by proton can be updated, and this resolves the issue as is stated, then we should be able to allow Proton to function again.

kiranshila commented 4 years ago

@dannyNK any reason not to just build for Linux? Should be straightforward for a unity game. Especially now that Vulkan has matured.

kisak-valve commented 4 years ago

Hello @kiranshila, whether Ninja Kiwi choose to provide a native Linux build is tangential to the purpose of this issue tracker. Since Proton is always an option to the end user, the technical issue still needs to be resolved and we appreciate the actionable feedback from the game devs on how Proton can be improved.

Please use another medium to express your interest in a native Linux build.

kiranshila commented 4 years ago

Fair enough

ElderBlade commented 4 years ago

So can we expect these fixes to be in the next release of Proton or do we need to wait for Proton to catch up to Wine 5.10?

nift4 commented 4 years ago

They probably will include it in the next release, citing from the wine issue:

If what you need is those patches from Wine 5.10, then we will have some good news for you soon.

Skibbo commented 4 years ago

With the newest Proton-5.9-GE-6-ST it works again.

NoXPhasma commented 4 years ago

I can confirm that with Proton-5.9-GE-6-ST Bloons works again.

Sbte commented 4 years ago

Note that as mentioned earlier in this thread, people at NinjaKiwi will very much not like the fact that you're playing BTD6 with the patch enabled in GE, unless GE also applied the patches that are required from wine 5.10, but I don't think they did.

GloriousEggroll commented 4 years ago

people at NinjaKiwi will very much not like the fact that you're playing BTD6 with the patch enabled in GE

Not true. It's not that they dislike it, they just want it implemented properly:

https://github.com/ValveSoftware/wine/issues/97

dannyNK commented 23 days ago • 
As per this issue here: https://bugs.winehq.org/show_bug.cgi?id=49160

In Unity games the SystemInfo.deviceUniqueIdentifier is consistent across all wine users. This causes issues when trying to individually determine users.

Wine 5.10 appears to have an update to address this issue.
kisak-valve commented 23 days ago
More specifically, https://source.winehq.org/git/wine.git/commit/84857d27067afaa1ae5774afe27086332263bfb5 and possibly https://source.winehq.org/git/wine.git/commit/f516a23041b3871625764611321250f977fe750a are the commits involved.

My build has: 84857d27067afaa1ae5774afe27086332263bfb5:

https://github.com/GloriousEggroll/proton-ge-custom/blob/40d45cd3ab6c88cdbb6c930aa4d42b04b143e684/patches/wine-hotfixes/backports-for-5.9/geforce-now-backport.patch#L576

But is missing f516a23041b3871625764611321250f977fe750a. I will get this implemented tonight.

myahenochs commented 3 years ago

Hi everyone! I have an issue that I haven't seemed to find documentation of. The background "layer" of the game (title menu, main menu, tracks, etc) have visual glitches: 2020-12-14_19-14 2020-12-14_19-15 2020-12-14_19-16 This is the case with Proton versions 5.13-4, 5.9-GE-8-ST, and Proton Experimental. I also have no launch options set.

The game was working with the GE Proton version until I updated BTD6 to the newest version a few days ago. I haven't played in a while, so I don't know when exactly this became an issue.

Here's my system info as requested by @kisak-valve. Please let me know if there are any issues with it, as I've never provided one of these before.

kisak-valve commented 3 years ago

Hello @myahenochs, please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report.

myahenochs commented 3 years ago

Thanks, @kisak-valve, I've updated my comment with it.

eiglow commented 3 years ago

I'm unable to reproduce that visual corruption on my current setup. Here is my system info.

hakzsam commented 3 years ago

@myahenochs I can't reproduce the problem with Mesa 20.2.2 and Navi10 (same config as you it seems). Are you sure you are using RADV and not AMDVLK? You might want to confirm with 'export DXVK_HUD=fps,devinfo,version'

myahenochs commented 3 years ago

@hakzsam the HUD yields:

DXVK v1.7.3-10-gc1f23643 AMD Radeon RX 5700 XT Driver: 2.0.167 Vulkan: 1.2.159

And then since you specifically included fps, it's hovering around 144.

I'm very unfamiliar with video drivers and this tool, but from what I can tell, I'm using AMDVLK. I tried adding VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json to my launch options to force RADV, but the HUD still displayed Driver: 2.0.167 and I still had the graphical issue. If this was the wrong conclusion or course of action, well... I tried :sweat_smile:

I appreciate your help, by the way, despite this not seeming to be a Proton issue.