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.33k stars 7.99k forks source link

Newest Intel A380 Drivers Lose AV1/H265 Encoding Features #8010

Closed Kelkador closed 1 year ago

Kelkador commented 1 year ago

Operating System Info

Windows 11

Other OS

No response

OBS Studio Version

29.0.0-beta3

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/5hVJkt9u82xYqjv9

OBS Studio Crash Log URL

No response

Expected Behavior

QSV AV1 encoding would be available as a recording codec just like on driver version 31.0.101.3959

Current Behavior

Only H264 encoding was available as a QSV option from the codec drop down (and not functional, it would cause an error) and my display capture source that was connected to a display on my Nvidia 3080 Ti also broke.

Steps to Reproduce

  1. Upgrade drivers to latest version (31.0.101.4032)
  2. That's it.

Anything else we should know?

Rolling back drivers fixed issue completely (including display adapter issue).

Fenrirthviti commented 1 year ago

Please remove all third party plugins, and test again. Some of your plugins are known to cause issues with encoders.

Kelkador commented 1 year ago

Tested again. Same result. Display capture inoperable and I only have the option of H264 on QSV (which worked with the prior drivers but does not anymore).

https://obsproject.com/logs/C7m7cPB9xsgDB8LG

Fenrirthviti commented 1 year ago

Thanks, we've had another report of this driver causing issues, we're checking in to it. Might be something on Intel's side.

Kelkador commented 1 year ago

Thanks for the confirmation. Something weird by the way when the driver updated it removed itself from the "High performance" setting in Windows graphics settings:

31.0.101.3959: image

31.0.101.4032: image

Unsure if that does anything for you.

PS: Display capture was working this time with the new driver, after I reinstalled StreamFX. Might've just been an outdated version of the Plugin interfering? No clue what's happening there but with old driver and new plugin everything's working.

Edit: To be clear it's still selectable in the specific GPU dropdown.

Fenrirthviti commented 1 year ago

Yeah, that's another known issue that could potentially cause issues, but my understanding is that shouldn't affect the encoder init check we do.

RytoEX commented 1 year ago

Please specify exact driver versions rather than "older" and "newer".

Kelkador commented 1 year ago

Updated my comparison post.

RytoEX commented 1 year ago

Please retest in OBS Studio 29.0.2 (or newer) and please provide a new OBS log file.

Kelkador commented 1 year ago

Tested on version 29.0.2 with Intel A380 driver version 31.0.101.4091

QuickSync Video AV1 is still not selectable.

https://obsproject.com/logs/Tfd8omBtonOOMMTJ

RytoEX commented 1 year ago

Tested on version 29.0.2 with Intel A380 driver version 31.0.101.4091

QuickSync Video AV1 is still not selectable.

https://obsproject.com/logs/Tfd8omBtonOOMMTJ

Can you confirm that a real display is physically connected to the A380? Can you confirm the type of connection (DisplayPort, HDMI)?

sandr1x commented 1 year ago

31.0.101.4146 driver released, сheck it

DedZasshu commented 1 year ago

31.0.101.4146 driver released, сheck it

It doesn't work. There is a "fix". In order to display the native AV1 and HEVC encoder for OBS, you can take the file obs-qsv-test.exe from this repository https://github.com/ma3uk/obs-qsv-onevpl/tree/main/builds and replace it in the root folder where you have obs.exe

RytoEX commented 1 year ago

Intel has confirmed that this is a driver issue and that they are working on it. We will provide an update when we are able to do so.

nilankadesilva commented 1 year ago

I have the same issue.

RTX card connections are DP. Arc connection is HDMI.

Nemezor commented 1 year ago

I also have this issue. Using an Intel Arc A380 for recording and an AMD Radeon RX 6600 as the main GPU driving the displays.

I did some testing and simply attaching monitors to the Arc A380 does not make it appear in OBS, I have to launch OBS specifically on the Arc A380 for the encoders to show up - basically, it works if the A380 is driving the primary display (since Windows will launch apps on the GPU that the primary display is attached to), any other configuration did not show QSV AV1.

This leads me to believe this actually is an OBS bug, not an Intel driver bug. Afaik there was a driver bug that showed Arc dGPUs as iGPUs to Windows, so there is a chance the reason this worked in the past was because Windows was putting OBS onto the "iGPU" which happened to be an Arc card.

RytoEX commented 1 year ago

I also have this issue. Using an Intel Arc A380 for recording and an AMD Radeon RX 6600 as the main GPU driving the displays.

I did some testing and simply attaching monitors to the Arc A380 does not make it appear in OBS, I have to launch OBS specifically on the Arc A380 for the encoders to show up - basically, it works if the A380 is driving the primary display (since Windows will launch apps on the GPU that the primary display is attached to), any other configuration did not show QSV AV1.

This leads me to believe this actually is an OBS bug, not an Intel driver bug. Afaik there was a driver bug that showed Arc dGPUs as iGPUs to Windows, so there is a chance the reason this worked in the past was because Windows was putting OBS onto the "iGPU" which happened to be an Arc card.

As previously stated, Intel has already tested and confirmed that this is an Intel driver bug. Our code simply starts an encode session on each adapter with each codec and returns a boolean result based on if the encoder returned an error or not.

nilankadesilva commented 1 year ago

I found a workaround.

As @Nemezor mentioned the latest driver requires OBS to be launched on the monitor connected to the ARC GPU. But if you rollback to 31.0.101.3959 and disable automatic updates. It will fix this requirement. You can open OBS on any monitor. But you need something plugged to the Arc GPU for it to be detected. I use an HDMI dummy plug. Rolling back the driver doesn’t seem to impact anything so until Intel fixes it, I’m keeping 31.0.101.3959

nilankadesilva commented 1 year ago

Latest 31.0.101.4369 doesn't fix this either. I had to rollback to 31.0.101.3959

sternskr commented 1 year ago

The newest released beta arc driver 31.0.101.4382 appears to have the same issue still

nilankadesilva commented 1 year ago

Latest 31.0.101.4502 doesn't fix the issue either.

nilankadesilva commented 1 year ago

Anyone tried 101.4575?

DedZasshu commented 1 year ago

Anyone tried 101.4575?

It doesn't work, still.

Still using this temporary fix (https://github.com/ma3uk/obs-qsv-onevpl) in order to display the native AV1 and HEVC encoder for OBS. You can take the file "obs-qsv-test.exe" from there and replace the default one in the root folder where you have obs.exe installed.

fumoadol commented 1 year ago

I must connect a real display to use AV1 encoder.Is it a bug?

RytoEX commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

nilankadesilva commented 1 year ago

I must connect a real display to use AV1 encoder.Is it a bug?

You can even connect a dummy plug and it would be fine.

Tylerjet commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

@RytoEX Confirmed for me on Intel Driver 31.0.101.4644 Quicksync options are showing with no dummy plug or workaround enabled! Nice!

SKECHER9 commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

@RytoEX Confirmed for me on Intel Driver 31.0.101.4644 Quicksync options are showing with no dummy plug or workaround enabled! Nice!

I checked OBS 30.0.0-beta2 on a system running win10, 5900X cpu, 7900XTX gpu0 (driver 23.8.1(3 display out)) and A380 gpu1 (driver 31.101.4644 (no display (currently adding display to A380 causes memory leak driver bug, unrelated to obs))) Screenshot 2023-08-26 154525 QSV AV1 shows up now, but not QSV H.265/HEVC.

RytoEX commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

@RytoEX Confirmed for me on Intel Driver 31.0.101.4644 Quicksync options are showing with no dummy plug or workaround enabled! Nice!

I checked OBS 30.0.0-beta2 on a system running win10, 5900X cpu, 7900XTX gpu0 (driver 23.8.1(3 display out)) and A380 gpu1 (driver 31.101.4644 (no display (currently adding display to A380 causes memory leak driver bug, unrelated to obs))) Screenshot 2023-08-26 154525 QSV AV1 shows up now, but not QSV H.265/HEVC.

I'm pretty sure that QSV HEVC does not show up in Simple Output Mode regardless at the moment. It's a separate issue.

fumoadol commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

It's Okay now.

nilankadesilva commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

Works for me to. Does this mean that the fix was needed on OBS's end and not Intel?

RytoEX commented 1 year ago

I've received a report that this no longer occurs in OBS Studio 30.0.0-beta2. Could people affected please retest to confirm?

Works for me to. Does this mean that the fix was needed on OBS's end and not Intel?

As I previously stated, Intel themselves confirmed to us that this was a driver bug.

Intel has confirmed that this is a driver issue and that they are working on it. We will provide an update when we are able to do so.

Given that it used to work on an older driver, but stopped working after a certain driver, we are inclined to agree with them on this point.

Either something changed between driver versions 4575 and 4644, or VPL's API returns different results from the driver than MSDK's API. If the latter, then it could have been a "driver bug that only surfaces when using MSDK". If someone with an affected setup wants to test the matrix of drivers between 4575 and 4644 and OBS Studio 29.1.3 and OBS Studio 30.0.0-beta1/2 to narrow down what change may have caused this behavior difference, by all means, feel free to do so, but I do not have an affected setup to test.

Regardless, I'm going to consider this Issue resolved.