http://bugs.winehq.org/show_bug.cgi?id=28217
Summary: Regression: Worms Armageddon frontend palette rapidly flickers between normal and messed up Product: Wine Version: 1.3.27 Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown AssignedTo: wine-bugs@winehq.org ReportedBy: muzerakascooby@gmail.com
Created an attachment (id=36137) --> (http://bugs.winehq.org/attachment.cgi?id=36137) The messed-up palette.
This worked in 1.3.25. WA did not work at all in 1.3.26, producing an error message on startup.
In 1.3.27, Worms Armageddon's frontend flicks between having a messed up palette and having a normal palette on many screens. It's still usable, but very uncomfortable. Ingame appears unaffected.
Presumably also affects Worms World Party, but that is much harder to get working under wine.
I've fiddled with WA's own palette bug workaround settings (designed for working around palette issues in Windows Vista and later), all to no effect.
All the usual wine workarounds are enabled in WA (most notably, the Use desktop window workaround which is required to actually be able to see the frontend).
Configuration of WA has not changed from 1.3.25, when it worked.
I have attached a screenshot of one of the (many? I don't know, it's hard to tell) messed up states the palette gets in.
http://bugs.winehq.org/show_bug.cgi?id=28217
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |regression
--- Comment #1 from Henri Verbeet hverbeet@gmail.com 2011-08-28 16:39:22 CDT --- My first guess would be abf8728e1f2f966650eaa5528a1f593a6e1986bb. If reverting that doesn't work, could you do a regression test? Does this have a demo?
http://bugs.winehq.org/show_bug.cgi?id=28217
Austin English austinenglish@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|Regression: Worms |Worms Armageddon frontend |Armageddon frontend palette |palette rapidly flickers |rapidly flickers between |between normal and messed |normal and messed up |up
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #2 from Murray Colpman muzerakascooby@gmail.com 2011-09-01 11:16:03 CDT --- (In reply to comment #1)
My first guess would be abf8728e1f2f966650eaa5528a1f593a6e1986bb. If reverting that doesn't work, could you do a regression test? Does this have a demo?
It does have a demo, but it hasn't been updated like the game has, so doesn't work in XP, let alone wine.
I'll try that when I'm next at my computer.
http://bugs.winehq.org/show_bug.cgi?id=28217
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |adys.wh@gmail.com
--- Comment #3 from Jerome Leclanche adys.wh@gmail.com 2011-11-02 05:16:33 CDT --- Murray, can you test?
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #4 from Murray Colpman muzerakascooby@gmail.com 2011-11-06 08:57:49 CST --- Sorry for late reply, I've only just managed to get wine installed and working again.
It's even worse now - Worms Armageddon just produces a black screen on startup. I have tried enabling and disabling various wine workarounds (including the main one that makes it use the desktop window for Direct Draw, with the downside that minimisation ingame stops working) and palette workarounds within the game.
The game is obviously working (I can click buttons, and hear the sounds), but the frontend remains invisible.
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #5 from Murray Colpman muzerakascooby@gmail.com 2011-11-13 13:27:31 CST --- Do you need any additional information?
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #6 from Jerome Leclanche adys.wh@gmail.com 2011-11-13 13:46:07 CST --- Please run a regression test on the original issue, using the last version you know worked fine.
If you have time after that, do run a regression test on the further issues.
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #7 from Murray Colpman muzerakascooby@gmail.com 2011-11-15 16:12:31 CST --- I just did four regression tests for various stages.
Working 1.3.25 --> error message* 1.3.26:
d4076d438cb5ff05f6800cdaae7ac88844e70595 is the first bad commit commit d4076d438cb5ff05f6800cdaae7ac88844e70595 Author: Huw Davies huw@codeweavers.com Date: Tue Aug 2 14:11:10 2011 +0100
gdi32: Add a PutImage implementation to the dib driver.
:040000 040000 0be7c823d7ba618160e18b0889a0a94956f61183 a01acea3ceb2ad8781388283699d0c8243b90f7f M dlls
Error message 1.3.26 --> working pre-1.3.27: 40742c2f725e8a5f987471ccaafb59aa5c03820d is the first bad commit commit 40742c2f725e8a5f987471ccaafb59aa5c03820d Author: Huw Davies huw@codeweavers.com Date: Fri Aug 19 16:26:10 2011 +0100
gdi32: Fix colour table comparison.
:040000 040000 f2530c089c0a598b7813d1745c4ca43d54534547 5facc52659013eca0d8fb4f003b112bb7a7c5733 M dlls
Working pre-1.3.27 --> palette bug 1.3.27: abf8728e1f2f966650eaa5528a1f593a6e1986bb is the first bad commit commit abf8728e1f2f966650eaa5528a1f593a6e1986bb Author: Ričardas Barkauskas rbarkauskas@codeweavers.com Date: Mon Aug 8 01:26:00 2011 +0300
ddraw: Don't allow setting palette on non root surfaces.
:040000 040000 0c4c8222a2357e428cfc3dcbacda0332d4b08e72 2aa2d93bfcf700126a46bff963c8857a9bc8e822 M dlls
palette bug 1.3.27 --> black screen:
94ae743ea668e49d40ae4e2dc5fe1f5d9be018cb is the first bad commit commit 94ae743ea668e49d40ae4e2dc5fe1f5d9be018cb Author: Henri Verbeet hverbeet@codeweavers.com Date: Tue Aug 30 20:12:31 2011 +0200
ddraw: Make the OpenGL renderer the default one.
:040000 040000 fbce2dc172258a4a7eabc65b6f86bd58522b4667 dfb3b24196ac3ad09100758a48b2d4ef7e45e26b M dlls
Note that the black screen-ness manifests itself in a few ways that I've seen - in versions directly after that change it crashes straight after the intro with a stack error, as well as displaying messages to the effect that it shouldn't be running that code. Later on, it does the same but with freezing instead of crashing. Still later, the frontend appears to work "behind" the blackness, but I can't see much (just get the occasional white outlines of things, as you would normally if a Windows system was having the same issue). If you want me to regression test /these/, I can as well, but I think I'm all regression tested out for today ;)
*I did write down the error message, but I've lost it, and I don't want to install that version of wine to get it again - it was one generated by the game, about failing to load some resources required for the frontend, or something to that affect.
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #8 from Henri Verbeet hverbeet@gmail.com 2011-11-15 16:25:46 CST --- So between 40742c2f725e8a5f987471ccaafb59aa5c03820d and abf8728e1f2f966650eaa5528a1f593a6e1986bb it was working correctly, and the original bug you filed this for was caused by abf8728e1f2f966650eaa5528a1f593a6e1986bb, right?
Wrt. 94ae743ea668e49d40ae4e2dc5fe1f5d9be018cb, does setting the "DirectDrawRenderer" registry key to "gdi" make it work again with current git?
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #9 from Murray Colpman muzerakascooby@gmail.com 2011-11-15 16:40:21 CST --- "So between 40742c2f725e8a5f987471ccaafb59aa5c03820d and abf8728e1f2f966650eaa5528a1f593a6e1986bb it was working correctly, and the original bug you filed this for was caused by abf8728e1f2f966650eaa5528a1f593a6e1986bb, right?"
Correct.
"Wrt. 94ae743ea668e49d40ae4e2dc5fe1f5d9be018cb, does setting the "DirectDrawRenderer" registry key to "gdi" make it work again with current git?"
Yes, it does - that's fantastic :D
Is there anything you would need to help with fixing the bug in the opengl renderer? Here's the output of wine when WA is run with the GL renderer:
fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:win:EnumDisplayDevicesW ((null),0,0x32b6f4,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x32b808,0x00000000), stub! fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 8 err:d3d_surface:d3dfmt_p8_init_palette This code should never get entered for DirectDraw!, expect problems fixme:d3d_surface:wined3d_surface_flip Ignoring flags 0x1. fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 32 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 32 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied fixme:gstreamer:init_new_decoded_pad Linking: 0 fixme:gstreamer:no_more_pads Done fixme:gstreamer:event_sink 0x7cf35c50 stub tag fixme:gstreamer:got_data_sink Triggering 0x7cf00f10 0x248 fixme:gstreamer:watch_bus wavparse0: Internal data flow error. fixme:win:LockWindowUpdate ((nil)), partial stub! fixme:win:LockWindowUpdate ((nil)), partial stub! fixme:win:LockWindowUpdate ((nil)), partial stub! err:mmtime:TIME_MMTimeStop Timer still active?!
(notice especially the seventh line)
And here it is with GDI, for comparison:
fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:ntdll:server_ioctl_file Unsupported ioctl 24000 (device=2 access=1 func=0 method=0) fixme:win:EnumDisplayDevicesW ((null),0,0x32b6f4,0x00000000), stub! fixme:win:EnumDisplayDevicesW ((null),0,0x32b808,0x00000000), stub! fixme:x11drv:X11DRV_desktop_SetCurrentMode Cannot change screen BPP from 32 to 8 fixme:d3d_surface:wined3d_surface_flip Ignoring flags 0x1. fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 32 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 32 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels fixme:alsa:AudioClient_GetMixFormat Don't know what to do with 10000 channels, pretending there's only 2 channels ALSA lib seq_hw.c:457:(snd_seq_hw_open) open /dev/snd/seq failed: Permission denied fixme:gstreamer:init_new_decoded_pad Linking: 0 fixme:gstreamer:no_more_pads Done fixme:gstreamer:event_sink 0x7d09e450 stub tag fixme:gstreamer:got_data_sink Triggering 0x7d069710 0x240 fixme:gstreamer:watch_bus wavparse0: Internal data flow error. fixme:ddraw:ddraw7_GetScanLine iface 0x1345c0, line 0x329c24 partial stub! fixme:win:LockWindowUpdate ((nil)), partial stub! fixme:win:LockWindowUpdate ((nil)), partial stub! fixme:win:LockWindowUpdate ((nil)), partial stub! err:mmtime:TIME_MMTimeStop Timer still active?!
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #10 from Murray Colpman muzerakascooby@gmail.com 2011-11-15 16:49:29 CST --- Oh, I forgot to mention in my last comment - the latest git also lacks the palette bug (the originally-reported one)
http://bugs.winehq.org/show_bug.cgi?id=28217
Henri Verbeet hverbeet@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |abf8728e1f2f966650eaa5528a1 | |f593a6e1986bb
--- Comment #11 from Henri Verbeet hverbeet@gmail.com 2011-11-15 16:52:23 CST --- (In reply to comment #9)
Is there anything you would need to help with fixing the bug in the opengl renderer?
It probably has to do with using both an 8-bit display mode and locking the frontbuffer. Please file a separate bug for this issue, and I'll try to look into it.
(In reply to comment #10)
Oh, I forgot to mention in my last comment - the latest git also lacks the palette bug (the originally-reported one)
Ok, in that case this bug can be resolved FIXED.
http://bugs.winehq.org/show_bug.cgi?id=28217
Jerome Leclanche adys.wh@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |RESOLVED Resolution| |FIXED
--- Comment #12 from Jerome Leclanche adys.wh@gmail.com 2011-11-15 17:11:21 CST --- Original bug was Fixed. Please file a new issue for the other bug :)
http://bugs.winehq.org/show_bug.cgi?id=28217
--- Comment #13 from Murray Colpman muzerakascooby@gmail.com 2011-11-15 17:50:37 CST --- Created issue for other bug (bug 29097).
http://bugs.winehq.org/show_bug.cgi?id=28217
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #14 from Alexandre Julliard julliard@winehq.org 2011-11-18 13:05:07 CST --- Closing bugs fixed in 1.3.33.