Open rdlf4 opened 6 years ago
@kisak-valve You are perhaps already aware but it therefore applies to all Uplay games (Assassin's Creed, Far Cry, For Honor, etc) And I've seen similar issues for games requiring Origin as well.
Wine < 3.15 needs patches from Staging to have the possibility to connect correctly on UPlay.
@berillions Could you recommend a PPA that provides an updated Wine version which connects correctly to Uplay? If those patches need to be applied manually, could you give me a URL to point me to the right direction? I need some more clarification on this.
You can use the official wine repository for Ubuntu : https://wiki.winehq.org/Ubuntu
Thanks. As much as I'd like to go add this PPA and update my Wine, that'd be way too easy. There's gotta be more to it than just that, right?
I can report the same issue. Tried installing uplay under wine-staging 3.14 (on Ubuntu 18.04) and I can log in normally. From there it installed Steam (Windows version) and I can launch the game this way. But as soon as the game runs past the video intro it crashes with in a few seconds. I hope this helps resolve the issues.
Seems to be related to #172 .
Well, we'll have to wait until they add to Proton a possibility to let Uplay connect like @berillions says
Adding my quarter-ounce of weight to this, I'd like to be able to play Fractured But Whole.
I'd like to play Fractured But Whole, which also requires UPlay. Pretty sure this is about UPlay keeping games from working, so don't mark my comment as off-topic. It's very much on-topic.
@kisak-valve Is it worth merging in these? https://github.com/ValveSoftware/Proton/issues/172 https://github.com/ValveSoftware/Proton/issues/1662
There is some progress on this issue, you can now select 'Proton 3.16 Beta' as 'Compatibility tool' in the Steam Play settings. This solves the issue of not being able to log in (I guess Proton versioning follows the Wine versioning so it's now on par with Wine 3.16, which makes it able to connect).
However... after logging in, it says 'Initializing...' and after a while it comes back telling me 'A Ubisoft services is currently unavailable'. I am able to then switch to offline mode, but it does not show the games from Steam under 'Games', even though I can verify online (on their site) the accounts are linked.
To work past "Initializing" screen you need to have 32-bit gnutls linked as described in #162.
OT: @Yoshi2889 your avatar makes me nervous :smile:
@dreamer I've tried the symlinking, doesn't solve it for me. I'm trying Assassin's Creed and it's the exact same situation as described here: https://github.com/ValveSoftware/Proton/issues/1757 (comments mention symlink doesn't solve it)
@1202software what symlink exactly have you created and where? Did you link to 32-bit version of gnutls30? What distribution are you using? I have Uplay working correctly for Valiant Hearts by installing corefonts and linking to gnutls (and no other tweaks); linking to 64-bit version or creating link with wrong name won't solve the problem.
@dreamer I'm on Arch, so I used:
sudo ln -s /usr/lib/libgnutls.so.30.14.11 /usr/lib/libgnutls.so.26
...as per this comment: https://github.com/ValveSoftware/Proton/issues/162#issuecomment-425779454
I'm not even sure it's a connection issue, because it does log me in (which requires a working internet connection).
@1202software You linked 64-bit library. Arch stores 32-bit libs in /usr/lib32
. Install lib32-gnutls and fix your link - it should make Uplay work for you :)
[edit] also, avoid placing your link in /usr/
- it's better to create it in ~/.local/share/Steam/ubuntu12_32/steam-runtime/pinned_libs_32/
.
@dreamer Yes, that's it! I did have the lib32-gnutls package installed, but it required the symlink. Also, as you suggested, I put the symlinks in the Steam-directory.
So anyone using Arch, with Proton 3.16 as compatibility tool, should get it working with:
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
I will add it to the post about Assassin's Creed as well, because I now verified you can get it running fine with Steam/Proton. Thanks for your help!
For users of other distributions:
/usr/lib/
, 64-but in /usr/lib64/
/usr/lib/i386-linux-gnu/
, 64-bit in /usr/x86_64-linux-gnu/
/usr/lib32/
, 64-bit in /usr/lib
Creating link just to lib in /usr/lib/
may or may not work, depending on what game needs and what distro puts in there ;)
Can confirm on debian stretch.
Using Proton 3.16-3 Beta and creating the links for gnutls worked.
The steam path is different tho and i linked libgnutls.so.30
which itself is a link to the real version.
This might make sense if there are minor library updates.
ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgnutls.so.26
ln -s /usr/lib/i386-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgnutls.so.26
now with libgnutls tweak we can connect to Uplay but:
Someone has better results?
@legluondunet Uplay window being transparent will be fixed once you install corefonts. Let Uplay install Windows Steam client (just choose some new directory), but DO NOT let installer run Windows Steam (there's no reason to). Once installation will be done, Uplay will work and login normally.
@dreamer This is how far I've come now (with my own wine-3.19-based Proton build). But the game still won't start. It just opens a black window after the splash logo, then closes. The wine processes stay running, closing Uplay from the systray doesn't fix this.
So we have two new problems:
I used a crack to overcome signing in to uplay, the game works great.
Oh yeah, here we are again... DRM aka digital restrictions management drives legal buyers into illegal actions... :-(
There we go again, posting this to let the subscribers (and hopefully Valve too) know where we are with this F-ing Uplay DRM:
After launching the game: Step 1: input my credential step 2: wait for a while
@rdlf4 You could try reinstalling the game in Steam. I had a similar issue, where after an update the game would revert to the error you describe. Reinstalling solved it. Also, redoing the symlinking described above might help.
@1202software What Proton version are you using?
@rdlf4 Same as yours! My game broke because of a Steam update even though the Proton version remained the same.
@1202software Did you link to 32-bit version of gnutls30? What distribution are you using?
@rdlf4 Arch (pure Arch). See: https://github.com/ValveSoftware/Proton/issues/727#issuecomment-431571158
@SleepProgger 's comment did it for me. But it still isn't over. After symlinking, reinstalling the game, logging in to Uplay, it self-updated and then I have this: The download button will try to install Steam, but I already have it (obviously). There should be no download button to begin with, because I already have the game! And Steam says the game is 'running' just because I have a Uplay instance.
Even after getting Uplay to work, it still manages to screw it. I'm out of ideas. How did you guys get FarCry 3 to run?
==UPDATE== Quitting Uplay triggered the game launcher/splash screen to show up. But it still tries to install Steam (for Windows, I guess). Canceling it gives me an error msg. Am I supposed to install Steam in order to play it?
==UPDATE2== OK, I'm just going to go with whatever I'm given to see how far this goes.. So, once the game starts/is launched, it needs to detect Steam. It doesn't (for some reason), so it triggers a Steam installation. I go with it, and then we hit this roadblock: What the heck? 'Destination must be empty'?! If it's empty, the install button greys out and there's no way to proceed. If it isn't, I'm stuck with that pop up message.
And that's where I'm stuck at.
@rdlf4 Look up the mentioned 'Steam' dir (somewhere in ~/.local/share/Steam/steamapps/compatdata/gameid/pfx/) and delete it. Then it should go.
@1202software The only problem with that is, as soon as I tell the installer to look into a hidden folder (.steam), it greys out the install button. How to proceed?
@rdlf4 Don't delete it from the installer, delete it from your filesystem via console/terminal or your system's file browser.
Can confirm on debian stretch. Using Proton 3.16-3 Beta and creating the links for gnutls worked. The steam path is different tho and i linked
libgnutls.so.30
which itself is a link to the real version. This might make sense if there are minor library updates.ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgnutls.so.26 ln -s /usr/lib/i386-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgnutls.so.26
Unfortunately, for some, whatever reason, Helldivers will no longer launch if libgnutls.so.26 is symlinked to pinned_libs (32 and 64). If the symlinked files are placed in those folders, the game will page fault, meaning it will say that it's running, then it syncs up, and then nothing happens. The reason I'm pointing the finger at the symlinked files is because after those symlinks are removed, the game will launch again. For more info about it, I'm tracking it down and mentioning my steps right here.
Seems there is progress on the libgnutls front in steam-runtime just a few days ago: https://github.com/ValveSoftware/steam-runtime/commit/ca34a8df9db1c3c0ce71aa96c64cd5606135f693
Looking forward to next release.
Seems there is progress on the libgnutls front in steam-runtime just a few days ago: ValveSoftware/steam-runtime@ca34a8d
Looking forward to next release.
Better late than never. I don't think libgnutls will make the headlines for the next regular update though. So this might be available for Steam Beta before it even becomes a feature for the stable version.
Game seems to be broken again after the latest Steam update? Can anyone confirm?
Can confirm on debian stretch. Using Proton 3.16-3 Beta and creating the links for gnutls worked. The steam path is different tho and i linked
libgnutls.so.30
which itself is a link to the real version. This might make sense if there are minor library updates.ln -s /usr/lib/x86_64-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_64/libgnutls.so.26 ln -s /usr/lib/i386-linux-gnu/libgnutls.so.30 ~/.steam/ubuntu12_32/steam-runtime/pinned_libs_32/libgnutls.so.26
@1202software @SleepProgger This trick no longer works. I guess it's because SteamPlay has been updated, because it doesn't matter which Proton version I decide to go with, if those symlinks are placed into the pinned_libs folders (32 and 64), the game will not launch. I also tried symlinking only the 32-bit one and launch Helldivers in 32-bit safe mode, same thing: the game will not launch. Any other ideas to get Helldivers going and also Far Cry 3? It lookslike regression is something we're gonna have to get used to, or work around it. :-/ EDIT: the reason I'm pointing that out is because once the symlinked files are removed, Helldivers will launch just fine and it goes without saying, but Far Cry 3 will not go past the login screen, regressing the progress back to the very same issue from this thread.
@rdlf4 In another thread the consensus is that it's the updated Uplay that's causing trouble. After downloading the last update for Uplay it complains it cannot connect to the internets. Uplay could connect before the update (otherwise it could not have downloaded the update) so it is not caused by Steam.
I would say 'it has nothing to do with Proton', but it does, because most likely, if they update Proton to 3.21 (the version number refers to the version of Wine used) it will work, since it works when you use Wine 3.21 (and does not in 3.16, only with the 'staging' build).
Of note: this means that probably all Ubisoft titles are 'broken' for the moment.
I've tested with my own proton branch rebased to 4.0 rc2. I removed the proton prefix (pfx in compatdata) and restarted Farcry 3. It no longer tried to install the Windows Steam client prerequisite which is good. It also installed Uplay and I logged in successfully. But it will then direct me into the Uplay shop to download the game. You'd have to completely exit Uplay so that no process within this wine prefix will run, then restart Farcry 3 from the Linux Steam library. This time (and successive runs) it will launch into the game successfully.
But it now hangs there on some sort of loading screen with audio or music which seems to play very slow (although pitched correctly as it seems). It eventually never finishes this video, HD activity is very low. I killed the processes. Not sure what's wrong...
@kakra Great effort! Wondering though, this is based on Wine 4.0-RC2, wouldn't it be better (work better) to build on stable 3.21?
3.21 isnt stable, it is a dev release. (All biweekly releases are dev) Stable is the 3.0 branch. And soon 4.0.
@tingvarsson Still... seems 3.21 works, so the question remains.
But what's the deal with libgnutls on v3? An update ago, it was just a matter of symlinking it into pinned_libs folders and now, most of my steamplay games wont even launch because of it (I can tell because after symlinks are removed, my games launch just fine).
@1202software This is the release candidate, expect a stable version wine 4.0 in 3-4 weeks maybe... Not sure what the schedule of the winedevs is but it was announced to go stable around beginning of next year.
Actually, 3.21 isn't stable... 3.0 is, 3.21 is the dev version, a moving target, not stable. ;-)
Could you try if my branch works for you? So we could see if it may have been fixed meanwhile?
@kakra I got around to trying out 'wine-proton' and managed to get my game working again with Steam!
I should point out that the game I'm trying to run is Assassin's Creed Unity, whereas this thread is about Far Cry 3. I wound up here because they both require Uplay to run and exhibit the same errors/problems.
What did I do?
cp -r '~/.local/share/Steam/steamapps/common/Proton 3.16 Beta' '~/.local/share/Steam/steamapps/common/Proton 3.16 bk'
tar -xvf dist.tar.xz -C '~/.local/share/Steam/steamapps/common/Proton 3.16 Beta'
pfx
from the game for good measure: for me that is rm -rf ~/.local/share/Steam/steamapps/compatdata/289650/pfx
and the lock-file: rm -rf ~/.local/share/Steam/steamapps/compatdata/289650/pfx.lock
pfx
and first update, then launch Uplay. This differs from the 'usual' install, where it would install Steam for Windows and then would launch the game.This was my experience with ACU. I first tried it with Proton 3.16-4 but that would not launch the game. It got a bit further then usual, showing the game splash screen, but immediately quit after that. Out of curiosity, I tried Proton 3.7.8 as well, this got stuck with a nasty Windows dialog complaining about the 'Ubisoft Launcher' missing.
So it does require the latest Proton 3.16-6 Beta. After that, the only 'finicky' bit is the Uplay business (step 9) where it won't load the game the first time, but just quit and it will run fine every other time.
@kakra: one thing I tried figuring out, is if I could register a new Proton in the Steam Settings menu. So I can choose 'Proton 4.0 RC3' and leave the regular Protons as is (I would make a copy of the Proton 3.16-6 Beta and rename it before 'spicing it up'). I've looked through a bunch of .vdf files, but could not find anything relevant. Any thoughts?
@1202software Yes, I'm working on that feature to expose my version as a separate compat tool in Steam. There are a few bits missing: My version doesn't compile the steam API proxy DLL yet (and a few other deps like VR stuff which is really not my priority), and I'd like to create a custom launcher like the "proton" script. I'm currently still thinking about the best strategy.
BTW: I'd be interested in stability / performance reports, also we could add instructions for different games. If you want to help out, please head over to my repo.
Launching Far Cry 3 via Steam Play makes a Uplay window to pop up and request that the user logs in at least once before we can use offline mode. Because games running via Steam Play do not connect to a network (so far), that Uplay window keeps the game from starting. Typing in username and password and then hitting Log in button won't change anything.
Steam System Info: https://gist.github.com/rdlf4/b77e018feb5104584927851c448f5a63