https://bugs.winehq.org/show_bug.cgi?id=56391
Bug ID: 56391 Summary: So Blonde: very long loading times Product: Wine Version: 9.3 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: memax@gmx.fr Distribution: Ubuntu
Game: "So Blonde" European Retail DVD 1.01 version (English, French and German). Point-and-click game developed by Wizarbox and released in 2008. I couldn't find the game on either Steam or GOG. However, for those who want to confirm the bug, the game is easily found in The Internet Archive Software Collection.
OS: Ubuntu 22.04.3 LTS 64bit.
Wine: wine-9.3 development version (staging version is also affected). Default Wine configuration, unmodified. Clean Wine directory.
Description: The loading times are very long: loading of the game menu, of a new game, of a save game, between two screens (in the game), and so on. Loadings last more than a minute, whereas on the same computer but running Windows, they last less than five seconds. This problem has been mentioned in AppDB since 2009 ("Every loading takes a long time"), but has not been the subject of a bug report.
I don't know if this is relevant, but here's the +relay,+seh debug trace I posted as part of another bug related to the same game (Bug 56390). It weighs 12.6 GB (59.7 MB after compression with rzip). https://www.swisstransfer.com/d/764a0488-9e26-4d10-ae74-9d89e49cce80
https://bugs.winehq.org/show_bug.cgi?id=56391
imaxm memax@gmx.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |performance
https://bugs.winehq.org/show_bug.cgi?id=56391
imaxm memax@gmx.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://www.gamepressure.co | |m/download.asp?ID=19123
--- Comment #1 from imaxm memax@gmx.fr --- The loading time issue also affects the game demo. I've only found the German version of the demo (I've provided the link).
https://bugs.winehq.org/show_bug.cgi?id=56391
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #2 from Andrew Nguyen arethusa26@gmail.com --- I can confirm the performance issue in wine-9.5. Profiling the startup of the So Blonde game demo with sysprof suggests there are bottlenecks related to the game's repeated calls to WaitForSingleObject and ReleaseMutex (NtWaitForMultipleObjects and NtReleaseMutant in the sysprof callgraph).
A +relay trace of the game during its loading screen indicates that the game very frequently acquires and releases a mutex and that reads from a data file also occur under the mutex lock. If the mutex handling is slow, it stands to reason that the data file loading would also be slowed down.
https://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #3 from Andrew Nguyen arethusa26@gmail.com --- Created attachment 76291 --> https://bugs.winehq.org/attachment.cgi?id=76291 sysprof callgraph of So Blonde demo startup
https://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #4 from imaxm memax@gmx.fr --- Performance problem is still present with wine-9.12. Tested with the game demo (demo download link is provided). OS: Ubuntu 24.04 LTS 64bit. NVIDIA Driver Version (proprietary): 535.183.01.
https://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #5 from imaxm memax@gmx.fr --- Hello This performance issue is still present in wine-10.0-rc2
Ubuntu 24.04 LTS NVIDIA Driver Version (proprietary): 550.120
https://bugs.winehq.org/show_bug.cgi?id=56391
F H francisco278herrera@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |francisco278herrera@gmail.c | |om
--- Comment #6 from F H francisco278herrera@gmail.com --- I don't expect this issue to be fixed before NTSYNC is merged into the Linux kernel. Seems like the bottleneck here is related to syncing
http://bugs.winehq.org/show_bug.cgi?id=56391
Andrew Nguyen arethusa26@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED
--- Comment #7 from Andrew Nguyen arethusa26@gmail.com --- With wine-10.16 and the ntsync kernel module loaded on my system, I timed the delay at the loading screen after the intro videos to be about 3 seconds. Without the ntsync module loaded, the delay at the loading screen is about 40 seconds. Therefore, I think the performance issue can be considered fixed now.
http://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #8 from imaxm memax@gmx.fr --- (In reply to Andrew Nguyen from comment #7)
With wine-10.16 and the ntsync kernel module loaded on my system, I timed the delay at the loading screen after the intro videos to be about 3 seconds. Without the ntsync module loaded, the delay at the loading screen is about 40 seconds. Therefore, I think the performance issue can be considered fixed now.
I tried to check for myself but was unsuccessful with the 'vanilla' wine-10.16 development version (both with WineHQ binary packages and with wine built by myself).
I am using Ubuntu 24.04.3 LTS with the Linux kernel 6.14.0-33-generic. I checked that the ntsync module was indeed loaded with the commands 'lsmod | grep ntsync' and 'ls -l /dev/ntsync'. When the game is launched, ntsync does not seem to be used (long loading times), which is confirmed by the fact that the command 'lsof /dev/ntsync' returns nothing.
For information, when I launch the game with 'GE-Proton10-15' (Lutris), loading times are short (equivalent to those on Windows) and the command 'lsof /dev/ntsync' returns a whole list of executables using ntsync, including the game.
http://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #9 from imaxm memax@gmx.fr --- Looking at bug 58751, it appears that WineHQ binary packages for Debian/Ubuntu were provided without ntsync.
That said, I haven't been able to build Wine with ntsync enabled. Configure gives me 'checking for linux/ntsync.h... no' even though the kernel comes with ntsync and the module is indeed loaded.
http://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #10 from Nikolay Sivov bunglehead@gmail.com --- Module might be loaded, but configure checks for kernel headers. So check that you actually have linux/ntsync.h header installed.
http://bugs.winehq.org/show_bug.cgi?id=56391
--- Comment #11 from imaxm memax@gmx.fr --- (In reply to Nikolay Sivov from comment #10)
Module might be loaded, but configure checks for kernel headers. So check that you actually have linux/ntsync.h header installed.
Thanks for the suggestion. The kernel headers (linux-headers-6.14.0-33-generic) were already installed, so that wasn’t the issue. However, the ntsync.h file was missing from the headers. I downloaded the kernel sources from kernel.org, extracted them, and found ntsync.h in the source files. I copied ntsync.h to /usr/include/linux/. Then I reran ./configure and it worked. I was able to build wine with ntsync enabled.
I retested the game and the performance issue has been resolved: loading times are similar to those experienced on Windows. Many thanks to the developers.
http://bugs.winehq.org/show_bug.cgi?id=56391
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #12 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 10.17.