http://bugs.winehq.org/show_bug.cgi?id=58515
Bug ID: 58515 Summary: Street Chaves only displays a black screen (regression) Product: Wine Version: 10.11 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: denilsonsa@gmail.com Distribution: ---
Wine versions up to 9.7 were able to render the game graphics correctly. Now I tested again on Wine version 10.11 and all I get is a black screen.
The game seems to be working, because I can blindly press "Z" to confirm, then "5" to insert credits (and hear the sound effect), and "1" to start, an "Z" a couple of times to select my character and advance to the actual fight… After all of this, I can hear the in-game music and the in-game sound effects of the fight. I just can't see any of it due to being pure black.
How to reproduce?
1. Get the game archive from https://archive.org/details/street-chaves-1.5-a 2. Unpack it anywhere, and run `wine Chaves.exe` 3. After a few moments, a black window without any decoration will show up.
Having no decorations is normal expected behavior. Having it completely black is a bug/regression.
Tests?
The game works fine under "Proton Experimental" on the Steam Deck, but I don't know exactly what is the Wine version.
It also works fine under "Proton 10.0-1 (beta)".
It does NOT work (black screen) under Wine 10.11 on Manjaro Linux.
It does NOT work (black screen) under wine-ge-8-26-x86_64, which is the default Wine runner for Lutris, installed from Flatpak. https://lutris.net/games/street-chaves/
Other Wine versions are untested.
If you are testing other versions, please be aware that older versions had a problem with keyboard input. You could see graphics on the screen, but you couldn't progress any further. This has been solved in bug 52738.
http://bugs.winehq.org/show_bug.cgi?id=58515
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://archive.org/details | |/street-chaves-1.5-a Summary|Street Chaves only displays |Street Chaves only displays |a black screen (regression) |a black screen
--- Comment #1 from Ken Sharp imwellcushtymelike@gmail.com --- Please run a regression test. https://gitlab.winehq.org/wine/wine/-/wikis/Regression-Testing
http://bugs.winehq.org/show_bug.cgi?id=58515
Denilson Sá denilsonsa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |winex11.drv
--- Comment #2 from Denilson Sá denilsonsa@gmail.com --- Thanks for the link with the instructions. Even though I have used git bisect before, it's always good to know the exact steps needed for each project. In the case of wine, it's pretty straightforward (although slow to compile because wine is huge).
git bisect tells me:
187720358e7c7be1d506c299c630b4e5b2714c61 is the first bad commit
Author: Rémi Bernon rbernon@codeweavers.com Date: Thu Jun 12 09:54:26 2025 +0200
winex11: Drop pixmap-based child window workaround.
This commit cannot be directly reverted, as it has conflicts with the `master` branch.
http://bugs.winehq.org/show_bug.cgi?id=58515
Denilson Sá denilsonsa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |187720358e7c7be1d506c299c63 | |0b4e5b2714c61
http://bugs.winehq.org/show_bug.cgi?id=58515
Ken Sharp imwellcushtymelike@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression CC| |rbernon@codeweavers.com
--- Comment #3 from Ken Sharp imwellcushtymelike@gmail.com --- That is brilliant. Thank you.
The other thing needed is to capture the console output from the game (running vanilla Wine) and attach it to this bug report. I can't find a Wiki link for that! $ wine program.exe >console.log
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #4 from Denilson Sá denilsonsa@gmail.com --- Created attachment 79000 --> http://bugs.winehq.org/attachment.cgi?id=79000 console.log
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #5 from Denilson Sá denilsonsa@gmail.com --- Comment on attachment 79000 --> http://bugs.winehq.org/attachment.cgi?id=79000 console.log
That console.log was made with Wine built on commit 187720358e7c7be1d506c299c630b4e5b2714c61
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #6 from Ken Sharp imwellcushtymelike@gmail.com --- I can't run this at all. I tried Wine 9.0.1, 10.11 and 10.12 but all I get is 0024:err:seh:NtRaiseException Exception frame is not in stack limits => unable to dispatch exception.
I just tried "wine Chaves.exe" but it simply will not start for me at all.
How are you running this?
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #7 from Denilson Sá denilsonsa@gmail.com --- I'm running the same way as I used to run, almost 20 years ago: https://appdb.winehq.org/objectManager.php?sClass=version&iId=4688&i...
wine Chaves.exe
Despite the errors in the console, a small black window shows up. If you have a large display, you may miss that window, and you have to look around.
If that doesn't work, try again with an empty WINEPREFIX directory.
You can see that error message as part of my console.log that I attached earlier.
---
In fact, if I reuse the same prefix multiple times on either 187720358e7c7be1d506c299c630b4e5b2714c61 or bb413905906c6394f28ae696e0e66dd6ee94a660 wine commit versions, then the game doesn't seem to launch at all the second time, crashing/freezing with this message:
top: dlls/winex11.drv/xvidmode.c:164: xf86vm_free_modes: Assertion `modes[0].dmDriverExtra == sizeof(XF86VidModeModeInfo *)' failed. wine: Assertion failed at address F7FA3579 (thread 00e4), starting debugger...
This means there are further things broken in recent Wine versions. I will try finding the last known good version.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #8 from Denilson Sá denilsonsa@gmail.com --- Okay, I don't know if there is a problem with my setup, or if this "other bug" exists since a long time. If I try reusing the same WINEPREFIX, it fails the second time. And it seems to exist as early as e97e39c69e9ffc312e0288fd82acd057ba2e1f3f, possibly earlier (I just gave up trying to bisect any further).
This is the manual testing script I've been using while git-bisecting:
#!/bin/sh export CC='ccache gcc' ./configure --disable-tests || exit 125 make -j 6 || exit 125 export WINEPREFIX=/tmp/winetesting/PREFIX rm -rf "$WINEPREFIX" || exit 125 export WINE="$HOME/wine-git/wine" cd "$HOME/foobar/StreetChaves_1.5A/" "$WINE" "Chaves.exe"
This consistently worked fine in detecting the commit the made the window render as just black. But whenever I reuse the same WINEPREFIX and call the same command again, it breaks. I don't know why. And it seems unrelated to the bug I reported here (black window).
I know Wine version 0.9.8 was able to reuse the same prefix while trying this game. I know Proton 6 and now Proton Experimental both are able to launch the game multiple times. This leads me to believe there is something wrong when I'm launching Wine directly from the wine-git directory.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #9 from Ken Sharp imwellcushtymelike@gmail.com --- You need to test in a fresh, clean wineprefix each time. There's no guarantee that a wineprefix will work between different versions of Wine.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #10 from Denilson Sá denilsonsa@gmail.com --- Here's a short recording of the game running inside Wine 10.0-rc2 (i.e. the commit that fixed bug 52738)
https://www.youtube.com/watch?v=ZqZymxUJj9Y
It's using a fresh WINEPREFIX, see the `rm -rf` right before launching the game.
http://bugs.winehq.org/show_bug.cgi?id=58515
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Fixed by SHA1| |ff2f6c4e502c05500e6b9e81066 | |e395f0a1df37d Resolution|--- |FIXED Status|UNCONFIRMED |RESOLVED
--- Comment #11 from Rémi Bernon rbernon@codeweavers.com --- I believe this is fixed with ff2f6c4e502c05500e6b9e81066e395f0a1df37d
http://bugs.winehq.org/show_bug.cgi?id=58515
Denilson Sá denilsonsa@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |UNCONFIRMED Resolution|FIXED |---
--- Comment #12 from Denilson Sá denilsonsa@gmail.com --- I'm sorry to inform, but that commit does not fix this bug. I'm reopening it.
I've just recompiled and tested it in wine-10.12-268-gff2f6c4e502, and the same behavior still happens. (For what's worth, I'm testing it on X11. I don't have Wayland.)
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #13 from Rémi Bernon rbernon@codeweavers.com --- Fwiw the game now works fine for me in virtual desktop mode, it wasn't working before this change and I confirmed the bisection too that way.
Without virtual desktop mode I haven't been able to get the game to display anything, and went back up to wine-10.1 without success.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #14 from Denilson Sá denilsonsa@gmail.com --- In know version 9.7 was able to render the graphics without the virtual desktop mode. And I understand that version is quite older than 10.1.
(Sidenote: I'm having trouble using my own compiled wine version, trouble that I don't get when I use the wine version from my distro. I'm assuming something went wrong with the Regression-Testing instructions, or something else wrong in my non-installed setup.)
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #15 from Rémi Bernon rbernon@codeweavers.com --- Without virtual desktop mode the window appears for me for some reason on a side of the screen and partially offscreen. By default the game displays a black screen on all Wine versions I checked with (9.7, 10.1 and other more recent versions).
However I figured that moving the window to be fully on screen makes it work with Wine 9.7 and 10.1 as well as some later versions. It also works fine for me with latest Wine git.
I re-ran a bisection and found that it was broken by e5e2fd0a5209b0d07233d294e0ace5f1e41dfed5. From that point and until ff2f6c4e502c05500e6b9e81066e395f0a1df37d, the game stays black or refreshes only when the window is being moved. I then confirmed that ff2f6c4e502c05500e6b9e81066e395f0a1df37d fully fixes the issue for me, both on virtual desktop and non-virtual desktop mode.
Would you mind attaching a log file with WINEDEBUG=+timestamp,+pid,+x11drv,+event,+wgl,+opengl,+win,+seh both with a working version and a version when it doesn't work anymore ?
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #16 from Denilson Sá denilsonsa@gmail.com --- Created attachment 79115 --> http://bugs.winehq.org/attachment.cgi?id=79115 "$WINE" "Chaves.exe" &> good.txt
Wine compiled at git commit 6b680f79c80f1269ffef55052336eb6544246e6e, tested on Manjaro Linux running KDE/Plasma on X11.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #17 from Denilson Sá denilsonsa@gmail.com --- Created attachment 79116 --> http://bugs.winehq.org/attachment.cgi?id=79116 "$WINE" "Chaves.exe" &> bad.txt
Wine compiled at git commit 187720358e7c7be1d506c299c630b4e5b2714c61, tested on Manjaro Linux running KDE/Plasma on X11.
http://bugs.winehq.org/show_bug.cgi?id=58515
--- Comment #18 from Rémi Bernon rbernon@codeweavers.com --- Thanks, the problem is obviously that for some reason your system lacks the XComposite extension and the code was falling back to using a Pixmap-based workaround instead. No wonder that removing the Pixmap-based workaround broke it for you then.
It would be interesting to know why the XComposite extension is missing, I believe it's widely available these days.
Then regarding the fix, I don't think the Pixmap-based workaround was working very well, and I'm working on some other approach which should hopefully solve it in a better way and would also remove the need to have XComposite. It's still going to take some time though.