https://bugs.winehq.org/show_bug.cgi?id=57584
Bug ID: 57584 Summary: 8-bit color mode is broken in Wine 9.11 and later Product: Wine Version: 9.11 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: winex11.drv Assignee: wine-bugs@winehq.org Reporter: alexhenrie24@gmail.com Distribution: ---
Created attachment 77694 --> https://bugs.winehq.org/attachment.cgi?id=77694 Regedit on Wine 9.22 in Xephyr
Similar to Bug 48088, palette colors are being mapped incorrectly again. Steps to reproduce:
1. In one terminal, run `Xephyr :2 -ac -screen 800x600x8`
2. In a second terminal, run `DISPLAY=:2 openbox`
3. In a third terminal, run `DISPLAY=:2 wine regedit`
`git bisect` says:
commit 6ace92e0cafcc381f324fc831f3006fb15db4b4e (HEAD) Author: Rémi Bernon rbernon@codeweavers.com AuthorDate: Mon Jun 3 17:48:30 2024 +0200 Commit: Alexandre Julliard julliard@winehq.org CommitDate: Mon Jun 3 23:24:59 2024 +0200
winex11: Create a HBITMAP for the allocated surface pixels.
dlls/winex11.drv/bitblt.c | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 58 insertions(+), 19 deletions(-)
https://bugs.winehq.org/show_bug.cgi?id=57584
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- See Also| |https://bugs.winehq.org/sho | |w_bug.cgi?id=48088 Regression SHA1| |6ace92e0cafcc381f324fc831f3 | |006fb15db4b4e Keywords| |regression, source
https://bugs.winehq.org/show_bug.cgi?id=57584
Alex Henrie alexhenrie24@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |rbernon@codeweavers.com
https://bugs.winehq.org/show_bug.cgi?id=57584
--- Comment #1 from Rémi Bernon rbernon@codeweavers.com --- I'm curious, what is the use case for non-32bit (more specifically 8/16bit) host display modes?
https://bugs.winehq.org/show_bug.cgi?id=57584
mrdeathjr28@yahoo.es changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |mrdeathjr28@yahoo.es
https://bugs.winehq.org/show_bug.cgi?id=57584
--- Comment #2 from Alex Henrie alexhenrie24@gmail.com --- There are quite a few 90's games that demand 8-bit color mode: Bug 46666 is one example. That's why Windows has a "Reduced color mode" checkbox among its compatibility options. See https://gitlab.winehq.org/wine/wine/-/wikis/256-Color-Mode for more information.
It wouldn't be as big of a problem if Wine could emulate 8-bit color mode in the X11 driver, transparently translating 8-bit colors to 32-bit colors like in Windows's compatibility mode.
https://bugs.winehq.org/show_bug.cgi?id=57584
Fabian Maurer dark.shadow4@web.de changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |dark.shadow4@web.de
https://bugs.winehq.org/show_bug.cgi?id=57584
--- Comment #3 from Rémi Bernon rbernon@codeweavers.com --- I thought we were emulating 8bit display mode already, but maybe only for GDI rendering and we're then missing it on the GL/VK side.
As we're likely going to move towards more virtualization of the GL/VK rendering (for DPI scaling, compositing, etc) this use case would be addressed that way, and I'm not sure it's worth supporting such exotic host display server configuration.
Anyway, it was working before, I'll have a look.
https://bugs.winehq.org/show_bug.cgi?id=57584
Rémi Bernon rbernon@codeweavers.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Fixed by SHA1| |9dc80fb036a59ea9140a8413af3 | |27672d51eb840 Resolution|--- |FIXED
--- Comment #4 from Rémi Bernon rbernon@codeweavers.com --- This should be working better with 9dc80fb036a59ea9140a8413af327672d51eb840. The color mapping is still slightly different from before for some reason, but I think the window surfaces were previously using 8bpp DIB without a color table, which doesn't seem to be possible with the HBITMAP that is now used as an interface.
It's still possible to force something closer to the old behavior with X server side GDI drawing (ClientSideGraphics = N in X11 Driver registry options), but looking at regedit and winecfg it didn't seem really necessary and things are readable enough.
https://bugs.winehq.org/show_bug.cgi?id=57584
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #5 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 10.0-rc5.