obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
60.4k stars 7.99k forks source link

Game capture is unable to hook into path of exile when running vulkan renderer on Intel Arc A770 #8156

Open Sjatar opened 1 year ago

Sjatar commented 1 year ago

Operating System Info

Windows 11

Other OS

No response

OBS Studio Version

29.0.0

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/0nN2UUzOIbYZRfWl

OBS Studio Crash Log URL

No response

Expected Behavior

Display the game capture source to the canvas.

Current Behavior

It does not display anything to the canvas. Log files states:

  1. "00:36:10.315: [game-capture: 'Game Capture'] attempting to hook fullscreen process: PathOfExile.exe"
  2. "00:36:10.323: [game-capture: 'Game Capture'] capture stopped"

This continues in a loop.

Steps to Reproduce

  1. Set path of exile to use the vulkan renderer
  2. Create game capture source for path of exile, or any fullscreen application
  3. Focus path of exile and go into fullscreen.

Anything else we should know?

Game capture has worked previously and found it not working after starting obs and tried using my already set scene. Since working OBS has updated, I have switched to windows 11 and I have a new graphics card, so many variables could have broken it.

Game capture still works with the other render options of DX11 and DX12 (beta), only vulkan does not work.


My current computer uses the Intel Arc A770 with the driver 31.0.101.4032, which is the latest WHQL driver. Not tested with the beta drivers. Previous card was a AMD 5600XT.

The windows 11 install is very recent and is fully up to date. Version: 10.0.22621 Build 22621

Rebar is enabled, otherwise my bios settings are set to default if that matters.

I have tested with and without fullscreen optimisations also with and without freesync (VRR, vesa adaptive sync).

Disabled all overlays, including the Intel arc settings overlay, discord overlay and windows xbox gamebar.


Yolo on discord thought this issue was relevant: https://github.com/obsproject/obs-studio/issues/7708 But checking the path of exile log file it mentions support for "VK_KHR_get_physical_device_properties2" (log message "[INFO Client 6708] [VULKAN] Supported instance extension: VK_KHR_get_physical_device_properties2") and Intel arc control mentions it has support for up to Vulkan 1.3.2.

Edit: Yolo also tested path of exile with their 3080 without issues. Seems to be related to the A770, I have updated the title to reflect this.


Edit: Tested with Hades as well. With the vulkan renderer it gets stuck trying to hook into hades without success. The DX renderer works without issues. Hades is stated to run on Vulkan 1.1.

WizardCM commented 1 year ago

Cannot reproduce on Windows 10 and the Steam version on an RTX 3080 (driver 528.24):

12:01:04.535: [game-capture: 'Game Capture 2'] attempting to hook fullscreen process: PathOfExileSteam.exe
12:01:10.801: [game-capture: 'Game Capture 2'] vk_shtex_init_d3d11_tex: OBS requesting VK_FORMAT_B8G8R8A8_SRGB texture format. capture dimensions: 3440x1440
12:01:10.876: [game-capture: 'Game Capture 2'] vulkan shared texture capture successful
12:01:10.901: [game-capture: 'Game Capture 2'] shared texture capture successful
12:01:12.116: [game-capture: 'Game Capture 2'] ------------------ vulkan capture freed ------------------
12:01:13.553: [game-capture: 'Game Capture 2'] Hooked SwapBuffers
12:01:13.553: [game-capture: 'Game Capture 2'] Hooked wglDeleteContext
12:01:13.553: [game-capture: 'Game Capture 2'] Hooked wglSwapLayerBuffers
12:01:13.553: [game-capture: 'Game Capture 2'] Hooked wglSwapBuffers
12:01:13.553: [game-capture: 'Game Capture 2'] Hooked GL
12:01:15.097: [game-capture: 'Game Capture 2'] vk_shtex_init_d3d11_tex: OBS requesting VK_FORMAT_B8G8R8A8_SRGB texture format. capture dimensions: 3440x1440
12:01:15.099: [game-capture: 'Game Capture 2'] vulkan shared texture capture successful
12:01:15.101: [game-capture: 'Game Capture 2'] shared texture capture successful

Captured fine for me.

Sjatar commented 1 year ago

I have updated the title to reflect that this is on my specific card, I will ask to see if other A770 owners can replicate it. I will also test new Intel beta drivers 31.0.101.4090.

Edit: I have tested the new 4090 driver with no luck. I will update this post if I can get in touch with other A770 owners that can or can't replicate the issue.

flaeri commented 1 year ago

I had a little bit of a quirk when I was replicating. It worked for me, but it seemed to be stuck at tryining to capture for a good 30-40 sec before it finally did it. After that it was lightning fast. Would you be okay trying once more, and just leaving it trying to capture for 1min?

Sjatar commented 1 year ago

I had a little bit of a quirk when I was replicating. It worked for me, but it seemed to be stuck at tryining to capture for a good 30-40 sec before it finally did it. After that it was lightning fast. Would you be okay trying once more, and just leaving it trying to capture for 1min?

Hello, I have tried to leave it for a while (up to 5 min) but it would still not hook into poe. I found that sometimes the log file states "[game-capture: 'Game Capture'] attempting to hook fullscreen process: PathOfExile.exe" but then will not progress from there and will not start repeating itself as stated in the issue. When you are succesfully hooking into poe does it repeat itself or does it stay at "attempting to hook"?

What driver do you use for the A770 (I'm guessing A750 and A380 would experience the same issue)? I'm currently on the beta 4090 driver.

Edit: I have the same behaviour in Hades running the vulkan client there. The DX rendered works without issues. Flaeri do you have Hades to test with as well?

flaeri commented 1 year ago

I don't have hades. Just confirming that you didnt run into the same issue that I did. For the record, I do no have an intel GPU. Just adding on a datapoint, and wanted to ensure that the potential quirk was not the same for you.

Sjatar commented 1 year ago

I don't have hades. Just confirming that you didnt run into the same issue that I did. For the record, I do no have an intel GPU. Just adding on a datapoint, and wanted to ensure that the potential quirk was not the same for you.

Okey, yes it does not manage to hook into poe or now hades even if it is let to think about it for a while. I'm still trying to find other people willing to test on Intel hardware.

LB-- commented 1 year ago

I can also confirm this issue with the built-in Vulkan rendering mode of The Talos Principle. Display Capture works fine, but I can't get Game Capture to work with any amount of fiddling with the options. Tested with OBS 29.0.0 and Intel Arc driver 4032 on an Intel Arc A770 16 GB

OBS_log_excerpt.txt

RytoEX commented 1 year ago

Please provide full log files. These are used to confirm details such as:

RytoEX commented 1 year ago

For my part, I can confirm that capturing PoE running with the Vulkan renderer on a system with an Intel Iris Xe and Intel Arc A770M does not appear to work in OBS Studio 28.1.2 or 29.0.0 with Intel drivers 31.0.101.3959. PoE seems to prefer running on the Iris Xe, but even if I force both OBS and PoE to the Arc, it will not capture with PoE's Vulkan renderer enabled.

Sjatar commented 1 year ago

This issue is still present in OBS 29.0.2 using the now WHQL driver 31.0.101.4091 Intel driver.

Sjatar commented 1 year ago

Issue still present with OBS 29.0.2 WHQL driver 31.0.101.4146. This driver did include some fixes to other vulkan issues.

RytoEX commented 1 year ago

As far as I understand it, this is an incompatibility with the way the Intel driver expects Vulkan texture sharing to work and the way OBS supports Vulkan texture sharing.

D4vidGarcia commented 1 year ago

Same issue on rainbow six siege using vulkan, latest beta driver 31.0.101.4952 and OBS 29.1.3. Any ETA for a fix on intel arc or should I use Arc control for recording games that use vulkan?

Edit: When I alt-tab out of the game the capture works as it should, I'm using border-less window in-game. Arc doesn't seem to support the game capture feature for me as it doesn't display anything. Tested with window capture and screen capture. Bitblt (window capture only), windows 10 (both) capture seems to have the same behavior.

DXGI (screen capture only) seems to fix the issue.

two1212 commented 6 months ago

Issue unresolved with Iris Xe Graphics running driver version 31.0.101.5444 with OBS 30.1.2. Also affects DXVK.