https://bugs.winehq.org/show_bug.cgi?id=53020
Bug ID: 53020 Summary: Unable to download games from EA Origin Product: Wine Version: 7.8 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: berillions@gmail.com Distribution: ---
Created attachment 72389 --> https://bugs.winehq.org/attachment.cgi?id=72389 Output Console log
Hi,
Currently with plain wine-7.8, install and launch EA Origins work without issue. But there is an issue when i want to download a game.
As you can see on the screenshot, Origin waiting for permission with Windows prompt ... but no windows prompt appears.
In the past, i did not have this issue and i tried with wine 6.23 and the issue subsist. I suspect a new version of Origin which cause this.
I tried wine-staging and same issue. Strangely with wine-GE (https://github.com/GloriousEggroll/wine-ge-custom), there is not issue and i can download the game correctly, i don't have the permission popup.
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #1 from Maxime berillions@gmail.com --- Created attachment 72390 --> https://bugs.winehq.org/attachment.cgi?id=72390 Permission popup
https://bugs.winehq.org/show_bug.cgi?id=53020
Maxime berillions@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |365bc308bed3391fe3cc9c6ac8f | |c34c7a484d9d3 Summary|Unable to download games |[regression]OriginClientSer |from EA Origin |vice.exe fails to launch CC| |jacek@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #2 from Maxime berillions@gmail.com --- Hi,
As explained in my previous message/screenshot, EA Origin is unable to download games since this commit. When you launch Origin, a process named "OriginClientService.exe" is launched in parallel to elevate permission (create folder, download data etc...)
When you download a game (Mass Effect 3), Origin must create : - "LocalContent" folder in ~/.wine/drive_c/ProgramData/Origin - "Mass Effect 3" folder in ~/.wine/drive_c/Program Files/Origin Games
With wine-7.8, this process fails to launch so you have the permission popup like in my screenshot.
To resume : Wine-7.5 : Origin works (Origin*.exe process + Launcher window) Wine-7.6 & 7.7 : Only Origin*.exe process work, Launcher is invisible Wine-7.8 : Launcher is visible but OriginClientService.exe fails to launch, unable to download games.
https://bugs.winehq.org/show_bug.cgi?id=53020
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=53020
Gijs Vermeulen gijsvrm@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|[regression]OriginClientSer |EA Origin is unable to |vice.exe fails to launch |download games
--- Comment #3 from Gijs Vermeulen gijsvrm@gmail.com --- Do you happen to know what commit caused the behavior seen in wine-7.6 and 7.7? That might be interesting info as well.
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #4 from Maxime berillions@gmail.com --- Hi Gverm,
About the 7.6 & 7.7 bug, i did a regression test :
######
commit d513eee3ee4e9107c0b433bf9182155022fdf8ee Author: Jacek Caban jacek@codeweavers.com Date: Wed Apr 6 11:11:07 2022 +0200
user.exe: Remove no longer used wait_message16.
Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Huw Davies huw@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
dlls/user.exe16/message.c | 15 --------------- dlls/user.exe16/user_private.h | 2 -- dlls/user32/controls.h | 2 -- dlls/user32/driver.c | 11 +---------- dlls/user32/winproc.c | 10 ---------- 5 files changed, 1 insertion(+), 39 deletions(-)
######
With a "git checkout d513eee3ee4e9107c0b433bf9182155022fdf8ee", the bug is present, Origin launcher is invisible and all Origin process are launched.
I tried "git checkout 5bcb9d12631769e9d980151399f059805dc37dc3" which is the previous commit and all works correctly.
Concerning the OriginClientService bug, it still exists with 7.9 & latest git
https://bugs.winehq.org/show_bug.cgi?id=53020
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |galtgendo@o2.pl
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- While it seems that particular commit shouldn't have any effect, as calls to wait_message have already been removed, there's a chance, that the tricky part is nulldrv_MsgWaitForMultipleObjectsEx.
The condition checked for there for NtYieldExecution is 'ret == WAIT_TIMEOUT && !count && !timeout'. In nulldrv_MsgWaitForMultipleObjectsEx of that commit, that was an early return without going into actual MsgWaitForMultipleObjectsEx.
However, in nulldrv_MsgWaitForMultipleObjectsEx of win32u/driver.c, the condition for the early return is '!count && timeout && !timeout->QuadPart'... Then again, here MsgWaitForMultipleObjectsEx is called with '!(flags & MWMO_WAITALL)' whereas before is was without negation...
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #6 from Rafał Mużyło galtgendo@o2.pl --- To correct myself: WaitForMultipleObjectsEx and NtWaitForMultipleObjects parameters differ significantly, so the mentioned negation is actually correct.
Yet, while I haven't delved into the code very deep, wine's server_wait treats NULL timeout as TIMEOUT_INFINITE, which doesn't look like an early return.
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #7 from Maxime berillions@gmail.com --- Hi Rafał,
To be clear, the main bug (Can't download game) for this bug report is to unable download game because of commit 365bc308bed3391fe3cc9c6ac8fc34c7a484d9d3
The regression test that i did yesterday was to find the main cause of the bug (Origin Launcher invisible with 7.6 & 7.7) -> commit d513eee3ee4e9107c0b433bf9182155022fdf8ee
With 7.8, 7.9 & git, invisible launcher regression is fixed but not the download games issue.
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #8 from Rafał Mużyło galtgendo@o2.pl --- So I need to correct myself again: timeout parameter also changes meaning.
Also, accidentally I've came to the same conclusion as the commit suggest: that the main difference between WaitForMultipleObjectsEx and NtWaitForMultipleObjects is that one of them doesn't call normalize_std_handle.
Looking at the code I see two possibilities:
- given the flow, the difference for nulldrv is that handle returned by get_server_queue_handle() isn't getting normalized - for other drivers, their handles are now getting normalized, where they previously weren't
Given that the first case seems to be fully under wine's control, I'd go with the other one. If that's the case, a revert followed by fixes to the actual drivers (x11, mac, android) would be necessary.
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #9 from Jacek Caban jacek@codeweavers.com --- Created attachment 72496 --> https://bugs.winehq.org/attachment.cgi?id=72496 patch
The attached patch may help. null driver has the same problem as I spotted while converting X11 driver: https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/winex11.drv/x11drv_ma...
https://bugs.winehq.org/show_bug.cgi?id=53020
--- Comment #10 from Maxime berillions@gmail.com --- Thanks Jacek, the patch works for me :-)
https://bugs.winehq.org/show_bug.cgi?id=53020
Jacek Caban jacek@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution|--- |FIXED Fixed by SHA1| |7625e6ba20c70d59d61a73e5c2b | |2b5243e0e0143
--- Comment #11 from Jacek Caban jacek@codeweavers.com --- This is fixed in git, thanks for the report: https://source.winehq.org/git/wine.git/commitdiff/7625e6ba20c70d59d61a73e5c2...
https://bugs.winehq.org/show_bug.cgi?id=53020
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 7.10.