https://bugs.winehq.org/show_bug.cgi?id=44560
Bug ID: 44560 Summary: Cossacks 3: black units & trees Product: Wine-staging Version: 3.2 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: critical Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: loic.blot@unix-experience.fr CC: erich.e.hoover@wine-staging.com, michael@fds-team.de, sebastian@fds-team.de Distribution: ---
Created attachment 60522 --> https://bugs.winehq.org/attachment.cgi?id=60522 screenshot
Cossacks 3 under wine staging 3.2 (and wine 2.21) has black units and trees.
OS: archlinux architecture: amd64 Graphics: Radeon RX580
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #1 from nerzhul loic.blot@unix-experience.fr --- Affected app: https://appdb.winehq.org/objectManager.php?sClass=application&iId=17876
https://bugs.winehq.org/show_bug.cgi?id=44560
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de Severity|critical |normal
--- Comment #2 from Fabian Maurer dark.shadow4@web.de --- Not critical.
https://bugs.winehq.org/show_bug.cgi?id=44560
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- Product|Wine-staging |Wine Component|-unknown |-unknown
--- Comment #3 from Fabian Maurer dark.shadow4@web.de --- Also, there is no wine-staging-3.2.
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #4 from nerzhul loic.blot@unix-experience.fr --- Yeah i mis-set it it's wine 3.2, for me it's critical as all units and buildings are in a ugly black but anyway it's not a stability problem
https://bugs.winehq.org/show_bug.cgi?id=44560
supercoolemail@seznam.cz changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |supercoolemail@seznam.cz
--- Comment #5 from supercoolemail@seznam.cz --- I can confirm this with pretty much same setup, just with latest version of everything. Game uses OpenGL, could this even be bug in Wine? No errors are logged so this will be probably either bug in mesa or just missing support for some OpenGL compat profiles (in this case it might very well be fixed by mesa 18.3 with OpenGL 4.5 compat profile support).
https://bugs.winehq.org/show_bug.cgi?id=44560
zzzzzyzz@hacari.org changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |zzzzzyzz@hacari.org
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #6 from supercoolemail@seznam.cz --- It was not 4.5 compat requirement. It is still broken in exactly the same way on mesa 19. LIBGL_ALWAYS_SOFTWARE=1 does not help here, so I guess it actually is bug in wine.
https://bugs.winehq.org/show_bug.cgi?id=44560
eutychios23@gmail.com eutychios23@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |eutychios23@gmail.com
--- Comment #7 from eutychios23@gmail.com eutychios23@gmail.com --- I can confirm the issue on mesa 20 with an amd rx550 gpu, this bug is critical because the native version of the game does not work, it gives access violation, and the wine version has black textures.
https://bugs.winehq.org/show_bug.cgi?id=44560
joaopa jeremielapuree@yahoo.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |jeremielapuree@yahoo.fr
--- Comment #8 from joaopa jeremielapuree@yahoo.fr --- Does the bug still occur with wine-5.15?
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #9 from supercoolemail@seznam.cz --- This bug still occurs even with wine 5.16.
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #10 from joaopa jeremielapuree@yahoo.fr --- Are you sure the bug does not occur in a real windows box?
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #11 from nerzhul loic.blot@unix-experience.fr --- occurs on wine-staging 5.21
https://bugs.winehq.org/show_bug.cgi?id=44560
Neros contact@neros.fr changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |contact@neros.fr
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #12 from eutychios23@gmail.com eutychios23@gmail.com --- Bug unfortunately still occurs with wine 6.20
https://bugs.winehq.org/show_bug.cgi?id=44560
Andrey Gusev andrey.goosev@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Cossacks 3: black units & |Cossacks 3: black units & |trees |trees (on AMD GPU) Ever confirmed|0 |1 Status|UNCONFIRMED |NEW
--- Comment #13 from Andrey Gusev andrey.goosev@gmail.com --- Confirming.
wine-7.11-109-gaf8ed02b572
https://bugs.winehq.org/show_bug.cgi?id=44560
Paul Gofman pgofman@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |pgofman@codeweavers.com
--- Comment #14 from Paul Gofman pgofman@codeweavers.com --- The black units are due to a few GLSL shaders are failing to compile because the game uses implicit float to integer conversion for it and not specifying '#version 120' or anything else appropriate. It works with some drivers but not with Mesa. It doesn't seem to be a way to fix it in Wine in a non-hacky way.
There is Mesa compat option for the issue concerned by this bug (allow_glsl_120_subset_in_110) which is already enabled for some games and can be enabled for Cossacks 3 by adding the following into /usr/share/drirc.d/00-mesa-defaults.conf into driconf/device section: <application name="Cossacks 3" executable="cossacks.exe"> <option name="allow_glsl_120_subset_in_110" value="true" /> </application>
Instead of editing system wide dri.conf file it can be copied to $HOME/.drirc (that is a file, not directory) and edited there, that file takes precedence.
I suppose this can in principle be suggested as an option in Mesa's default dri.conf file to Mesa.
I made a hack in Proton fixing it on the way of another issue with Cossacks 3: https://github.com/ValveSoftware/wine/commit/4985f64197c10cbc74d2bb305190c16...
That hack is fixing disappearing units issue on AMD (I could not find a Winehq bug for that) in the first place for which I didn't find a better way around rather than fixing up the shaders, so added '#version 120' there too on the way.
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #15 from eutychios23@gmail.com eutychios23@gmail.com --- THX!!!!!!!!
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #16 from eutychios23@gmail.com eutychios23@gmail.com --- I've tried playing the game with latest proton-ge and opengl but it seemed to be laggy, especially when the whole map is being revealed through the academy update.
I tried in steam command line:
MESA_LOADER_DRIVER_OVERRIDE=zink GALLIUM_DRIVER=zink %command%
and the game runs like the native version performance wise, only drawback was screen flickering which i resolved it by entering in windowed mode in the game settings and then switching back to full-screen.
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #17 from eutychios23@gmail.com eutychios23@gmail.com --- Hello we can finally close this bug: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19147
https://bugs.winehq.org/show_bug.cgi?id=44560
Erich E. Hoover erich.e.hoover@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |NOTOURBUG Status|NEW |RESOLVED
--- Comment #18 from Erich E. Hoover erich.e.hoover@gmail.com --- Reported fixed by mesa (not our bug).
https://bugs.winehq.org/show_bug.cgi?id=44560
--- Comment #19 from Paul Gofman pgofman@codeweavers.com --- yes, that should help with the black units (and this bug is solely about that).
Unfortunately disappearing units is a distinct issue which I think would be hard to workaround in Mesa (see Comment 14), that depends on the specific way of assigning uniform locations in the absence of explicit locations in GLSL shaders.