protonscr

Merge CEF and PulseAudio patches from wine-staging.

wineclosed
ValveSoftware/wine#25 · opened 2018-10-15 by leonmaxx · updated 2020-04-09 · 9 comments · github
Lleonmaxx 2018-10-15 github

Hello,

In wine-staging there is some useful patches to fix some wine problems:

  1. CEF (Chromium Embedded Framework) crashes on process startup, some games use it for their GUI, for example: AION, World of Tanks, etc.
  2. PulseAudio (winepulse patchset) (2 of 10 already merged) rest of patches resolves audio crackling problem in games that's reported multiple times.

Patches from wine-staging to get CEF working:

  • ntdll-ThreadTime
  • ntdll-Hide_Wine_Exports
  • ntdll-User_Shared_Data
  • winebuild-Fake_Dlls - functions that cef_sandbox uses
  • bcrypt-BCryptDeriveKeyPBKDF2
  • bcrypt-BCryptGenerateKeyPair - support for ECDSA certificate chains
  • kernel32-SetFileCompletionNotificationModes - this function used in networking code

Patches from wine-staging to get PulseAudio working:

  • winepulse-PulseAudio_Support - only 2 of 10 patches are merged now, merge rest of patches to get crackling-less sound.

BR, sorry for my bad English and thanks for your work.

Lleonmaxx 2018-10-23 github

I just built 3.16-3 and audio is still broken, after I applied rest of winepulse patches from wine-staging 3.16 it worked perfectly, so please consider merging them.

Also I need help with debugging WoT CEF issue:

  1. When I start WoT in winedbg it crashes much earlier with unsupported SIMD exception: might not work.
  2. I start WoT alone and then attach to it with winedbg, CEF is launched as separate process and winedbg doesn't catch that crash.

In fact CEF crashes very fast after startup so I can't attach to it so fast with winedbg. Is there any way to attach fast to launched process or to catch a crash of a new process?

Lleonmaxx 2018-10-28 github

I finally managed to debug CEF issues.
Patches from wine-staging to get CEF working:

  • ntdll-ThreadTime
  • ntdll-Hide_Wine_Exports
  • ntdll-User_Shared_Data
  • winebuild-Fake_Dlls - functions that cef_sandbox uses
  • bcrypt-BCryptDeriveKeyPBKDF2
  • bcrypt-BCryptGenerateKeyPair - support for ECDSA certificate chains
  • kernel32-SetFileCompletionNotificationModes - this function used in networking code
EEmpathetic 2018-12-02 github

It would help with a lot of games/software if the patches for CEF were merged, it helped me run quite a few games.

Aaeikum 2018-12-11 github

Hi, patches to improve CEF were merged in the 3.16-5 release. There may still be outstanding issues with certificates due to the old gnutls version that the runtime ships, but hopefully CEF will no longer crash. Please retest.

Also, the remaining PulseAudio patches were merged.

Lleonmaxx 2018-12-12 github

Hello Andrew, thanks a lot!

Lleonmaxx 2018-12-15 github

Hi Andrew,
CEF in World of Tanks is working now, I'll will test CEF in Star Wars: The Old Republic when it gets updated.

Lleonmaxx 2018-12-16 github

Hello Andrew,

ntdll-User_Shared_Data - This patch is required to run Star Wars: The Old Republic, this game uses KSYSTEM_TIME members in KUSER_SHARED_DATA structure for timing.
Also several other games relies on time fields of this structure: https://bugs.winehq.org/show_bug.cgi?id=29168

Otherwise, CEF is working good, with minor errors in logs but at least it doesn't crash.
XAudio 2.7 (FAudio based) in World of Tanks is working good and stable, IMO even sound quality is improved.

GGloriousEggroll 2018-12-20 github

Hello Andrew,

ntdll-User_Shared_Data - This patch is required to run Star Wars: The Old Republic, this game uses KSYSTEM_TIME members in KUSER_SHARED_DATA structure for timing.
Also several other games relies on time fields of this structure: https://bugs.winehq.org/show_bug.cgi?id=29168

Otherwise, CEF is working good, with minor errors in logs but at least it doesn't crash.
XAudio 2.7 (FAudio based) in World of Tanks is working good and stable, IMO even sound quality is improved.

the old republic isn't on steam, unless you mean one of the older knights of the old republic games?

Lleonmaxx 2018-12-21 github

I do mean Star Wars: The Old Republic, I sometimes use Proton/Wine to play games outside of steam.

Upstream links