Built app will run in Wine and not Windows

Godot Version

Godot 4.5.1 also Godot 4.6.3

Question

I have built a game application and have had issues exporting to Windows. My game application will run fine when exported (built for) to Linux. The Windows exported application will run fine on Wine/Linux but not on Windows 11. All users report no sound and a crash of the application when sound, from reports, is about to be started/played.

I have tried Godot 4.5.1 and Godot 4.6.3 and each version of Godot had the same result as explained above.

I do have a link available to our game client if needed for testing.

Not sure what to do as I have Linux based systems here and rely on Wine to proof Windows exported applications. The fact that my game application runs on Wine and not Windows has me a little confused..

I hope you have some advice.Thanks.
Vidiot_X

You could install Windows on Virtualbox and test on that. You can get Windows free download and install it. Or you can dual boot Windows.

https://share.google/aimode/kVlWkpxN6DzA6BWb7

@silocoder

I may try VM’ing Windows. Thanks.

@all
I was really hoping someone out there had encountered this issue. To me it’s crazy that the Godot built application runs on Wine and not on Windows.

Could this be a credential or application security issue? I am exporting the application as unsigned application.

I’m also interested in any sound issues that may relate to my issue.

Thanks for any help!

You’d have to give logs or something from the failing client, it’s just hard to debug when we’re so far from the issue is all. I can attest to no issues exporting Windows from Linux, for the most part Godot only copies a pre-built export template into the same folder as the pack file.

If it’s really sound related, do you do anything weird with audio players? What does your export process look like?

I have a GitHub thread going on it. They want data too.

I am going to have a couple of users run a debug version of my game client. This debug version will be built on a fresh install of Godot 4.6.3 with no sound driver (Dummy). They will send any crash data and basic hardware information. I will post it here.

I should have more data shortly. Such a weird issue.

A little news.

Users were able to run my latest client build. I built the latest client in debug, with a ‘Dummy’ sound driver and text-to-speech (TTS) disabled. My hunch that sound was involved here seems to be right. My guess would be TTS is causing a problem or I am doing something wrong in implementing it, which I find unlikely as the client on Linux runs fine with a ‘Dummy’ sound driver and TTS enabled.

I do use a lot of sounds in this game and fair use of the bus system. Each bullet object has it’s own impact (shared resource) sound with each having 8 max_ polyphony (AudioStreamPlayer2D). Along with explosions, weapons fire and other sounds it might be possible I am overwhelming Windows audio system.

My money is on TTS being the issue. I will build a version with TTS diabled and a sound driver enabled (blank driver). If that fails I will incrementally start to add in basic sound use and then more complex sound use, trying to isolate the issue.

I do have a question on the audio setting for the sound driver. As I understand leaving it blank uses the default system audio driver. Is that right way I should export to Windows.?

I will keep you all posted.

My hunch was … completely wrong. It turns out once I got a release build of my Windows client running on Windows 11 it crashed again and will not run. Users report the log file generated by Godot only showing two warning/errors:

WARNING: Sending failed! at: enet_socket_send (thirdparty/enet/enet_godot.cpp:532)
ERROR: Condition "!_is_active()" is true. Returning: nullptr at: get_host (modules/enet/enet_multiplayer_peer.cpp:452)

I have never seen this error and can’t explain it. After logging this error, the Godot 4.6.3 built Windows client crashes. I googled it and found only one result. An open Godot issue on GitHub that appears similar in scope, but I am not sure. The issue brings to light a possible bug with a ‘server_disconnect’ signalling issue, if I understand it correctly. I think the issue I am having may be different.

I have no idea what to do from here. I could use some guidance on how/what the issue is. It looks like a Godot/Enent issue and from what I can tell is not related to anything I am doing in code. My client application runs fine on Linux Desktop and a VPS as a dedicated server. This ‘enet_socket_send’ issue occurs on Windows ‘release’ builds. Debug Windows builds (Godot 4.6.3) run with no issue.

Users all have Windows 11 reporting the crash issue with my game client Built on Godot 4.6.3. User have typical game rig hardware.

I hope someone can help.

Mysterious termination of network traffic always sounds like firewall/windows defender stuff to me.

I don’t know anything about those internals, but what I have had happen on numerous occasions is windows blocking http traffic from Java server and/or client applications under development.

This is why Intellij IDEA asks you to run privilege escalation scripts after initial installation.

This is why we spent hours getting Minecraft java edition working over LAN on our WiFi router.

I hope I’m not sending you off on a tangent here, but I’m guessing your best bet here is to try and see what knobs you can turn in the windows defender settings and firewall to check if it has any effect.

Also, I hear good things about Wireshark.

I have no experience with it myself.

I see you don’t have access to windows 11 yourself? Hm, that’s a tough one.

Maybe you could indeed try to reproduce is inside a VM, but I don’t think I can help you there further as networking is not my forté. Especially not on windows.