https://bugs.winehq.org/show_bug.cgi?id=47817
--- Comment #22 from Paul Gofman gofmanp@gmail.com --- After looking a bit more into it, I found that I missed the true reason for the problem in Comment #17, sorry.
Application itself does not actually mess with winstations and desktops. The desktop for which rendering is failing is "__wineservice_winstation\Default". That happens because the games themselves are started with by 'gfservice.exe' service ("Gameforge Client Service"). The service has flags 0x10 in registry, thus it is not an interactive service. Then, the service creates game client with CreateProcessAsUserW() providing user token. Which is supported to create process with default user desktop set instead of the invisible services one. Creating processes with user tokens are not currently supported in Wine. The only thing we need for this case though is to set the user desktop for the newly created process (if the process is created on behalf of user), probably just like services.exe sets the desktop for service processes without SERVICE_INTERACTIVE_PROCESS flag.
Current workaround is to change HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\GameforgeClientService\Type to 110 from 10 (hex DWORD value), without any patches. This marks service as interactive and it is created with default visible workstation itself, so that the processes it creates inherit that.