https://bugs.winehq.org/show_bug.cgi?id=57571
Bug ID: 57571 Summary: Zafehouse: Diaries garbage/black screen Product: Wine Version: unspecified Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: blocker Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: rencer@euromail.hu Distribution: ---
I have this game installed on my computer with it's own wineprefix. Never used that prefix for anything else, just to play this one game. Originally I created that wineprefix and installed the game inside that back at 2014. Also I tried to run the game with this wineprefix on the exact same computer as back then.
It required lot of manual trickering to make it work. At that time nobody managed to run the game with sound on Linux, but I figured out and posted a how-to on the game's forum. Later even the developers shared that how-to on the Steam page of the game. See here: https://steamcommunity.com/app/249360/discussions/0/846963711048254058/#c613...
Sadly that forum page doesn't exist anymore; possibly because the game is old and no longer supported. It doesn't really matter anyway, because it is no longer possible to make the game install and setup a wineprefix that way. Back then it was possible to install all the requirements manually because wine/winetricks wasn't blocking us to install them. (such as full DirectX9, .NET 3.5 SP1, etc.)
As years passed, once in a while I played the game, everything was fine. But today, even that I try to run the game in that exact same wineprefix on the exact same computer, it doesn't work anymore.
When I run the game it is starts loading; you can see as the game writes it on the bottom right corner. When the loading process finishes the game supposed to show the menu screen. There is the problem. I hear the music but the screen is just a mess. It somehow shows the content of whatever is in the background of the game; like any other window or the desktop itself. But it is all garbage; it looks like whatever is in the background is turned into a puzzle, shuffled and randomly put back on the screen.
The reason I kept the wine version 'unspecified' because I also tried to run the game under different wine prefixes that uses different wine versions. Also tried to make fresh wineprefix with the current latest wine in my Manjaro XFCE, which is version 9.20. Creating a new one is impossible because of winetricks/wine.
I have many winprefixes, so I find one or two that works.(One is version 9.20) With these different working prefixes the result is always the same as with the original old prefix; messed up screen.
https://bugs.winehq.org/show_bug.cgi?id=57571
--- Comment #1 from Rafał Mużyło galtgendo@o2.pl --- 0. NOT a blocker
1.
It doesn't really matter anyway, because it is no longer possible to make the game install and setup a wineprefix that way.
You've built a frankenstein - those tend to rot quite a bit.
You might have a valid regression on your hands or you might not.
Two things might be helpful:
- narrowing down when it happened
- posting your frankenstein formula regardless of whether or not you think it matters; also given how old the game is, your formula is likely as well, so there's a good chance some elements of the formula might no longer be necessary
https://bugs.winehq.org/show_bug.cgi?id=57571
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |austinenglish@gmail.com Severity|blocker |normal
--- Comment #2 from Austin English austinenglish@gmail.com --- (In reply to Rencer from comment #0)
Back then it was possible to install all the requirements manually because wine/winetricks wasn't blocking us to install them. (such as full DirectX9, .NET 3.5 SP1, etc.)
winetricks still supports dotnet35p1. directx9 generally caused more problems than it solved, but if you need it, you could try running an old version of winetricks.
https://github.com/Winetricks/winetricks/releases/tag/20190615 is the last version that supported directx9.
https://bugs.winehq.org/show_bug.cgi?id=57571
--- Comment #3 from Rafał Mużyło galtgendo@o2.pl --- I'd say there's a pretty good chance wrt. directx, that only a few libs were needed but OP never bothered to narrow it down.
While doing that would have likely been quite tedious, it would have given a much clearer picture of what exactly ain't working with builtin.
https://bugs.winehq.org/show_bug.cgi?id=57571
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #4 from joaopa jeremielapuree@yahoo.fr --- Created attachment 77680 --> https://bugs.winehq.org/attachment.cgi?id=77680 Seems working fine for me
Tested with wine-10.rc2 I do not know how to play tjis game but it loads fine with a fresh prefix (no winetricks, no native dll). Only built-in
https://bugs.winehq.org/show_bug.cgi?id=57571
--- Comment #5 from Rencer rencer@euromail.hu --- (In reply to joaopa from comment #4)
Created attachment 77680 [details] Seems working fine for me
Tested with wine-10.rc2 I do not know how to play tjis game but it loads fine with a fresh prefix (no winetricks, no native dll). Only built-in
Thanks for the feedback. And Happy New Year for everyone.
When I wrote my bugreport right after that, I accidentally find out, that the 10.0-rc3 version of Wine come out literally that day.
So as so-so many times, I grabbed the source and started compiling it. And as always; 10 years ago, 5 years ago, or it doesn't matter whenever I tried to compile WINE from source after 3-4 (!!!) hours of compiling i crased. Whenever I tried always 3-4 hours later it stopped with some errors. Im not kidding on my Manjaro driven rig it was never-ever was possible to compile Wine from source.
Because of that I had to rely on what I can find in the repos. It is currently Wine 9.22.
I have to wait until Wine will be up to date in the repo and I can try it.
https://bugs.winehq.org/show_bug.cgi?id=57571
--- Comment #6 from Rencer rencer@euromail.hu --- (In reply to Austin English from comment #2)
(In reply to Rencer from comment #0)
Back then it was possible to install all the requirements manually because wine/winetricks wasn't blocking us to install them. (such as full DirectX9, .NET 3.5 SP1, etc.)
winetricks still supports dotnet35p1. directx9 generally caused more problems than it solved, but if you need it, you could try running an old version of winetricks.
https://github.com/Winetricks/winetricks/releases/tag/20190615 is the last version that supported directx9.
Old winetricks versions never works. They all the time, at some point will try to download something from a broken link.
I downloaded it from that link you posted, and put the binaries into /home/USER1/winetricks/ directory.
This is the results with WINE 9.22 These are the steps, in a terminal:
1.Make the prefix to be a Windows XP 32bit env WINEPREFIX=~/.wineZAFEHOUSE1 WINEARCH=win32 winecfg -v winxp
2.Just to be sure that using that winetricks version: env WINEPREFIX=~/.wineZAFEHOUSE1 WINEARCH=win32 /home/USER1/winetricks/winetricks --version The result is: 20190615 - sha256sum: b6e465841d1d7bf473d8ecd32ed7a18e0add817444bf54ec25e6c9465584c6e9
So it seems using the that exact version, it's fine.
Installing NET 3.5 SP1: env WINEPREFIX=~/.wineZAFEHOUSE1 WINEARCH=win32 /home/USER1/winetricks/winetricks dotnet35sp1
The GUI installer fineshes without error, but still getting this line in the terminal output: dotnet35sp1 install completed, but installed file /home/USER1/.wineZAFEHOUSE1/dosdevices/c:/windows/Microsoft.NET/Framework/v3.5/msbuild.exe.config not found
I don't know what is this file, or this thing even affect anything or not.
Install Visual C++ 2008: env WINEPREFIX=~/.wineZAFEHOUSE1 WINEARCH=win32 /home/USER1/winetricks/winetricks vcrun2008
This will result in: sha256sum mismatch! Rename /home/USER1/.cache/winetricks/vcrun2008/vcredist_x86.exe and try again.
And it does not install. As far as I know, this is happens when the links are broken. Like I said old winetricks will never work in a later time. I don't understand how other people can use old versions without errors... They never works/worked for me.
https://bugs.winehq.org/show_bug.cgi?id=57571
Rencer rencer@euromail.hu changed:
What |Removed |Added ---------------------------------------------------------------------------- Version|unspecified |9.22 Severity|normal |major
--- Comment #7 from Rencer rencer@euromail.hu --- As joaopa suggested, now I tried to make the game work without winetricks or dll overrides. As I said in the reply, currently I have to rely on Wine version 9.22. Becaus of this I changed the version from 'Unknown' to '9.22' and focus on that.
Made fresh prefix (no winetricks or anything else) (Wine mono is installed during wineboot.):
env WINEPREFIX=~/.wineZAFE1 wineboot
Than I run this and checked that the sound is working, clicking on the button in the 'Audio' tab. Everything is fine: env WINEPREFIX=~/.wineZAFE1 winecfg
Than during the game installation for a second a DirectX Jun 2010 SDK install window pops up.
(This is built in the GOG installer along with dotnet 3.5, and VC++ 2008)!!!
This is the only thing that you can see in the GUI; they runs silently, so I'm not sure what others are installed. Or not installed. But in the background, while siletly installing DirectX, in the terminal these lines are writen out:
regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_0.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_1.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_2.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_3.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_4.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_5.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_6.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_7.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_8.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_9.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine2_10.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_0.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_0.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_1.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_1.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_2.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_2.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_3.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_3.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_4.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_4.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_5.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_5.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_6.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_6.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\xactengine3_7.dll' regsvr32: Successfully registered DLL 'C:\windows\system32\XAudio2_7.dll'
Then i tried to run the game: env WINEPREFIX=~/.wineZAFE1 wine ~.wineZAFE1/drive_c/GOGGames/ZafehouseDiaries/ZafehouseDiaries.exe
The game starts, I can see the texts written out in the bottom right corner. But when it supposed to draw the logo-animations and the menu; the screen is bugged as before. And now there is no sound! So it just getting worst... It is clear that in my Manjaro system I must use dll overrides.
So I made all those overrides that was written out in the terminal, using winecfg. And than the sound started working! I also boiled down exactly which one of those dll need for the sound. The only one dll override that is responsible for the sound in this case is the 'XAudio2_7.dll'. But still no graphics.
It is clear now that the game doesn't works without manual dll overrides, just-out-of-the-box. Without dll override there is also no sound. Maybe the graphics can fixed too, but I really don't know what I sound try to make it work.
I must rely on whatever Manjaro uses at any given time; I can't change graphic drivers, or something in the kernel that related to graphics. There is no option to downgrade any of these. It is now using, for graphics, for music and almost anything else a completely different thing than it was used, when the game worked last time. Not to mention that the very core of Manjaro changed so drastically over years, that it is no longer compatible even with itself from past times. And on top of that Manjaro, even that it is supposed to be an always-so-frikin-fresh-rolling-release, still lags behind even years in some cases. Like the default wine is 9.22, winetricks in Manjaro is from 2024 january, etc.
I open for suggestions that I can try out, to see if it can fix the graphics.
****** PS1: You can peek into any GOG game installer using the 'innoextract' package with this command:
innoextract --progress --color --gog --output-dir ./UNPACKEDSTUFF YOURGOGGAMESINSTALLER.EXE
In this example, this will extract everything inside the ./UNPACKEDSTUFF folder.
You can find the games itself in the 'app' folder. It is faster extracting with innoextract than actually going through the whole installation. This way you can skip installing the redistributables that are built in the installer and can't skipped because they runs silently.
Sometimes you can actually even run the game from this folder. But most of the times they will not work, because most games write stuff inside the registry, and without proper installation that won't happen. I tried with this game, it isn't work. Zafehouse writes many things inside the registry; in the 'user.reg' file that you can find in the root folder of the wineprefix.
There will be other folders that are extracted. In the 'tmp' folder you find every junk that the installer using (pictures, icons, fonts, etc) Also in this 'tmp' folder you can find all the redistributables that are shipped with the GOG installer. In this case, Zafehouse GOG installer contains: 'directx_Jun2010_redist.exe', 'dotNetFx35setup.exe', 'vcredist_x86_2008.exe' and 'vcredist_x64_2008.exe'
****** PS2: Austin English said in his post that: "...directx9 generally caused more problems than it solved..."
If I quickly managed to cancel the installation of DirectX during the installation the game will not run! It crashes immediately with "Unhandled exeption occured in your application...." error. So, in our case, and in countless many more that I experienced, installing DirectX actually helps. Without installing DirectX + making the overrides manually, the game won't even start and there is no music.
https://bugs.winehq.org/show_bug.cgi?id=57571
--- Comment #8 from Rafał Mużyło galtgendo@o2.pl ---
In this case, Zafehouse GOG installer contains: 'directx_Jun2010_redist.exe', 'dotNetFx35setup.exe', 'vcredist_x86_2008.exe' and 'vcredist_x64_2008.exe'
Most of those are pretty much standard for gog installers and - in most cases - redundant for wine, even if the installer does attempt to install them. Again, in most cases it's a false positive, due to a missing regkey or something alike.
Native d3dcompiler is still sometimes necessary, though vkd3d coverage (of shaders) is improving with each release. As for native VC redists, need for them is pretty rare, though I've seen a bug recently claiming a certain game did need native vcomp120, though the reasons for that are unclear...
env WINEPREFIX=~/.wineZAFEHOUSE1 WINEARCH=win32 winecfg -v winxp
Chances of this actually being required go from minuscule to negligible. Both for winxp part as well as WINEARCH=win32.
Whether or not native dotnet35sp1 is required is a different question. There are still many cases it still is, yet comment 4 seems to suggest otherwise...
I feel there might be an additional - local - configuration problem...
https://bugs.winehq.org/show_bug.cgi?id=57571
Béla Gyebrószki gyebro69@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |gyebro69@gmail.com
--- Comment #9 from Béla Gyebrószki gyebro69@gmail.com --- @Rencer: can you reproduce the problem with the demo version? https://www.zafehouse.com/files/getdemo.php?demo=1
Please attach the terminal output from Wine: https://wiki.winehq.org/FAQ#get_log
It's not completely true that the game works without overrides because it needs native d3dx9_43.dll and d3dcompiler_43.dll Anyway, I cant reproduce the problem you reported here either (I tried the demo and the GOG.com version).