http://bugs.winehq.org/show_bug.cgi?id=30843
Bug #: 30843 Summary: Adobe Flash 10 (only 10.0.x.x) fails to redraw properly in fullscreen mode when hardware acceleration is enabled (affects NP plugin when playing Youtube movies and standalone flash-based apps like Machinarium) Product: Wine Version: 1.5.5 Platform: x86 URL: http://helpx.adobe.com/flash-player/kb/archived-flash- player-versions.html OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: directx-d3d AssignedTo: wine-bugs@winehq.org ReportedBy: mooroon2@mail.ru CC: hverbeet@gmail.com, stefan@codeweavers.com Classification: Unclassified
This bug affects only Adobe Flash Player versions from 10.0 family (i.e. having version numbers in 10.0.x.x range). I had tested it to affect almost each 10.0 release that had been released to public, namely: 10.0.12.36, 10.0.15.3, 10.0.22.87, 10.0.32.18, 10.0.42.34 and 10.0.45.2
Full screen hardware accelerated mode of Adobe Flash 10 had been failing hard (hanging, crashing, e.t.c., check bug #25533 for example) on systems up until the commit bd97589d. Starting with that commit and up to Wine 1.5.5 hangs no longer happen but there's an issue with Flash player not being able to redraw its window contents when in in fullscreen mode.
This problem only happen in case "Hardware acceleration" is enabled (relevant checkbox is checked in "Properties->Display" of the dialog box that is accessible by right clicking on flash player window contents and selecting "Properties..." menu item). Inspecting CPU usage and wine trace logs makes me believe that hardware-accelerated fullscreen mode differ from other operating modes of Flash Player (non-fullscreen or fullscreen without hardware acceleration) in that it uses direct3d to do rendering.
Easiest way to reproduce problem is by installing fresh version of Firefox into the prefix, applying workaround for bug #17273 (check comment #11 in that bug), installing any release of Adobe Flash 10 Player NP plugin and trying to playback any clip from Youtube in fullscreen mode. In case prefix is configured to run in non-virtual-desktop mode (i.e. Wine creates a separate X visual for every window windows apps tries to create) - Flash Player fullscreen window won't be redrawed properly (i.e. would display statically a frame that had been playing at the moment of switching into fullscreen mode). In virtual desktop mode active for prefix "fullscreen" Flash Player window would be redrawn but there would be some rendering artifacts noticeable looking like "periodical quick jumps backwards in time and than back".
Trying to apply fixes like activating "AlwaysOffscreen" wined3d mode doesn't help (at least on the workstations I used to test/reproduce this bug).
With standalone Adobe Flash 10 based appls like Machinarium which don't auto-quit fullscreen mode upon focus loss another interesting observation could be made: Flash Player fullscreen window contents seem to redraw properly as soon as there's some other window overlapping player's window which moves back and forth. Simply having some other window sitting still in front of Flash Player fullscreen window doesn't helps, one would have to move it in order to force Flash Player into redrawing its window contents.
I'm not attaching logs to this bug as it seems that it is pretty easily and quickly reproducible by anyone wishing to debug it. As far as I can tell from inspecting logs (and comparing then with ones captured with Flash Player 10.1 - which doesn't experience this bug) there are no obviously suspicious lines there for relevant debug channels (ones acquired by grepping for "DEBUG_CHA" inside wined3d and winex11.drv source tree folders).