ValveSoftware / Proton

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

Assassins Creed Origins (582160) #928

Open thaleslimao opened 6 years ago

thaleslimao commented 6 years ago

Under the games when clicking on play brings me the UPLAY login screen.

When adding my credentials always returns me error and I can not connect,

If anyone can simulate this scenario to see where exactly the error is, thank you.

Kubuntu 18.04

kisak-valve commented 6 years ago

Hello @thaleslimao, 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.

Most likely the same issue as other uplay games.

thaleslimao commented 6 years ago

@kisak-valve

https://gist.github.com/thaleslimao/cb1bb26a44c3d1bfa16ad6da9415cdcc

image

lieff commented 5 years ago

Does game works without uplay login?

Alexmitter commented 5 years ago

@thaleslimao It is known that Proton does not contain a certain patch that is included in the current wine-staging, it fixes this Uplay bug.

@lieff No, Uplay also don't allow offline use of Uplay until you are logged in once.

Alexmitter commented 5 years ago

@kisak-valve is there any plan to include the Wine Patches in question to make Uplay login possible?

jacobsandersen commented 5 years ago

Is there a current workaround (force use of wine patches?)

Alexmitter commented 5 years ago

@simpleauthority For this, you would need to apply the patches to the source code and compile it yourself.

Alexmitter commented 5 years ago

Today Proton 3.16 got released. Uplay now let you log in but fails at the "initialize" part were it once again tells you that it is unable to connect to Ubisoft Servers. @kisak-valve are there any patches of 3.16 not included?

d10sfan commented 5 years ago

@Alexmitter You may need to do this to get it to fully work: https://github.com/ValveSoftware/Proton/issues/162 and then once that's done, uplay may ask you to install steam. If you let it (and in a different directory), the rest should work as expected.

Alexmitter commented 5 years ago

@d10sfan yes i can confirm those symlinks do help.

ghost commented 5 years ago

Symlink a recent libgnutls version solves the problem initializing Uplay, but when launching Origin is trying to find a Steam installation in Windows.

I have tried to bypass it by deleting Steam folder already exists under Program Files directory and installing the one Uplay trying to install.

After this Uplay can continue, download savedata on cloud and initialize the game. I can see the AC Origin process in processes tree using 6-10% CPU during 10 sec, so it seems is trying to load, but after these seconds, the process is killed.

dreamer commented 5 years ago

@hsanchezv to work around Uplay looking for Steam - just pass some new directory to Windows Steam installer, DO NOT launch Steam automatically (just let Uplay put files in there) and it's enough - game will work. It's kind of stupid, that we're wasting ~400 MiB to download Windows Steam inside Windows Uplay inside Linux Steam, but at least it doesn't need to be started.

tryton-vanmeer commented 5 years ago

It would be interesting to know how Uplay checks if Steam is installed. Then it could be integrated into proton, thus removing this work around and lead to less confusion to users.

If Uplay was checking the Windows registry, I'm sure Proton could add a registry entry to the default prefix.

Dexter9313 commented 5 years ago

I have a better workaround which costs no disk space : I launch the game once so that Steam Play creates the prefix, Uplay updates and all that then I close everything (closing Steam is not necessary) and I symlink an already existing Steam Wine installation I have installed with Lutris within the game's prefix. (Something along : rm -rf $STEAM_LIB/compatdata/xxxxx/pfx/drive_c/$PROGRAMFILES/Steam ln -s $HOME/.wine/drive_c/$PROGRAMFILES/Steam $STEAM_LIB/compatdata/xxxxx/pfx/drive_c/$PROGRAMFILES/Steam ) I launch the game again and Steam doesn't complain being installed in a non-empty directory (you effectively just reinstall your Steam Wine, register keys will be created in the game's prefix and Uplay will be happy and Steam seems to not care to reinstall on top of itself).

ghost commented 5 years ago

I have seen Uplay log and I think that is the error:

[1025/202256.590:ERROR:network_change_notifier_win.cc(157)] WSALookupServiceBegin failed with: 8 [1025/202256.890:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization [1025/202257.151:ERROR:viz_main_impl.cc(201)] Exiting GPU process due to errors during initialization [1025/202257.163:ERROR:browser_gpu_channel_host_factory.cc(119)] Failed to launch GPU process. [1025/202257.164:ERROR:gpu_process_transport_factory.cc(1026)] Lost UI shared context.

I still investigating.

arno01 commented 5 years ago

I've managed to re-compile the Proton from official source repo (along with the Wine, FAudio, lsteamclient, vrclient, dxvk) in my Ubuntu:Bionic docker container. I haven't changed anything, except that I did not use Steam Runtime when compiled the Proton. Then, I used GCC/G++ v8 instead of v5 as in the docs, libgnutls v30 instead of v26. And I've also gotten additional libs opencl.dll.so, winegstreamer.dll.so, wineoss.drv.so under lib64/wine (for some reason these aren't in the Proton 3.16 Beta). Otherwise, I've got nothing missing from my build. DXVK v0.90-206-g3b3ccc8.

The UPC.exe (Uplay) is now finally working (I can login there and see games in the Uplay UI). Unfortunately ACOrigins.exe is just running for ~10 seconds and quits. Nothing interesting is in the logs at a quick glance. (PROTON_LOGS=1 %command%). Additionally I've seen in the debug logs it was trying to load msmpeg2adec.dll, msmpeg2vdec.dll, sqmapi.dll so I've taken those from my Windows 7 and registered them, they got loaded with no issues, but that did not help the game to start.

Digging deeper, it appears like the game has the DENUVO DRM protection which is probably preventing the game from running in Proton/Wine. I am not 100% sure if it is because of that and whether this can be worked around.

$ grep DENUVO /home/user/.local/share/Steam/steamapps/common/Assassins\ Creed\ Origins/Support/License/lic_en-US.txt

3.1 THE PRODUCT IS PROTECTED BY DIGITAL RIGHTS MANAGEMENT SOFTWARE (“DRM SOFTWARE”) AND DENUVO ANTI-TAMPER PROTECTION TECHNOLOGY (“ANTI-TAMPER TECHNOLOGY”).

I am going to try rebasing my Proton over the latest wine-staging 4.0-rc4 and DXVK v0.94 and see if things get better. Will post in case if I find it starts the ACOrigins.exe.

lox-enterprises commented 5 years ago

@arno01 I don't have Origins, but I wonder what the differences are in DRM between all the AC games. Apparently, Unity works, and Odyssey does not show this issue, so where does Origins fit in? Also, could it perhaps be a 'simple' connection issue, where it fails to check the game with the server?

arno01 commented 5 years ago

@1202software I haven't been digging into any DRM module, so no clue whether it is a culprit. Just speculating.

Meanwhile I have built Proton with wine-4.0-rc4 (plus wine-staging 4.0-rc4 patches except: xaudio2_7-CreateFX-FXEcho, xaudio2_7-WMA_support as they were drastically breaking some of xaudio2 commits that I have incorporated https://github.com/ValveSoftware/wine/commit/967f095438, https://github.com/ValveSoftware/wine/commit/ce7cacbbf7, https://github.com/ValveSoftware/wine/commit/0d66671809, https://github.com/ValveSoftware/wine/commit/478f3c4a2c)

Plus these Valve patches to make Wine work with Steam and enable Liberation fonts so Uplay window won't go transparent/black (with the xaudio2 patches along as FAudio is what we want, IIRC by looking at https://github.com/ValveSoftware/wine/issues/2 , https://github.com/FNA-XNA/FAudio/pull/46):

user@proton:~/proton/wine$ git log HEAD...wine-4.0-rc4 --pretty='%C(blue)[%ai] %<(8)%C(green)%h %<(70,trunc)%s %<(15,trunc)by %an %ar'       
[2018-12-18 11:44:49 -0500] a2c8f63fed xaudio2: Rewrite I/O for new FACTFileIOCallbacks support               by Ethan Lee       13 days ago
[2018-12-17 17:35:11 -0500] 8221ad992a xaudio2: Unwrap XAudio2 pointers, ReadFile needs OVERLAPPED, unwrap_.. by Ethan Lee       2 weeks ago
[2018-12-17 09:54:30 -0500] c4f43b9744 xaudio2: XACT CLSID fixes                                              by Ethan Lee       2 weeks ago
[2018-12-10 12:48:41 -0600] 6cf2333bd8 xaudio2: Set PulseAudio application name property in the environment   by Andrew Eikum    3 weeks ago
[2018-12-06 11:26:50 -0600] f0045124b8 xaudio2: Consistently prefer native on 32-bit                          by Andrew Eikum    4 weeks ago
[2018-11-27 12:04:24 -0600] 6e83192c22 xaudio2: Wait for engine thread to be ready                            by Andrew Eikum    5 weeks ago
[2018-11-16 15:41:22 -0500] cae84b0a3c [xaudio2] Add support for xactengine3                                  by Ethan Lee       6 weeks ago
[2018-11-16 15:39:10 -0500] 23569e587e [xaudio2] Rewrite to use FAudio                                        by Ethan Lee       6 weeks ago
[2018-03-19 11:34:35 -0500] 6f36b4a13c kernel32: Don't force-load Steam.dll                                   by Andrew Eikum    10 months ago
[2018-01-19 14:01:07 -0600] 8251e80e29 HACK: advapi32: Use steamuser as Wine username                         by Andrew Eikum    12 months ago
[2017-12-28 09:43:36 -0600] 1ee8861593 kernel32: Support steamclient64                                        by Andrew Eikum    1 year ago
[2017-12-27 13:31:59 -0600] 751ebb13d9 loader: Set up Steam stuff in the registry                             by Andrew Eikum    1 year ago
[2017-06-13 12:35:56 -0500] 35345f0566 HACK: kernel32: Put Steam program files dir into PATH                  by Andrew Eikum    1 year, 7 months ago
[2017-06-09 10:31:27 -0500] 2ac8a7a5af HACK: kernel32: Return steamclient instead of lsteamclient during Ge.. by Andrew Eikum    1 year, 7 months ago
[2017-06-05 14:41:28 -0500] 438186eca7 HACK: kernel32: Load hard-coded Steam.dll path if relative load fails  by Andrew Eikum    1 year, 7 months ago
[2017-05-11 10:50:08 -0500] 6184c9c256 HACK: kernel32: Swap requests for steamclient.dll with lsteamclient    by Andrew Eikum    1 year, 8 months ago
[2017-04-27 13:25:04 -0500] d7df85e2bc HACK kernel32: Substitute the current pid for the Steam client pid     by Andrew Eikum    1 year, 8 months ago
[2018-10-23 16:18:20 +0300] d6762eac0b wine.inf: Add font registry entries.                                   by Nikolay Sivov   10 weeks ago
[2018-12-31 19:23:45 +0100] 539c4d18cc apply wine-staging 4.0-rc4 patches (-2)                                by Andrey Arapov   34 minutes ago

So not much of a progress with the game... ;-/ Here is the maps for ACOrigins.exe running for ~10 seconds: https://0.nixaid.com/?3d13a180a2b8d990#WWxatWE8+WoNPgAKKzNhwYx3ySgjiGDxIorx3/3FvzQ=

Update 1

The good point is that with Proton based off wine-stg-4.0-rc4 I can finally set 240Hz screen refresh rate in Call of Duty 4: Modern Warfare cod4mw-wine-stg-40rc4-proton-240hz

And the game picks own screen resolution now (I can see it when I do Alt-Tab). I am not sure whether this is something new that comes with >= wine-3.16 or maybe it is something that should have been dropped by the Valve patches from proton_3.16 branch? In the default Proton 3.16 when any game is running it feels like it isn't running in its own resolution, but rather uses the current user's screen resolution. So in-game one can see (and set) max. of 60Hz whilst the game is actually running 120Hz/240Hz (of course only if the user sets such in his Xorg [xrandr] / nvidia-settings / .. and the monitor supports such, obviously).

Upd2 [31/Dec/2018]: played Broadcast map (CoD4 MW), got ~60-80 fps outside (in the street), up to 140 fps inside (in the building) on my GTX 1060 6GB; 16GB RAM; i7 2600 @3.40GHz.

Upd3 [1/Jan/2019]: actually the performance is much better with the Proton built off the bare proton_3.16 branch, most likely this is because I haven't merged all the Valve's patches as some of them improve the performance. If anyone is wondering, here is my build env. for building Proton in Docker https://git.nixaid.com/arno/proton/

Arucard1983 commented 5 years ago

When proton 4.11.1 and 4.11.2 was released this game finally works. It is still necessary to disable Uplay Overlay to the game start (or it will stall with a black window). Probably the VMProtect DRM now runs correctly with the last branch of Wine. The funny thing is the Uplay Overlay works partially (the game don't stall at beginning) when it runs the Windows version of Steam using plain Wine or running with Lutris with some games of Assassin's Creed saga.

Patola commented 4 years ago

I bought the game for me (Ubuntu 18.04, Ryzen 7 2700, 32 GB RAM, RTX 2070 SUPER) and my wife (Ubuntu 18.04, Ryzen 5 1500X, 8 GB RAM with 16 GB swap, GTX 1070). In my rig it starts correctly with the uplay overlay disabled, in my wife's rig, with the same configurations, it doesn't start: after the dialog box saying launching without uplay steam "is not recommended" is shown and she presses the green button to launch, the dialog box disappears, a new dialog seemingly appears and disappears very quickly and the game does not launch.

kisak-valve commented 4 years ago

Hello @Patola, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the crash, and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

Patola commented 4 years ago

steam-582160.log

Patola commented 4 years ago

Fixed. Noticed in steam play my wife's configuration pointed to proton 4.2-9. Changed to 4.11-2 and it played correctly.

oliwer commented 4 years ago

Hi. I just tried to run AC Origins with Proton 5.0.4 and it fails to run. It was working fine with Proton 5.0.3. What happens is Uplay starts the game, a new window appears for less than a second and disappear, and then nothing. The ACOrigins.exe process remains alive, but it does nothing (0% cpu usage). I have to manually close Uplay to kill the process.

steam-582160.log.gz

alasky17 commented 4 years ago

We have found a fix for this, which will be in the next Proton release. In the meantime, there is a new app branch for the Proton 5.0 app called "proton-5.0-3" which you can use to play the game. You can find it on the BETAS tab in the settings for the Proton 5.0 tool in your Steam client.

aeikum commented 4 years ago

Hello. Assassin's Creed Origins should be playable again in Proton 5.0-5. Thanks for reporting the problem!

jomarocas commented 4 years ago

REMEMBER for each version of proton 5, for me i need to erase the appdata of this game and later play and later of recreate data, my save game, for me that no save in the cloud, but works very good, sometimes flawless and crash the game but i dont know why, if is for temperature, or ubisoft developments, because in windows also, i will try odyssey later of pass this game

DistantThunder commented 4 years ago

Hi, Assassin's Creed Origins seems to be "broken" again with Proton 5.0.6 with UPLAY updater unable to find new updates, and potentially to update itself.

I used Proton-GE 5.5-GE-1 and it worked.

kisak-valve commented 4 years ago

Hello @DistantThunder, please add PROTON_LOG=1 %command% to the game's launch options, reproduce the regression, and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

jomarocas commented 4 years ago

I play good in origins, i dont know what is the problem, with erase the comptdata folder i can play good

DistantThunder commented 4 years ago

Unfortunately, successfully updating Uplay nullified the the chance of the bug happening.

It should be reproducible with a clean UPLAY install though, if it's indeed the problem I spotted.

CSahajdacny commented 4 years ago

This is why I insist that the Uplay client should have its own entry in the tools section, so you can install it only once, login to your uplay account and download your Uplay-Steam tied games.

regulator-g commented 4 years ago

Hi guys, Origins is working fine in regards to Uplay. I find the game very sluggish though compared to Windows, has anyone experienced this?

Basically I played the game for 5 mins, noticed that when the game is running at 60fps it FEELS like 30fps, moving the mouse or controller is very laggy/sluggish

No stutters that I observed just delayed response.

I copied the game files to Windows and launched it. Noticed an improvement straight away! even at 45fps on windows the game feels smoother than 60fps on Linux(!!!)

I tried a few different settings - windowed, vsync, etc. It seems if I turn the graphics down to low, im getting 80-100fps the controls do seem more responsive but still not "normal" like windows. I launched Shadow of Mordor and this game feels smooth, obviously its a native game though.

settings: 1440p fullscreen vsync off frame limit off dynamic res. off esync on/off gamemode on/off compositor on/off controller plugged/unplugged fsync is on because i have 5.7 kernel

Specs: Manjaro kernel: 5.7.14-1-MANJARO DE: Xfce 4.14 CPU: AMD Ryzen 5 2600 GPU: Radeon RX580 Driver: Mesa 20.1.5 with ACO enabled Screen: 1440p, 144hz, tearfree and VRR enabled Steam, Proton 5.0.9

kakra commented 4 years ago

@regulator-g Do you play with controller or mouse/keyboard?

mozo78 commented 4 years ago

It's very strange. For me the game is running without any problems at all. May be it's a Mesa problem? https://youtu.be/3FJtkJo77E4

regulator-g commented 4 years ago

I play with a controller but I've tried the keyboard and mouse too. I'm getting used to it playing on lower settings.. I'll try test another proton game between Manjaro and Windows and see if I can notice anything.

kakra commented 4 years ago

@regulator-g When playing with a controller, try disabling controller configuration support in Steam. I think you'll have to do it from big picture mode. Some people reported it introduces lag.

viggy96 commented 3 years ago

Is there any way to disable the "unsupported video driver" notification from Origin? Its extremely annoying, and I haven't found a way to close it.

regulator-g commented 3 years ago

No Uplay? Odd.. Try with Lutris

nyanloutre commented 3 years ago

Hello,

Since today I can't play with Proton 5.0-10 (I can't use 5.13 with my Linux distribution for the moment). Uplay is failing to start and I can see a "Failed to connect to Uplay" in the logs steam-582160.log Did somebody else experienced this ?

Thanks,

regulator-g commented 3 years ago

Hello,

Since today I can't play with Proton 5.0-10 (I can't use 5.13 with my Linux distribution for the moment). Uplay is failing to start and I can see a "Failed to connect to Uplay" in the logs

worked this out for you..

5.13 = ass-creed works fine 5.0-10 = failed to detect uplay I went and deleted the compdata folder (/home/steam/steamapps/compatdata/582160/) then launched again and uplay was reinstalled game works again now

nyanloutre commented 3 years ago

@regulator-g I already tried this, but I think the issue comes from my Linux distribution and some Steam update (the LD_LIBRARY_PATH "optimisation" might be the culprit)

Fixed by adding /run/opengl-driver/lib to the LD_LIBRARY_PATH

nyanloutre commented 3 years ago

Hello,

Sometimes the game completely freeze, but this is not happening every time I play this game.

I managed to capture logs during a crash like this: steam-582160.zip

ipr commented 2 years ago

With a fresh install game complains that it cannot find Uplay. Manually installing Uplay fixes this: ... WINEPREFIX=/path/steamapps/compatdata/582160/pfx /path/steamapps/common/Proton\ 6.3/dist/bin/wine64 /path/steamapps/common/Assassins\ Creed\ Origins/Installer_Resources/UPlayInstaller.exe ...

After that game launches with Uplay. However, trying to switch to Steam overlay will freeze the game. Also game somehow does not detect gamepad on launch. Ubisoft overlay keeps on notice that drivers are not supported which is a small annoyance.

ipr commented 2 years ago

Disabling Steam input makes controller work again in the game. Game has decent framerate with Proton experimental too.

kakra commented 2 years ago

Since one of the more recent Proton Experimental updates, AC:O does no longer boot, it just hangs there. An interesting observation: If I force the re-installation of the uplay launcher via protontricks (which will be refused because a newer version is already installed), it just works. Other Uplay titles seem to be affected as well.

steam-582160.log

Anon-Ex-Machina commented 2 years ago

@kakra Assasins Creed: Origins. Runs perfectly. Proton GE 7.17 and Proton Experimental

Runs without any performance issue on highest settings with vsync disabled in game.

smintman commented 2 years ago

Latest Assassins creed origins (update 1.60?) from Ubisoft I think has broken the game, after a few mins of gameplay the game freezes. Making the game now unplayable when it used to work amazingly.

Tried Proton experimental and proton 7.02 still same happens.

Others reporting same issue here https://www.reddit.com/r/SteamDeck/comments/v6tt60/anyone_else_playing_assassins_creed_origins/ibhdeuz/?context=3

As requested;

https://gist.github.com/smintman/f9f3c7d46ef60f89a0eb75248b36b905

steam-10469080352805617664.zip

kisak-valve commented 2 years ago

Hello @smintman, please add PROTON_LOG=1 %command% to the game's launch options and attach the generated $HOME/steam-$APPID.log to this issue report as a file. (Proton logs compress well if needed.) Also, 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.

smintman commented 2 years ago

Added to my original comment