ValveSoftware / Proton

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

Assassin's Creed Odyssey (812140) #1757

Open matty-r opened 5 years ago

matty-r commented 5 years ago

Compatibility Report

System Information

I confirm:

Log File

(Too Large to paste here) Log File

Symptoms

Uplay will launch and update, after update Uplay will report "Connection Lost, A ubisoft service is currently unavailable. You can try again later or switch to offline mode". Offline mode will not work as it's required to login atleast once before offline mode is allowed.

Reproduction

Start the Game without any additional launch options.

d10sfan commented 5 years ago

You might need this work around for the uplay error: https://github.com/ValveSoftware/Proton/issues/162#issuecomment-425779454

matty-r commented 5 years ago

@d10sfan , that did not resolve my issue. Thanks for the suggestion however.

lox-enterprises commented 5 years ago

I got it working with Arch.

You need:

Uplay will launch and initiate Steam for Windows installer (I had to remove some previous installation first), after that it will launch the game. It appears to run stable and without flaws!

matty-r commented 5 years ago

@1202software That worked well, thank you. I'm able to get into the game.

Another issue i'm having, it's not detecting my monitor correctly. I have a 3440x1440 100Hz display, it detects it as a 640x480 60hz - wouldn't be an issue however changing to the correct ratio and resolution doesn't appear to change it correctly and will have black bars top and bottom.

lox-enterprises commented 5 years ago

@matty-r The game was not made for such resolutions, I guess. I myself use a 3840x1600 resolution (Ultrawide), fortunately this is detected correctly and it runs at this resolution, looks absolutely stunning without black borders and such. In-game it tells me under the graphics options 'Multi monitor'.

You could try tweaking the game's ini-file, ACU.ini. There, you can set the correct resolution. Hope it helps. Some more about that: https://forums.ubi.com/showthread.php/983991-AC-Unity-start-up-resolution-issue-Forums

matty-r commented 5 years ago

@1202software I'll have a look at that and let you know.

The game itself supports that resolution no problems as I've been playing it under Windows without any issues. Under Linux I was able to select the right resolution in the menus but it still had those borders. I'll have a play and report back.

matty-r commented 5 years ago

I tried as you suggested and it didn't make a difference. I also basically just copied the INI from Windows and copied into the same location under the SteamPlay compat folder, which also didn't appear to make a difference.

Under Linux

Under Windows

lox-enterprises commented 5 years ago

@matty-r Sorry, I'm running Assassin's Creed Unity, not Odyssey, guess I got the titles mixed up. Unity is an older game and that does not seem to know about 4K displays (at least not in Linux) and lists it as 'Multi monitor'.

I would have to get Odyssey to see if I'm getting the same issue, but Unity worked out of the box for me. One thing I noticed is in your Linux screenshot it displays 'Aspect ratio' as '4:3' (that's true of course for 640x480), what happens if you change that? Does it list more resolutions?

SleepProgger commented 5 years ago

I am experiencing the same resolution problems with an AMD Radeon RX580 and a kinda normal resolution of 1920x1080. Didn't manage to get rid of the border. The game also thinks my native resolution is 640x480, but lets me select the correct resolution (still borders tho)

doitsujin commented 5 years ago

A workaround for the resolution issue is to use wine's virtual desktop for the game. No idea what might be causing this behaviour though.

matty-r commented 5 years ago

@1202software So the Linux screenshot was taken when my resolution was set to 3440x1440 and the aspect ratio set to 21:9. So yea, when I set it to what it's supposed to be then thats how it's displayed with the black bars.

SleepProgger commented 5 years ago

Is there a way to get wines virtual desktop in fullscreen or borderless window mode ? Otherwise i prefer the black ingame border TBH.

Additionally i get occasional graphic glitches like these https://i.imgur.com/jPst1dt.png Still freakin awesome that the game already runs almost "playable" on linux such a short time after the release

doitsujin commented 5 years ago

When you set the virtual desktop size to your native monitor resolution, it should behave like any other (borderless) fullscreen application.

@SleepProgger The game is known to be broken on current/older Mesa, it renders correctly when using mesa-git and LLVM 8 (LLVM 7 might work too, haven't checked).

Bleuzen commented 5 years ago

@doitsujin I set wine to use a virtual desktop and set it's size to my screen resolution. Black borders are gone, but input doesn't work in this mode. I don't see a mouse in the game. Also my keyboard and game cotroller do nothing. When I disable virtual desktop, I have black borders again, but keyboard, mouse and controller do work again.

Edit: I have LLVM 7.0.0 installed and the game works great (except the black borders in fullscreen mode).

doitsujin commented 5 years ago

Strange, input works fine on my end.

matty-r commented 5 years ago

@doitsujin so how do you use the virtual desktop?

SleepProgger commented 5 years ago

I tried it with Mesa 3.2 using llvm 7 on manjaro and had the same glitches. Currently compiling mesa-git (which takes like forever). Hoping that will solve the glitches.

@matty-r Use winecfg, go to the "Graphics" tab and select "Emulate a virtual desktop.

Method 1. Use native winecfg: If you have wine installed on your system: GAME_ID="242050" WINEPREFIX="$HOME/.steam/steam/steamapps/compatdata/${GAME_ID}/pfx" winecfg *Replace 242050 with ID of the game you want to configure the prefix of.

Method 2. Use protons winecfg (suggested version): You can also use the wine version shipped with proton. I created a simple script for this to make it easier: https://gist.github.com/SleepProgger/2538c8931c61b752f42cfcf6326e3621 Start it like: ./proton_run 242050 winecfg This will use Proton 3.16. If you are using another version start it like: PROTON_VERSION="YOUR VERSION HERE" ./proton_run 242050 winecfg

matty-r commented 5 years ago

@SleepProgger Nice, that seems to of done it.. One more issue though. That wine virtual desktop has the task bar at the bottom even when the game is meant to be fullscreen.

Any way to get rid of that task bar?

SleepProgger commented 5 years ago

@matty-r : See comment by @doitsujin

When you set the virtual desktop size to your native monitor resolution, it should behave like any other (borderless) fullscreen application.

With mesa-git with llvm.8 and the 4.19 kernel on manjaro using an rx580 the game runs flawless now.

matty-r commented 5 years ago

@SleepProgger Hmm ok i'll need to try and figure that out - it's a little frustrating having that task bar there.

aeikum commented 5 years ago

@SleepProgger WRT the proton_run thing, you might find the PROTON_DUMP_DEBUG_COMMANDS switch useful.

lox-enterprises commented 5 years ago

OK... apparently there was an update to Proton, now running version 3.16-4 Beta. Now the game doesn't start AT ALL. When I click 'Play' it immediately quits. Anyone recognize this?

Bleuzen commented 5 years ago

@1202software For me 3.16-4 is ok, the game still runs as it was with 3.16-3. Maybe you could try:

Bleuzen commented 5 years ago

Another problem that I have (but this is nothing new, was already there with 3.16-3) it that the game or Proton does not prevent the screensaver. Every 10 minutes during playing with controller my screen turns of. Proton should prevent from going to screensavers in the future.

lox-enterprises commented 5 years ago

@Bleuzen Thanks for the tips. I've got the latest Steam, I think, it says 'built Nov 2 2018' and I'm enrolled in the Beta program. I've killed wineserver and redid the linking, to no avail. I've seen some ways to change the wineprefix, what's the best way to reset it?

Personally, I suspect Uplay, which starts first when launching the game, but it doesn't start at all. It does start when I switch back to Proton 3.7, but that does not have the internets working, so it remains at the login screen. But at least that's something, going back to 3.16-4 it craps out immediately.

Bleuzen commented 5 years ago

@1202software yeah should be newest steam. Same build I'm using. To 'reset' the prefix, try to rename the 'pfx' folder in your SteamLibrary/steamapps/compatdata/812140/.

lox-enterprises commented 5 years ago

@Bleuzen Ah, yes, tried that, then it starts complaining about the missing 'UplayLauncher', and it says I should re-install the entire game. So I'm currently attempting that, waiting for the huge download to finish...

Bleuzen commented 5 years ago

@1202software The game should be in steamapps/common. If you didn't touch it, there should be no reason to re-download the entire game. I thought Steam would detect it. Did you restart Steam after pfx rename?

lox-enterprises commented 5 years ago

@Bleuzen I did, didn't work (I even rebooted the computer for good measure). However... after a good few hours of downloading and then reinstalling the game, upon launch it goes through the process of reinstalling DirectX etc. and of course the Ubisoft stuff, and it now launches and works again without a hitch!

There is a certain sequence of execution with multiple elements. Apparently, something in this sequence went broken and letting Steam recreate the pfx folder isn't enough to straighten it out. I'm happy reinstalling the game does, because otherwise it would mean digging down deeper into this construction involving Uplay, Steam and Proton/Wine, tossing in between the odd library or driver.

Bleuzen commented 5 years ago

@matty-r Did you get rid of the task bar in virtual desktop mode somehow?

Edit: Someone made a patch for it: https://forum.winehq.org/viewtopic.php?f=8&t=29805#p113197 But it is not in Proton :/

matty-r commented 5 years ago

@Bleuzen nah mate - bit unfortunate really. I guess the real issue is that it needs that Virtual Desktop enabled in the first place.

pintodragon commented 5 years ago

For me the game only loads the first time I click play after it is installed. After that it only launches uplay and won't start the actual game :-(.

Edit: https://pastebin.com/9PDARXg0 A section of my logs that has an error related to GPU init. No clue if this is the issue or not. The entire log can be found at https://paste.fedoraproject.org/paste/yYvHd3PFfFA8X0qEk8A6dw but it may take a long time to load/not work at all. The log is 8.4mb.

Bleuzen commented 5 years ago

Does the game / Uplay still work for some of you? I wanted to play today again.. got an Uplay update and now it doesn't start anymore. When I press play in Steam, the processes 'upc.exe' and "UbisoftGameLauncher" spawn, but nothing happens. No Uplay windows comes up, the game also not starts. If I press play in Steam again, it says the game is already running.

I tried it with Proton 3.16-4 and 3.16-5. Both don't work. But 3.16-4 already worked before.

I deleted the compdata folder for the game (the wineprefix), so that this get's reset. I restarted steam and started the game again. It installed Uplay again. After first launch, Uplay opens and downloads an update. After the update, Uplay should restart, but it doesn't open. And then the problem starts again. Uplay just dosn't open anymore. Seems to be so since the newest Uplay update.

You have the same problem and does someone already have a fix?

tijder commented 5 years ago

@Bleuzen I have the same problem.

pintodragon commented 5 years ago

@Bleuzen I switched to the lutris installer for the game. I have been playing it for the last 8 days with minor issues that people see here with the virtual desktop and keyboard/mouse quirks.

Bleuzen commented 5 years ago

@pintodragon Yes it works in Lutris with wine 3.21. But it stopped working with Proton 3.16.

lox-enterprises commented 5 years ago

@Bleuzen Yep, I think it's Uplay as well. I looked through the log files in the pfx dir and it reports networking issues. It cannot seem to get online anymore. The odd thing is, as your reported, it does download the Uplay update when you reinstall the game. It's only after installing the update that it does not go anywhere anymore and cites network issues.

I don't know exactly how Uplay is tied in to the whole libgnutls deal, perhaps a solution can be found there, putting a symlink somewhere else? I've tried a few dirs (like the Proton dirs) but to no avail.

But it stopped working with Proton 3.16.

It worked fine for me in 3.16-4. We now have 3.16-5 Beta, that does not work with the game, but when I switch back to the 'trusty' 3.16-4 it doesn't work either.

However... thinking about this: we used to have 3.16-4 Beta (that worked!), now we have 3.16-4 (non-Beta) and 3.16-5 Beta... could it be Proton is repackaged and now they're both broken as far as Uplay is concerned - ie. there's a fundamental difference between 3.16-4 Beta and non-Beta?

Bleuzen commented 5 years ago

Maybe Ubisoft updated some network library in Uplay, which is not compatible with Proton/wine 3.16 anymore.

Here are my test results so far.. The wine versions that work with new Uplay are marked.

So it seems that Proton needs a wine-staging patch or to update to wine >= 3.21.

gabevenberg commented 5 years ago

@Bleuzen, how do you get AC working with wine 3.21? simply launching the exe through wine on the command line complains about a missing uplay launcher, and although I have wine installed on the package manager on my system, It does not show up as an option as a compatibility tool.

sorry if this is the wrong place to ask, but a quick duck search failed me, and I am relatively inexperienced with wine and proton beyond the most basic use.

Bleuzen commented 5 years ago

@TheToric I used Lutris. With Lutris it is pretty easy to install any wine / dxvk version.. you should try it. https://lutris.net/downloads/

gabevenberg commented 5 years ago

are you running it through the windows version of steam? even with lutris, it still complains about a missing uplay launcher...

Bleuzen commented 5 years ago

@TheToric Yes I'm running the Windows version of Steam.. it should install UPlay on first launch.

tijder commented 5 years ago

With proton 3.16-7 beta Assassin's Creed Odyssey is working again. I needed to disable the uplay overlay, without disabling the overlay it starts with a black screen. Their still are black borders at top and bottom. 20190218203925_1

NTMan commented 5 years ago

I confirm this issue.

I am also confirm this.

Plus:

Proton logs: steam-812140.log

NTMan commented 5 years ago

After short pause and ALT-TAB to Google Chrome after returning to game begins showing artifacts:

screenshot from 2019-02-24 20-28-56

screenshot from 2019-02-24 20-29-08

screenshot from 2019-02-24 20-31-40

@doitsujin can you look this is DXVK bug?

doitsujin commented 5 years ago

@NTMan Ugh, looks like some of the game's graphics memory gets corrupted when you switch to a different application. This shouldn't happen, and I can't reproduce the problem.

I also cannot reproduce your performance problems in cutscenes.

What's your GPU and graphics driver version?

NTMan commented 5 years ago

What's your GPU

AMD Vega 64

graphics driver version?

Mesa: 19.0.0-rc4 LLVM: 7.0.1

doitsujin commented 5 years ago

Hm. Kernel version might be interesting as well in this case.

NTMan commented 5 years ago

Hm. Kernel version might be interesting as well in this case.

5.0.0-0.rc6.git1.1.fc30

Ruedii commented 5 years ago

You need:

* Steam runtime (obviously)

* Proton 3.16 as compatibility tool (select from Steam > Settings > Steam Play > Compatibility tool)

* the `lib32-gnutls` package (so `sudo pacman -S lib32-gnutls`)

* the following symlinks (this issue is mentioned in multiple posts, it appears to reference/required an old version of `libgnutls`, symlinking it like this will put the symlinks in the Steam-directory, where they belong, instead of system-wide symlinking):
  `sudo ln -s /usr/lib/libgnutls.so.30.14.11 ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgnutls.so.26`
  `sudo ln -s /usr/lib32/libgnutls.so.30.14.11 ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgnutls.so.26`

If the gnutls link in the steam runtime directory simply links to the wrong file and isn't the wrong library, you can simply add the appropriate compatibility link in your lib32 directory. This is usually the better solution.

That is of course, presuming, the new version (libgnutls30) is drop in compatible with the old version (libgnutls26). If the old version is incompatible for some usages, you might want to get a security-patch updated version of the old version specifically for compatibility with older programs linked against libgnutls26.

You can check the changelogs to see if there are any changes that break compatibility. In all likelyhood there aren't. GNU-TLS tends to be forwards compatible between versions, as do most simple libraries. I only remember two Non-GUI incompatable changes to anything and they were major upgrades (libc6 from libc5, and Python 3 from Python 2.) I know.

I just made myself look like an old nerd by mentioning the disaster of switching to libc6 from libc5. :smile: