https://bugs.winehq.org/show_bug.cgi?id=40990
Bug ID: 40990 Summary: Almost no 3D game works after i386-wine-staging 1.9.3 Product: Wine-staging Version: 1.9.14 Hardware: x86-64 OS: FreeBSD Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: lehmannwer@gmail.com CC: erich.e.hoover@wine-staging.com, michael@fds-team.de, sebastian@fds-team.de
Created attachment 55149 --> https://bugs.winehq.org/attachment.cgi?id=55149 Text file generated with crash of TF2
Using amd64 FreeBSD 10.3 with Nvidia Geforce 750 GTX and nvidia-driver 346.96. Everything worked fine up to i386-wine-staging 1.9.3 or 1.9.6, I don't remember. And now I have tried 1.9.14 staging, but still the same: Almost no 3D game runs anymore, I have just tried TF2 with Steam, the Steam client runs, but the game TF2 crashes, as almost any other game. I always have to delete wine-staging and fall back to i386-wine 1.8.x to make games work again. I have attached a text file generated with the crash of TF2.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #1 from Sebastian Lackner sebastian@fds-team.de --- If you suspect this is a Wine Staging regression it would be more useful to compare Staging and development versions with the same version number. Could you please check which versions are affected exactly? If it also affects recent development versions, this bug should be moved to the "Wine" product here on bugzilla.
Also, please attach the full terminal output, not just the crash itself. This might give a hint what exactly is going wrong. If multiple games are affected, could you please give some more examples? If possible also try to find a way to reproduce it using a demo version or freely available game.
Two other remarks:
* Staging includes various experimental features (for example CSMT). If you have enabled such features (in the winecfg Staging tab), please try to disable them for testing purposes.
* Based on the terminal output you probably did not set the WINEPREFIX correctly. In your case it should be set to "\home\werner.winebak", otherwise registry entries and dependencies will not be found correctly.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #2 from Michael Müller michael@fds-team.de --- (In reply to Sebastian Lackner from comment #1)
- Based on the terminal output you probably did not set the WINEPREFIX
correctly. In your case it should be set to "\home\werner.winebak", otherwise registry entries and dependencies will not be found correctly.
I think Sebastian means WINEPREFIX=/home/werner/.winebak (instead of backslashes).
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #3 from lehmannwer@gmail.com --- Created attachment 55154 --> https://bugs.winehq.org/attachment.cgi?id=55154 Terminal output Steam TF2 Just Cause Demo Gladiators
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #4 from lehmannwer@gmail.com --- The folder "/home/werner/.winebak" is a backup copy. I do also have a folder "home/werner/.wine" freshly generated by a "winecfg" command after the installation of i386-wine-staging 1.9.14. So cding into the .winebak folder and executing a "wine" command should use the configuration from the ".wine" folder. At least that did work when ".wine" was freshly created with wine 1.8.x. However, this does not seem to work with kmquake2. I really had to copy the Quake2 folder from .winebak to .wine and the it worked again with staging 1.9.14. But when moving the Steam folder from .winebak to .wine, the game TF2 would still crash the same. Also under Steam, the installed "Just Cause" Demo with 1.9.14 will not load, as it did with staging 1.9.3. I remember trying 1.9.10 and 1.9.11 staging and one of the two versions as devel-versions only and I had the same problem. I have not enabled the special features of staging either. Take my word for that 1.9.3 staging was the last version where TF2 and also Just Cause Demo ran fine. I have attached the terminal output of starting Steam, TF2, Just Cause Demo (with aborting because it would not load) and Gladiators Online, which did work, even from within .winebak.
https://bugs.winehq.org/show_bug.cgi?id=40990
6yearold@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |6yearold@gmail.com
--- Comment #5 from 6yearold@gmail.com ---
=>0 0x6234a033 memset+0x33() in libc.so.7 (0x0f2df6b8) 1 0x7bc83b20 call_thread_func_wrapper+0xb() in ntdll (0x0f2df6d8) 2 0x7bc85fac call_thread_func+0x7b() in ntdll (0x0f2df738) 3 0x7bc83afe call_thread_entry_point+0x11() in ntdll (0x0f2df758) 4 0x7bc904ef start_thread+0xde() in ntdll (0x0f2dff98) 5 0x621f1bbc in libthr.so.3 (+0x6bbb) (0x0f2dffe8) 0x6234a033 memset+0x33 in libc.so.7: repe stosl %es:(%edi)
I'm getting exactly this crash when running Fallout Tactics with i386-wine-staging-1.9.19 on amd64 FreeBSD 10 and 11.
The crash isn't 100% reproducible, sometimes the game just hangs busy-looping.
Falling back to i386-wine-1.8.4 makes it work without a hitch.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #6 from lehmannwer@gmail.com --- Call of Duty 4 does not work either. At this point I would like to mention also that I found a package of i386-wine-staging-1.9.1,1 and with that the videos of CoD4 work fine when "Enable CSMT ..." in the Staging Tab of winecfg is enabled. It appears that in any version below or superior 1.9.1 the videos of CoD4 are merely a slideshow. Something after 1.9.1 is definetely going in the wrong direction.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #7 from lehmannwer@gmail.com --- Created attachment 55834 --> https://bugs.winehq.org/attachment.cgi?id=55834 Crash of Call of Duty 4
https://bugs.winehq.org/show_bug.cgi?id=40990
Adrien Fernandes adrien_fernandes2@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adrien_fernandes2@hotmail.c | |om
--- Comment #8 from Adrien Fernandes adrien_fernandes2@hotmail.com --- Crash on Amnesia, Darkest Dungeon, Morrowind, Skyrim, Receiver etc etc etc... Absolutely NO game succeed to use lib32-libGL from nVidia driver (I think it is the problem).
Every launchers are perfectly working, explorer, DirectX installer etc... Even Darkest Dungeon intro video is working until you start a game. Anything that is not requiring 3D acceleration is working.
FreeBSD 11.0-RELEASE-p1 #0 r306420: Thu Sep 29 01:43:23 UTC 2016 Wine Staging 1.9.19 nvidia-driver-340 64 bits with 32 bits libraries (to be able to play games).
My output is exactly the same as everyone.
https://bugs.winehq.org/show_bug.cgi?id=40990
Alex S iwtcex@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |iwtcex@gmail.com
--- Comment #9 from Alex S iwtcex@gmail.com --- I've rebuilt and tested i386-wine-devel package with a few different wine revisions to narrow down the issue. The commit where (some) games start to fail consistently with that "memset in libc" stacktrace is 2fb97be1871a78ea6a2889ed975d33515d5468ea (http://source.winehq.org/git/wine.git/commit/2fb97be1871a78ea6a2889ed975d335...). I don't really have the necessary skills to debug the code itself, however.
By the way, it's easy enough to work around the issue by overwriting dsound.dll.so from the devel package with the version from the stable package. E.g., as root: # pkg fetch i386-wine # tar -C / -xf /var/cache/pkg/i386-wine-1.8.6,1.txz /usr/local/lib32/wine/dsound.dll.so
https://bugs.winehq.org/show_bug.cgi?id=40990
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |winetest@luukku.com
--- Comment #10 from winetest@luukku.com --- Please fill regression field.
Bug 40884 has the same regression id.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #11 from lehmannwer@gmail.com --- The problem still persists in i386-wine-2.0,1. Meanwhile I have upgraded my system to FreeBSD 11.0-RELEASE-p8 and the actual stable package is i386-wine-2.0,1. As I am not able to obtain a i386-wine-1.8.5 or 6 package for FreeBSD 11.0, I am not able to play any game right now. I think since I have filed this bug report the matter has never been solved.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #12 from Adrien Fernandes adrien_fernandes2@hotmail.com --- You can still fetch it from there http://pkg.freebsd.org/FreeBSD:10:amd64/release_3/All/i386-wine-devel-1.8.r3... and extract it anywhere you want and manually copy the dsound lib. I did it and it works.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #13 from Alex S iwtcex@gmail.com --- I believe dsound issue is fixed in wine 2.3. See https://bugs.winehq.org/show_bug.cgi?id=42546 for reference.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #14 from lehmannwer@gmail.com --- Thank you so much, I could fetch the old package and extract the dsound.dll.so file as described here, so i386-wine-2.0,1 works for me now, too! But I still have a question regarding wine-2.3, where it is said that the issue is fixed: For now, there is only wine-devel-2.3 and wine-staging-2.3, but no i386-wine-2.3. I have tried previous versions of wine-devel, but they seem to be for 64-bit only, with only a "wine64", but no "wine"-executable. Is that still the case? So I would not be able to play 32-bit games with that?
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #15 from Alex S iwtcex@gmail.com --- (In reply to lehmannwer from comment #14)
I have tried previous versions of wine-devel, but they seem to be for 64-bit only, with only a "wine64", but no "wine"-executable. Is that still the case?
On an amd64 FreeBSD system wine (-devel, -staging) package provides a 64-bit build of wine, the same package for a i386 system contains a 32-bit wine build. Packages with the "i386-" prefix are 32-bit wine builds repackaged for a amd64 FreeBSD system. I.g., i386-wine-devel is a wine-devel built for a i386 system with some appropriate changes applied (/usr/local/lib -> /usr/local/lib32, etc).
So I would not be able to play 32-bit games with that?
Generally, yes. Wine FAQ (https://wiki.winehq.org/FAQ#Is_there_a_64_bit_Wine.3F) says you can do this provided you have "32 bit libraries" installed, but it doesn't elaborate on that. It certainly isn't out-of-the-box experience.
But I still have a question regarding wine-2.3, where it is said that the issue is fixed: For now, there is only wine-devel-2.3 and wine-staging-2.3, but no i386-wine-2.3.
First, you can build the latest wine yourself with instructions at https://wiki.freebsd.org/i386-Wine#Building. Just make sure to skip "make buildword", "make installword" and "make distribution" steps: fetch https://download.freebsd.org/ftp/releases/i386/11.0-RELEASE/base.txz instead, verify it against the checksum in /usr/ports/misc/freebsd-release-manifests/files/MANIFESTS/i386-i386-11.0-RELEASE and extract the contents to /compat/i386. It is also a good idea to install build dependencies with pkg, otherwise compiling them from ports would take quite a while (see http://serverfault.com/questions/334934/freebsd-ports-how-can-i-see-all-depe...).
As for your question: curiously enough, even so the packages in the official FreeBSD repo are built with Poudriere, this particular package isn't being built through the "WINE_CROSS_BUILD" procedure described in the wiki (which goes through i386-wine-devel/Makefile.i386). Note that each architecture requires it's own separate Poudriere controlled jail. Building this port actually involves maintainer (manually?) copying regular wine-devel package produced by the i386 jail to local distfiles (yes, that's a thing; basically, a place on the FreeBSD project servers from where it could be refetched by the port's build script) and then updating PORTVERSION in i386-wine-devel/Makefile.inc (https://svnweb.freebsd.org/ports/head/emulators/i386-wine-devel/Makefile.inc...). After that it would be repackaged by the amd64 Poudriere jail. This, naturally, leads to i386-wine-devel always lagging behind wine-devel.
It's a good question in itself why things are done that way (as opposed to WINE_CROSS_BUILD). Most likely there is no support for publishing an amd64 package from the i386 jail, but I have no idea really.
Sorry if that wasn't clear: I'm not a native english speaker, I'm lousy at explanations and this a bit complicated topic to boot. Try asking on the FreeBSD forums if you need help with anything above.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #16 from winetest@luukku.com --- What's the status now? wine has released 2.8 and staging 2.8.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #17 from Adrien Fernandes adrien_fernandes2@hotmail.com --- Fixed since 2.3 I'm on 2.7 now (not yet 2.8) and, except if there is a change, it should work 2.8 too I guess.
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #18 from 6yearold@gmail.com --- I confirm that the problem is gone for me with wine 2.7. Yay!
https://bugs.winehq.org/show_bug.cgi?id=40990
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dimesio@earthlink.net
--- Comment #19 from winetest@luukku.com --- (In reply to Adrien Fernandes from comment #17)
Fixed since 2.3 I'm on 2.7 now (not yet 2.8) and, except if there is a change, it should work 2.8 too I guess.
(In reply to 6yearold from comment #18)
I confirm that the problem is gone for me with wine 2.7. Yay!
https://bugs.winehq.org/show_bug.cgi?id=40990
winetest@luukku.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |00cpxxx@gmail.com
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #20 from winetest@luukku.com --- Can someone close this since its reported already fixed?
https://bugs.winehq.org/show_bug.cgi?id=40990
Sebastian Lackner sebastian@fds-team.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|1.9.14 |1.9.3 Product|Wine-staging |Wine Status|UNCONFIRMED |RESOLVED Resolution|--- |DUPLICATE Summary|Almost no 3D game works |Multiple games crash with |after i386-wine-staging |page fault in memset |1.9.3 |starting with Wine 1.9.3 Component|-unknown |directx-dsound Severity|blocker |normal Regression SHA1| |2fb97be1871a78ea6a2889ed975 | |d33515d5468ea
--- Comment #21 from Sebastian Lackner sebastian@fds-team.de --- (In reply to winetest from comment #20)
Can someone close this since its reported already fixed?
The original reporter never confirmed that it is fixed in new versions of Wine. Nevertheless, I'm marking this bug report as duplicate based on the other comments.
*** This bug has been marked as a duplicate of bug 40884 ***
https://bugs.winehq.org/show_bug.cgi?id=40990
Alistair Leslie-Hughes leslie_alistair@hotmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #22 from Alistair Leslie-Hughes leslie_alistair@hotmail.com --- Closing Duplicate
https://bugs.winehq.org/show_bug.cgi?id=40990
--- Comment #23 from lehmannwer@gmail.com --- Today I have updated my userland and installed i386-wine-staging-2.13,1. I have tested TF2 and Kmquake2 so far and both run fine. Thank you for looking into this matter and solving the problem.