Skip to content

Fix EnumDevices stall using a proxy DLL#76810

Closed
funkkiy wants to merge 2 commits intogodotengine:masterfrom
funkkiy:hid_proxy
Closed

Fix EnumDevices stall using a proxy DLL#76810
funkkiy wants to merge 2 commits intogodotengine:masterfrom
funkkiy:hid_proxy

Conversation

@funkkiy
Copy link
Contributor

@funkkiy funkkiy commented May 7, 2023

If added, this PR will build a proxy library for hid.dll that pursues to resolve a very rare bug that hangs Godot when some devices are present, as seen in #20566. I have not been able to reproduce the issue because I don't own hardware that causes it, but previous experimentation has showed success when modifying HidD_GetProductString at runtime (#20566 (comment)).

If needed, I can keep this as a draft so we can work anything out.

Bugsquad edit:

@funkkiy funkkiy requested a review from a team as a code owner May 7, 2023 15:30
@Chaosus Chaosus added this to the 4.1 milestone May 8, 2023
@Chaosus Chaosus changed the title Fix EnumDevices stall (#20566) using a proxy DLL Fix EnumDevices stall using a proxy DLL May 8, 2023
@Chaosus
Copy link
Member

Chaosus commented May 8, 2023

Please amend the commit name - since we are not using links in it.

@funkkiy
Copy link
Contributor Author

funkkiy commented May 8, 2023

Will do when I get home. I'd like to note @bruvzg also suggested another approach, by reimplementing EnumDevices which can be considered.

@funkkiy
Copy link
Contributor Author

funkkiy commented May 8, 2023

Please amend the commit name - since we are not using links in it.

Corrected.

@YuriSizov YuriSizov modified the milestones: 4.1, 4.2 Jun 20, 2023
@YuriSizov YuriSizov requested a review from bruvzg June 20, 2023 12:56
@YuriSizov
Copy link
Contributor

Since this fixes a bug reported as far as Godot 3.0, I think it's safe to move it to the next milestone. Needs a review still from area maintainers, so cc @bruvzg

@funkkiy
Copy link
Contributor Author

funkkiy commented Jun 23, 2023

Since this fixes a bug reported as far as Godot 3.0, I think it's safe to move it to the next milestone. Needs a review still from area maintainers, so cc @bruvzg

I think other contributors suggested this wasn't the best solution, but I can't think of anything else other than someone going in and reimplementing the DirectInput functionality directly with the HID layer or using SDL's better implementation.

@funkkiy funkkiy requested a review from a team as a code owner September 21, 2023 21:57
@Zireael07
Copy link
Contributor

This should go in, it fixes a very annoying issue that's very hard to figure out if you've got it

@echoless3484
Copy link

echoless3484 commented Apr 12, 2024

Really hope this gets added soon, it is a very important fix as I am nearly unable to do anything without the engine slowing down and hanging.

@KoBeWi KoBeWi modified the milestones: 4.3, 4.4 Aug 4, 2024
@Repiteo Repiteo modified the milestones: 4.4, 4.5 Feb 24, 2025
@Repiteo Repiteo modified the milestones: 4.5, 4.6 Sep 8, 2025
@Repiteo Repiteo modified the milestones: 4.6, 4.x Nov 19, 2025
@akien-mga
Copy link
Member

Superseded by #113013. Thanks for the contribution!

@akien-mga akien-mga closed this Jan 18, 2026
@akien-mga akien-mga removed this from the 4.x milestone Jan 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Godot slow to open, slow to edit, slow to launch simple game [Windows, caused by specific USB peripherals]

9 participants