bruhmoment21 / UniversalHookX

Universal graphical hook for Windows apps.
MIT License
198 stars 42 forks source link

Doom Eternal - Black Screen (VULKAN) #3

Closed DJD320 closed 2 years ago

DJD320 commented 2 years ago

As already stated in the title, i am having problems with the game Doom Eternal which uses vulkan. If i inject the dll, as soon as the game starts, i manage to see the ImGui menu, but after the first loading screen (when starts rendering actual game stuff), everything freezes then becomes black.

Even when injecting after that loading screen, the result is always a black screen.

VIDEO: https://streamable.com/c0wh0d

bruhmoment21 commented 2 years ago

been looking at this i am still looking at the issue seems like the game does some stuff with multiple queues (seems like a hard one to fix)

bruhmoment21 commented 2 years ago

the game uses async rendering, to disable that add "+r_enableAsyncCompute 0" in your launch options (this is a workaround, not a fix) and you should see the imgui window. The freeze is the result of calling vkQueueSubmit on a compute queue. (queue family 2) lmk if it works

DJD320 commented 2 years ago

Hi, i tried what you suggested and it indeed worked! The only issue is the mouse capture, which is not working as the mouse gets ignored by the imgui window.

https://i.ibb.co/gD6fvYF/image.png

I think that this issue can be fixed with some code regarding imgui's io. something like WantCaptureMouse if i'm not wrong.

bruhmoment21 commented 2 years ago

Hi, i tried what you suggested and it indeed worked! The only issue is the mouse capture, which is not working as the mouse gets ignored by the imgui window.

https://i.ibb.co/gD6fvYF/image.png

I think that this issue can be fixed with some code regarding imgui's io. something like WantCaptureMouse if i'm not wrong.

hhmm i don t think it will work, a workaround for that would be to open the games console by pressing "`", same button as csgo consoles, and then open the imgui menu.

DJD320 commented 2 years ago

indeed it didnt work. i changed the toggle menu bind from vk_insert to the "`" key, that way its synced.