Summary
Photoshop 2025 under wine-11.10-adobe can render the top application menu strip as a solid white rectangle with no visible menu text. The menu is still functional/clickable; the failure is visual paint of a specific Adobe OWL menu-bar child window.
This was reproduced on Linux Mint/Cinnamon X11 with Photoshop 2025 v26.3 in both an existing prefix and a comparison/clean prefix.
Exact failing surface
Wine trace and screenshots identify the bad surface as:
- top window: class
Photoshop, titleAdobe Photoshop 2025 - child: class
OWL.ApplicationBar - failing child: class
OWL.MenuBar - failing geometry:
445x20, positioned at about29,0
The screenshot rectangle exactly matched this child:
- pure white pixel count:
8900 - bbox:
x=33..477,y=3..22 - size:
445x20
Trace excerpts:
WIN_CreateWindowEx (null) L"OWL.ApplicationBar" ... parent=0x10068
WIN_CreateWindowEx (null) L"OWL.MenuBar" ... parent=0x111f2
NtUserCreateWindowEx hwnd 0x111f4 ...
NtUserSetWindowPos hwnd 0x111f4 ... 29,0 (445x20)
nc_paint 0x111f4 0
nc_paint rect after menu (0,0)-(445,20)So the issue is not Photoshop document/canvas rendering, not Edge WebView, not Cinnamon/Metacity decorations, and not a general D2D triangulation issue. It is the OWL.MenuBar child being painted white through Wine's non-client/menu paint path.
Things tested / falsified
- Reproduced in both current and comparison prefixes.
- Changing
HKCU\\Control Panel\\ColorsandThemeManager\\Control Panel\\Colorsentries such asMenu,MenuBar,MenuText,ButtonFace,ButtonHilight,ButtonAlternateFace, andWindowto sentinel colors did not change the white strip. ThemeActive=1withaero.msstylesin the comparison prefix did not fix it.- Manually painting the
OWL.MenuBarDC dark did not persist. - Hiding the exact
OWL.MenuBarchild removed all white pixels and revealed Photoshop's native dark application bar underneath. - Sending click messages to the hidden
OWL.MenuBarstill opens the real Photoshop menus.
Practical workaround that proves the target
A small Win32 helper inside the same Wine prefix:
- finds the
OWL.MenuBarchild with geometry445x20; - calls
ShowWindow(hwnd, SW_HIDE)on that child; - creates a transparent topmost overlay with menu labels;
- forwards clicks into the hidden
OWL.MenuBarwithWM_LBUTTONDOWN/UP.
That produces a visually correct top menu and the real Photoshop dropdowns open.
This workaround is not a real upstream fix, but it proves the root surface: the hidden OWL.MenuBar remains functional, only its paint is wrong.
Suggested Wine-side fix direction
Please inspect Wine's non-client/menu painting for child OWL.MenuBar windows. The failing path appears to be nc_paint / "rect after menu" for a child menu-like window. Since system color registry changes do not affect the result, it looks like this path is selecting a stock/default white brush or otherwise clearing the menu rect to white rather than using the app/menu background.
A proper fix may be one of:
- avoid non-client menu background painting for this OWL child menu bar;
- use
COLOR_MENUBAR/COLOR_MENUconsistently instead of a stock white brush; - respect the class/app background for child
OWL.MenuBarwindows before/after menu nc-paint; - or route this child menu bar through the themed menu background path when theming is active.
The important behavioral constraint is that hit-testing/click handling already works; only painting is wrong.
Environment
- Photoshop: Adobe Photoshop 2025 v26.3
- Wine:
wine-11.10-adobefrom this Adobe fork - Desktop: Linux Mint/Cinnamon X11
- GPU stack: NVIDIA, vkd3d path
I can provide the local trace/captures if useful. The key diagnostic is the OWL.MenuBar 445x20 child and nc_paint rect after menu (0,0)-(445,20).
Can you share the Win32 helper? I'm running into the same issue and it would be nice to be able to see the top menu.