Open mdiluz opened 4 years ago
It's working !! Thank you so much
Confirm, it's works. With change winhttp.dll
I'm able to launch the game and get to the menu to select what I want. However as soon as I load the crew ledger to start a session I get the "coarsebeard" error. What do I do from there?
@ga2mer since you're mainly adding functionality and only one game requires not using the if statement in request.c, you can modify it with something like this to work just with sea of thieves in steam so that outside of SoT it retains normal behavior:
diff --git a/dlls/winhttp/request.c b/dlls/winhttp/request.c
index fbccf0228b..cdc260653a 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -2747,8 +2747,12 @@ static DWORD receive_response( struct request *request, BOOL async )
}
netconn_set_timeout( request->netconn, FALSE, request->receive_timeout );
- if (request->content_length) ret = refill_buffer( request, FALSE );
-
+
+ const char *sgi = getenv("SteamGameId");
+ if (!sgi | strcmp(sgi, "1172620")) {
+ if (request->content_length) ret = refill_buffer( request, FALSE );
+ }
+
if (async)
{
if (!ret) send_callback( &request->hdr, WINHTTP_CALLBACK_STATUS_HEADERS_AVAILABLE, NULL, 0 );
Note for those who don't know, strcmp returns 0 if the strings match. In our case we want to make sure they DON'T match, as we only want the specific action to happen if SoT is -not- running, which is why we're not using ! in front of it. If we use !strcmp(sgi, "1172620") it means we are checking for a match/0 return, which means it gets used when SoT is running, which is not correct.
Has anyone been able to use voice chat? I can't hear other people or talk.
Has anyone been able to use voice chat? I can't hear other people or talk.
I posted this issue about a day ago... However I can hear other people, they just can't hear me.
@GloriousEggroll thanks for code, but I found other way, I'll check response status and ignore this if statement if status 101
index fbccf02..1410974 100644
--- a/dlls/winhttp/request.c
+++ b/dlls/winhttp/request.c
@@ -2747,7 +2747,7 @@ static DWORD receive_response( struct request *request, BOOL async )
}
netconn_set_timeout( request->netconn, FALSE, request->receive_timeout );
- if (request->content_length) ret = refill_buffer( request, FALSE );
+ if (status != 101 && request->content_length) ret = refill_buffer( request, FALSE );
if (async)
{
HTTP status 101 response only if server upgrade to websockets, so I think it's good solution for not ignore this code for not ws requests
I think it's not will save from ashbeard error, but now it's not removing wine code - winhttp 101.zip
The complete list of issues I've encountered:
And that's all. Anything other "issues" have been pretty on par for what Windows shipmates have experienced.
The complete list of issues I've encountered:
* The intermittent login problem. * Voice chat (both directions) not working. * Texture issues with the ropes for raising the sails. They flicker and go see through * The compass next to the steering wheel sometimes just gets stuck saying North, rather than rotating. Handheld compass continues to work.
And that's all. Anything other "issues" have been pretty on par for what Windows shipmates have experienced.
I know for sure that the compass issue is a Windows issue as well not related to Linux.
after changing Proton to win 7 etc, I got into the game, when im longer as 10 seconds in the main menu, i get a crash, firstly i created my Pirat and go into the touturial, my complete game is lagging so hard so i changed the Fullscreen mode to window mode, and set the graphic settings on "cursed" the worstest setting,s whats available. So, i can complete the touturial. After this i crashed again ( longer as 10 seconds in main menu ) after finding this out, i clicked directly on an Adventure and played 1 - 2 hours. ((normally its not a problem to have multyply games open and listening music in the background ))
On the evening my friends come online ( Windos 10 users + 1 Microsoft Store User ) they invited me to a party ( 4 guys ) i accepted and joined Teamspeak 3, ... i cant have open ts3 or the Browser in the background when im playing Sea of Thieves because i get soooo fps downs, the complete game is laggy, the cursor is slow ...
I think the gameplay is beautiful but with so many issues its a horrible experiance ! I hope Valve is going to work and support the Linux users more for this Game.
For me, the game is almost fine with the fixes listed. But after about 40 minutes of playing the game develops large and constant stuttering and I need to close and restart the game to fix it.
Anyone else encountered this?
Can confirm this works very well!
Having Ubuntu 20.04 with a default Steam Install you can do the following two steps to make it run:
WINEPREFIX=~/.steam/steam/steamapps/compatdata/1172620/pfx/ ~/.steam/steam/steamapps/common/Proton\ 5.0/dist/bin/wine64 winecfg
~/.steam/root/steamapps/common/Proton 5.0/dist/lib64/wine/
It stutters a bit when loading new textures or objects in new areas, but definitly playable!
@ga2mer is it possible that the changes that were made to the websockets may have interfered with the connection to the SoT servers? I have an issue where no achievements/commendations will trigger until I reload the game, then they will all trigger on load.
Is anyone else having a similar issue?
@ga2mer is it possible that the changes that were made to the websockets may have interfered with the connection to the SoT servers? I have an issue where no achievements/commendations will trigger until I reload the game, then they will all trigger on load.
Is anyone else having a similar issue?
yes same issue here
@ga2mer is it possible that the changes that were made to the websockets may have interfered with the connection to the SoT servers? I have an issue where no achievements/commendations will trigger until I reload the game, then they will all trigger on load.
Only if achievements works through websockets, but I don't know how to debugging soft, so can't confirmed this
If you are talking about lag from when you sell and when you get your gold or the messages that the item is sold being late, it happens on windows too.
Edit: It seems to be random and (probably) server related, almost like lag.
If you are talking about lag from when you sell and when you get your gold or the messages that the item is sold being late, it happens on windows too.
Edit: It seems to be random and (probably) server related, almost like lag.
Different thing. I turned in a bunch of stuff. Everyone else got commendations. I log out, log back in, and suddenly i get all the commendations at once.
Killed a kraken, no commendation. next time I log in, commendation at log in.
If you are talking about lag from when you sell and when you get your gold or the messages that the item is sold being late, it happens on windows too. Edit: It seems to be random and (probably) server related, almost like lag.
Different thing. I turned in a bunch of stuff. Everyone else got commendations. I log out, log back in, and suddenly i get all the commendations at once.
Killed a kraken, no commendation. next time I log in, commendation at log in.
I have had this happen on windows as well... You can also sink your ship or die and the commendations will come in... Have you had this happen today? The game seems stable today but I haven't had a chance to try on Linux yet today.
I just tried with the latest proton-5.9-GE-2-MF and it includes the patch here. Everything is working as in windows with the exception of voice chat. Please someone fix in game voice chat and this game will be working perfectly on Linux (except for the windows bugs).
Edit: commendations seem to work too. Edit2: I just played and steam achievements and commendations in fact did not come in until I logged out and back in. Disregard my previous statement.
Sorry for the triple post but I just noticed that new twitch drops are not registering on Linux. Booted to windows and it was there instantly.
Sorry for the triple post but I just noticed that new twitch drops are not registering on Linux. Booted to windows and it was there instantly.
For me twitch drops are like commendations - you just have to relog to receive them.
Is anyone else getting as of today:
>>> Adding process 10195 for game ID 1172620
GnuTLS error: Rehandshake was requested by the peer.
GnuTLS error: Rehandshake was requested by the peer.
GnuTLS error: Rehandshake was requested by the peer.
resulting in:
(Achlinux, AMD, RTX 2070)
Edit: Fixed itself it seems, all working again now.
Is anyone else getting as of today:
>>> Adding process 10195 for game ID 1172620 GnuTLS error: Rehandshake was requested by the peer. GnuTLS error: Rehandshake was requested by the peer. GnuTLS error: Rehandshake was requested by the peer.
resulting in:
(Achlinux, AMD, RTX 2070)
I just tried... My game is working fine... Using the latest proton-ge-custom as of yesterday.
Hmm interesting maybe its unrelated then, I also tried latest GE which doesnt give this but still doesnt get past this error, hmm, thanks for letting me know.
@GloriousEggroll thanks for code, but I found other way, I'll check response status and ignore this if statement if status 101
index fbccf02..1410974 100644 --- a/dlls/winhttp/request.c +++ b/dlls/winhttp/request.c @@ -2747,7 +2747,7 @@ static DWORD receive_response( struct request *request, BOOL async ) } netconn_set_timeout( request->netconn, FALSE, request->receive_timeout ); - if (request->content_length) ret = refill_buffer( request, FALSE ); + if (status != 101 && request->content_length) ret = refill_buffer( request, FALSE ); if (async) {
HTTP status 101 response only if server upgrade to websockets, so I think it's good solution for not ignore this code for not ws requests
I think it's not will save from ashbeard error, but now it's not removing wine code - winhttp 101.zip
I tried compiling proton but I'm having issues... Could someone that can compile proton try changing the above code to while (status != 101 && request->content_length) ret = refill_buffer( request, FALSE );
and see if the game still works? Just a theory but maybe the net issues are because the variables aren't being updated... the while should hopefully update the variable. Can someone please test?
Edit: I built the dll with wine and it doesn't work... I'm going to tinker some more.
Can also confirm this works really well if not better than the Windows Store version on Windows.
Tested both vanilla proton and GE's builds. (Requires the Windows 7 Prefix change on GE even though the hotfix states that shouldn't be required. )
OS: Fedora 32 with Rawhide's kernel
GPU: Radeon VII
Driver/LLVM version: RADV/ACO Mesa: 20.0.7 / LLVM: 10.0.0
Kernel version: 5.7.0-1.fc33.x86_64
Proton version: proton-5.9-GE-2-MF
I did hit two "bugs" though but I'm unsure if they're related to proton or just the game. In one instance my mouse input became really stutter-y (but controler input was still smooth) and another where my compass was locked to North.
Can also confirm this works really well if not better than the Windows Store version on Windows.
Tested both vanilla proton and GE's builds. (Requires the Windows 7 Prefix change on GE even though the hotfix states that shouldn't be required. )
OS: Fedora 32 with Rawhide's kernel GPU: Radeon VII Driver/LLVM version: RADV/ACO Mesa: 20.0.7 / LLVM: 10.0.0 Kernel version: 5.7.0-1.fc33.x86_64 Proton version: proton-5.9-GE-2-MF
I did hit two "bugs" though but I'm unsure if they're related to proton or just the game. In one instance my mouse input became really stutter-y (but control input was still smooth) and another where my compass was locked to North.
The compass north bug is a windows bug too so not proton related, not sure about your other bug. Does voice chat work for you in game?
Also for what it is worth uninstalling mono and installing .net 4.8 gets proton (windows 10) past the xbox login but the game crashes before the menu loads... not sure why have to check the logs. It crashes on "Opening Journal."
I can confirm: Voicechat is not working and needs fixing.
New winhttp.dll / windows 7 fix solves other major problems.
Does anyone have a clue what can be causing the voice chat issue? I would like to help, but I have no experience with the wine/proton source tree and just looking through few logs, there are so many fixmes that I don't even know where to start.
Can also confirm this works really well if not better than the Windows Store version on Windows. Tested both vanilla proton and GE's builds. (Requires the Windows 7 Prefix change on GE even though the hotfix states that shouldn't be required. )
OS: Fedora 32 with Rawhide's kernel GPU: Radeon VII Driver/LLVM version: RADV/ACO Mesa: 20.0.7 / LLVM: 10.0.0 Kernel version: 5.7.0-1.fc33.x86_64 Proton version: proton-5.9-GE-2-MF
I did hit two "bugs" though but I'm unsure if they're related to proton or just the game. In one instance my mouse input became really stutter-y (but control input was still smooth) and another where my compass was locked to North.
The compass north bug is a windows bug too so not proton related, not sure about your other bug. Does voice chat work for you in game?
Also for what it is worth uninstalling mono and installing .net 4.8 gets proton (windows 10) past the xbox login but the game crashes before the menu loads... not sure why have to check the logs. It crashes on "Opening Journal."
I can also confirm and extend the following bugs:
Mouse Compass direction stuck to North after 30 mins or so of gametime. (infact I could see two compasses inside the ships compass one stuck north another turning normally just below it.) (modified 5.0.9, 5.9-GE-2-MF)
Voicechat is not working, I can neither hear other players nor have I been given any indication that other players can hear me. (modified 5.0.9, 5.9-GE-2-MF)
Stuttering Mouse movement. Interestingly enough while running SoT with the modified proton 5.0.9 i.e windows 7 + winhttp.dll I never experienced this mouse stuttering bug even after hours of playtime. However using Proton-5.9-GE-2-MF I frequentley get this bug after something moves the player, like docking a rowboat a few times, or if the ship is struck by a megladon etc.(only 5.9-GE-2-MF)
No pirate fort skull clouds; Frequent inability or heavily distorted clouds including pirate fort skulls that come in and out of existence if not absent altogether. (modified 5.0.9, 5.9-GE-2-MF) When I can will grab some screenies for reference of these.
Also for what it is worth uninstalling mono and installing .net 4.8 gets proton (windows 10) past the xbox login but the game crashes before the menu loads... not sure why have to check the logs. It crashes on "Opening Journal."
Hello @l33tlinuxh4x0r, I don't recall seeing any mention of .NET being involved with this game in the previous proton logs, can you share a Proton log of this with vanilla Proton 5.0 (wine-mono installed).
The compass north bug is a windows bug too so not proton related, not sure about your other bug. Does voice chat work for you in game?
Was coming back on just to say that no, my mic is not working in the game. Made communicating with random pirates much more difficult. I also didn't hear anyone talk, but I'm not sure they had a mic either.
No pirate fort skull clouds; Frequent inability or heavily distorted clouds including pirate fort skulls that come in and out of existence if not absent altogether. (modified 5.0.9, 5.9-GE-2-MF) When I can will grab some screenies for reference of these.
I also did not see this as fort Clouds were perfectly visible. Could you link a capture? So I can verify/confirm if I've seen this issue?
My mic is not working too and I can assure you I tried with a friend and couldn't hear him and he told me other players were talking.
Also for what it is worth uninstalling mono and installing .net 4.8 gets proton (windows 10) past the xbox login but the game crashes before the menu loads... not sure why have to check the logs. It crashes on "Opening Journal."
Hello @l33tlinuxh4x0r, I don't recall seeing any mention of .NET being involved with this game in the previous proton logs, can you share a Proton log of this with vanilla Proton 5.0 (wine-mono installed).
Might have been a glorious eggroll fix because using the default proton the game still crashes on xbox live screen. Sorry to get hopes up.
I can confirm that Sea of Thieves does not require .net nor mono. I uninstalled both and the game still works.
Ok so after playing a few hours, i can tell you that using steam proton 5.0 here are the issues i see:
Does anybody have any idea on how to join a game you've been invited to? This issue is one of two (the other being low frame rate) that is keeping me from playing on Linux.
Does anybody have any idea on how to join a game you've been invited to? This issue is one of two (the other being low frame rate) that is keeping me from playing on Linux.
You should get a pop up in Sea of Thieves that says something like [firendname] has asked you to join. yes or no.
You have to have followed them and they have to have followed you for this to work. You can use xbox live via the website at xbox.com. Only thing that isn't working on Linux is the ability to join someone without an invite.
Not quite the right place to ask this, but has anyone tested whether the version bought via the Microsoft store would works as well?
Trying to add some information on the voicechat issue:
The game is using Chromium Embedded Framework (CEF3) and Partyfab for voice-chat and Xbox-Live features (PartyWin.dll and PartyXboxLive.dll). I appended two proton debug-log-files using the fixed winhttp.dll:
Started the game with windows7 in winecfg, logged in and played a few seconds and tried to use voicechat using 'alt' key: steam-1172620_win7.log I removed a few trace messages to make the log a bit smaller. During the game I see a few messages like: 13303.376:00e8:00ec:fixme:wininet:InternetSetOptionW Option 77 STUB 13303.476:00e8:0618:fixme:wininet:query_global_option Stub for 105 13303.481:00e8:00ec:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm 13303.482:00e8:00ec:fixme:wininet:InternetSetOptionW Option 77 STUB 13303.584:00e8:0614:fixme:wininet:query_global_option Stub for 105 13313.302:00e8:00ec:fixme:wininet:InternetSetOptionW Option 77 STUB 13313.579:00e8:0668:fixme:wininet:query_global_option Stub for 105 13417.797:00e8:0618:fixme:bcrypt:BCryptCreateHash ignoring object buffer 13418.605:00e8:00ec:fixme:bcrypt:BCryptGenerateSymmetricKey ignoring object buffer 13418.620:00e8:00ec:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm 13418.662:00e8:00ec:fixme:bcrypt:BCryptGenerateSymmetricKey ignoring object buffer 13418.663:00e8:00ec:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm 13418.664:00e8:00ec:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm 13418.665:00e8:00ec:fixme:bcrypt:BCryptGenRandom ignoring selected algorithm (repeating more then 100x ...)
and also: GnuTLS error: Key usage violation in certificate has been detected. GnuTLS error: Key usage violation in certificate has been detected. GnuTLS error: Key usage violation in certificate has been detected. GnuTLS error: Rehandshake was requested by the peer. GnuTLS error: Rehandshake was requested by the peer. GnuTLS error: Rehandshake was requested by the peer.
Here is the debug.log from the game itself: sot_debug.log
Here are also messages about network / encryption problems: [0614/153330.875:ERROR:network_change_notifier_win.cc(141)] WSALookupServiceBegin failed with: 0 [0614/153335.054:ERROR:network_change_notifier_win.cc(141)] WSALookupServiceBegin failed with: 0 [0614/153338.144:WARNING:cert_verify_proc_win.cc(104)] Unknown error -2146762482 mapped to net::ERR_FAILED These lines come from the chromium framework. This describes the WSALookupServiceBegin failed: stackoverflow As for the unkown error - which could be the important one - guess someone has to debug cert_verify_proc_win.cc from cef. Could it be some sort of certificate missing or encryption-algorithm?
Another idea: The Rare FAQ for windows 10 tells the user to go to the privacy settings and allow voice communication over the selected devices when they have no voice communication. For windows 7 there is no such configuration parameter to my knowledge? In the API documentation of CEF there is also some information about getting access using a commandline-switch. SoT starts a child process by executing: Z:/mnt/games_1tb/steam/steamapps/common/Sea of Thieves/Engine/Binaries/Win64/UnrealCEFSubProcess.exe --type=renderer --no-sandbox --log-file=Z:\mnt\games_1tb\steam\steamapps\common\Sea of Thieves\Athena\Binaries\Win64\debug.log --field-trial-handle=7044,7954405723136390423,9820120017904409753,131072 --enable-features=CastMediaRouteProvider --disable-features=OutOfBlinkCors --lang=de --locales-dir-path=Z:/mnt/games_1tb/steam/steamapps/common/Sea of Thieves/Engine/Binaries/ThirdParty/CEF3/Win64/81.3.1/Resources/locales --log-file=Z:\mnt\games_1tb\steam\steamapps\common\Sea of Thieves\Athena\Binaries\Win64\debug.log --resources-dir-path=Z:/mnt/games_1tb/steam/steamapps/common/Sea of Thieves/Engine/Binaries/ThirdParty/CEF3/Win64/81.3.1/Resources --device-scale-factor=1 --num-raster-threads=3 --enable-main-frame-before-activation --renderer-client-id=4 --no-v8-untrusted-code-mitigations --mojo-platform-channel-handle=7284 /prefetch:1
Maybe we should add --enable-media-stream switch?
How can I proceed testing? I want to help but I really don't know where to start next? Install all the proton and wine sourcetree and start using gdb and walk through the code? Or should I try to build the CEF library with all permissions set to access the media devices? I am new to proton/wine debugging/issue fixing - so help would be appreciated.
Edit: Many people also on Windows seem to have this issue as stated here: sot steam-community A ticket is filed on june 9th on Rare`s support system.. let's see what they find.
I'm down to help test. Send a message if you want to play the game to test voice comms.
@greenbigfrog the Microsoft Store itself doesn't work as far as I know, and it'd need that DRM
~Mouse movement was super choppy with GE 5.9-2, reverted to 5.9-1 with manual winhttp fix and it was fine again.~
edit: retried 5.9-2 and it seems to be fine now. might have just been a one off thing previously
edit2: It showed back up after an hour or so into gameplay. It's not a framerate drop... it's literally that it feels like my mouse is moving in bursts. Keyboard movement is fine and perfectly smooth. mouse movement is stuttery... like mouse movement is rendering at 2fps. Swapping back to 5.9-1 and everything is fine again even after several hours.
Mouse movement was super choppy with GE 5.9-2, reverted to 5.9-1 with manual winhttp fix and it was fine again.
I'm using Proton-5.9-GE-2-MF (note there have been 2 hotfixes for this version) with the latest update from SoT I have noticed improved FPS and FPS stability. Using an AMD RX Vega 64.
EDIT: Alt tabbing seems to make the game more sluggish than before. I just tested on windows and it seems to be the same for both os's
Today I decided to give it a shot again. I got Proton-5.9-GE-2-MF and am experiencing intermittent Cyanbeard issues with Xbox Live. I can sign into Xbox Live and then get to the main menu, but I couldn't start a game or join someone else's game because the game would say I lost connection with Xbox Live and then take me back to the opening menu. Anybody else?
Edit: Also tried with Proton 5.0-9 with the winhttp.101 fix and still got the same issue
For people having issues with connecting (beard errors) out of curiosity are you by any chance not in North America??? I have played (on windows) with some people that aren't in the Americas (also on windows) and they report having xbox live connection issues on windows too. Personally I have not had any xbox live issues using Proton-5.9-GE-2-MF or on windows... I am in NA though... Not sure how SoT/xbox servers work but it seems like people in Europe tend to have more connection issues with this game than people in NA.
Also if you are in NA and still having issues what distro are you running? Are you using steam native or are you using the steam runtime.
I'm in North America. Seems like my internet connection was spotty today, too, so idk if that has anything to do with it.
Edit: Tried it again tonight and was getting the same Cyanbeard issue :/
The only issues I had with Proton-5.9-GE-2-MF (Hotfix 2) was that I still needed to apply the Windows 7 fix. I now have 45 hours into the game with zero issues playing with friends. It's annoying to 2FA every launch but hey, it works. Still have not received twitch drops or ancient coins in game.
I am getting little bit frustrated with achievements and emissary level. It seems that whenever I should unlock commendation, new achievement or just selling stuff to emissaries, i do not get the achievement/level does not update until I launch the game again. It is probably linked with the impossibility to link Xbox account.
I'm using Proton-5.9-GE-2-MF and I have been experiencing the mouse stuttering as well. The game ran (with stuttinging after an hour or two), and I borked my installation somehow. I'm going to have to reinstall it, but I would love to help in any way to solve this if I can. I have very, VERY limited programming skill, but I at least know how to copy and paste and get around the terminal.
I am getting little bit frustrated with achievements and emissary level. It seems that whenever I should unlock commendation, new achievement or just selling stuff to emissaries, i do not get the achievement/level does not update until I launch the game again. It is probably linked with the impossibility to link Xbox account.
I just played for about 4 hours on Windows today and experienced the same thing. This might either be a Steam version of Sea of Thieves or a Sea of Thieves issue in general. However I cannot test the later as I do not have Sea of Thieves on the MS store.
Compatibility Report
System Information
I confirm:
steam-1172620.log
Symptoms
~The game loads up to the main menu, but clicking
Start Game
tries to open the Xbox live sign-in window and then crashes~ Update for tracking current issues:Reproduction
Start Game