Closed Bug 1811878 Opened 2 years ago Closed 2 years ago

VA-API: Intel: Unsupported modifier, resource creation failed.

Categories

(Core :: Audio/Video: Playback, defect, P3)

Firefox 111
x86_64
Linux
defect

Tracking

()

RESOLVED FIXED
111 Branch
Tracking Status
firefox-esr102 --- unaffected
firefox109 --- unaffected
firefox110 --- unaffected
firefox111 --- fixed

People

(Reporter: pmenzel+bugzilla.mozilla.org, Assigned: stransky)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: regression)

Attachments

(3 files)

Steps to reproduce:

On Debian sid/unstable with Nightly 20230123094444, watch YouTube video with h264ify.

Actual results:

The fan started spinning. Looking at intel_gpu_top, the video engine is not used. The messages below are shown on the console:

libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
Unsupported modifier, resource creation failed.

Expected results:

The video engine should be used as in the past.

No idea, if it’s a regression in Nightly or due to upgrading intel-media-va-driver-non-free from 22.6.6+ds1-1 to 23.1.0+ds1-1.

VA-API decoding still works with mpv 0.35.0-4.

$ vainfo
libva info: VA-API version 1.17.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_17
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.17 (libva 2.12.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 23.1.0 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileVC1Simple              :	VAEntrypointVLD
      VAProfileVC1Main                :	VAEntrypointVLD
      VAProfileVC1Advanced            :	VAEntrypointVLD
      VAProfileJPEGBaseline           :	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointVLD
      VAProfileH264ConstrainedBaseline:	VAEntrypointEncSlice
      VAProfileH264ConstrainedBaseline:	VAEntrypointFEI
      VAProfileVP8Version0_3          :	VAEntrypointVLD
Attached file Output of `about:support` (deleted) —

The Bugbug bot thinks this bug should belong to the 'Core::Audio/Video: Playback' component, and is moving the bug to that component. Please correct in case you think the bot is wrong.

Component: Untriaged → Audio/Video: Playback
Product: Firefox → Core

Everything still works with firefox 109.0-1.

This was reported also in bug #1767243 1, but said to be a Mesa Iris problem. No idea, why it works here with Firefox 109.0 from Debian sid/unstable, but not Nightly.

OS: Unspecified → Linux
Hardware: Unspecified → x86_64

Gnome Wayland, Debian Testing, Intel Iris Graphics 6100 (BDW GT3), Mesa 22.3.3
mozregression --good 2023-01-01 --bad 20230123094444 -P stdout -a https://bug1619882.bmoattachments.org/attachment.cgi?id=9149605

6:28.58 INFO: Last good revision: e226ed35355cea5a48f3199c3af504f8498e0aca
6:28.58 INFO: First bad revision: a6db250874298a18905648a37f29f6266e926bd7
6:28.58 INFO: Pushlog:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=e226ed35355cea5a48f3199c3af504f8498e0aca&tochange=a6db250874298a18905648a37f29f6266e926bd7

a6db250874298a18905648a37f29f6266e926bd7 stransky — Bug 1809162 [Linux] Utilize dmabuf surface copy in VideoFramePool
1cb0dda1e2c032b81733629a27bed6067bed31ab stransky — Bug 1809162 [Linux] Implement dmabuf YUV surface copy r=emilio
1a21a0a5258323775dfb8af3c7aab9bd8bfcebfb stransky — Bug 1809162 [Linux] Fixed ClaimSnapshotGLContext() logs r=emilio
82b73378753bbbd69ec84584ecc3f7cd6ef50f78 stransky — Bug 1809162 [Linux] Implement GetAndConfigureDMABufDevice() to configure dmabuf backend without gfxPlatform on RDD process r=emilio

Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: regression
Regressed by: 1809162
Summary: VA-API: Unsupported modifier, resource creation failed. → VA-API: Intel: Unsupported modifier, resource creation failed.

:stransky, since you are the author of the regressor, bug 1809162, could you take a look?

For more information, please visit auto_nag documentation.

Flags: needinfo?(stransky)

Yes, that should be "fixed" by Bug 1811210 (so try latest nightly) but we still need to make it working on Intel then.

Assignee: nobody → stransky
Flags: needinfo?(stransky)
Priority: -- → P3

Tested with H264 and VP8:
bug 1809162 introduced&enforced one-copy which fails.
Yes, bug 1811210 prefers zero-copy again which works. There was room, the heuristic didn't switch over to one-copy.

Indeed it seems to work again with Nightly, 111.0a1 (20230126212606). Thank you all.

Should I mark this bug as resolved?

No, we should make it work on Intel anyway to make sure we can copy surfaces in case we need it. Will post patches soon.

:stransky this is the final week of 111 nightly, 111 goes to beta next week.
Do you plan on landing these patches in central this week?

Flags: needinfo?(stransky)

(In reply to Donal Meehan [:dmeehan] from comment #13)

:stransky this is the final week of 111 nightly, 111 goes to beta next week.
Do you plan on landing these patches in central this week?

Yes, I do. The patches here depends on https://phabricator.services.mozilla.com/D167917, will try to solve that ASAP.

Flags: needinfo?(stransky)
Depends on: 1812290
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/601c39a76573 [Linux] Add media.ffmpeg.vaapi.force-surface-copy to force copy of VA-API surfaces r=alwu https://hg.mozilla.org/integration/autoland/rev/e37ee30891ca [Linux] If we fail to create YUV dmabuf plane with modifiers, try without it r=emilio

Backed out for causing bp-hybrid bustages in FFmpegVideoFramePool.cpp.

Flags: needinfo?(stransky)

Updated, Thanks.

Flags: needinfo?(stransky)
Pushed by stransky@redhat.com: https://hg.mozilla.org/integration/autoland/rev/ad002eb6e765 [Linux] Add media.ffmpeg.vaapi.force-surface-copy to force copy of VA-API surfaces r=alwu https://hg.mozilla.org/integration/autoland/rev/ff9ad7a4fb13 [Linux] If we fail to create YUV dmabuf plane with modifiers, try without it r=emilio
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 111 Branch
Regressions: 1824458
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: