protonscr

GOG Galaxy: Display of menus and some other things is one step behind

dxvkopen
doitsujin/dxvk#5405 · opened 2025-12-28 by 72374 · updated 2026-01-08 · 5 comments · github
772374 2025-12-28 github

Many menus, and some other visual changes, are one step behind what should be shown.

https://github.com/user-attachments/assets/85901d86-1bb8-41a0-b3fe-bc071a60b531

Note: It sometimes seemed to work correctly for a few seconds after starting GOG Galaxy.

It works normally, while the .dll-settings in winecfg are set to use the built-in versions.

Software information

GOG Galaxy 2.0.92.24

System information

  • GPU: AMD Radeon RX 6750 XT (RADV NAVI22) / Intel(R) UHD Graphics 770 (ADL-S GT1)
  • Driver: radv 25.2.8 / Intel open-source Mesa driver 25.2.8
  • Wine version: 11.0-rc4
  • DXVK version: v2.7.1

Apitrace file(s)

The resulting files are almost empty.

Log files

GalaxyClient.exe.log

Ddoitsujin maintainer 2025-12-30 github

Yes, DXVK isn't an ideal choice for desktop apps. I don't know why this isn't working though, given that it should really just be presenting after updating the UI.

772374 2025-12-30 github

It works normally while d3d8, d3d9 and d3d10core are set to "Native" in winecfg.
While d3d11 or dxgi are set to "Native", this issue happens; so it seems to be caused by something that is in common with those two.

Ddoitsujin maintainer 2025-12-30 github

Well yeah, CEF uses D3D11 to draw its UI, that's not exactly new. Doesn't explain why it's broken, though, this should really just work even with our incomplete implementation of partial presentation.

BBananaWorks07 2026-01-05 github

Afaik this is a bug with xwayland and how it interacts with winex11's implementation of cross process rendering

Ddoitsujin maintainer 2026-01-08 github

That makes sense I guess, if the last present never gets latched...

I guess one turbocursed idea for a workaround would be to switch to MAILBOX and always present twice as soon as we see partial presentation going on or something like that, but it's going to take some effort to implement and I'd need to set up a way to repro the issue in the first place.

Nothing extracted yet.