Skip to content

Playback failure with Qt6, Intel UHD and VAAPI #1099

@kmdewaal

Description

@kmdewaal

Platform: Fedora 42
Graphics hardware: Intel UHD Graphics 620
mythfrontend version: master [v36-Pre-275-gb1bb52dd86]
Qt version: compile: 6.9.0, runtime: 6.9.0
Video playback profile: VAAPI Normal

Problem: on playback the screen stays black and the following message appears in an endless stream:
2025-05-19 22:12:10.105868 E VAAPIGLX: Error at opengl/mythvaapiglxinterop.cpp:454 (#-1, unknown libva error)
2025-05-19 22:12:10.116670 E VAAPIGLX: Error at opengl/mythvaapiglxinterop.cpp:454 (#-1, unknown libva error)
2025-05-19 22:12:10.119804 E VAAPIGLX: Error at opengl/mythvaapiglxinterop.cpp:454 (#-1, unknown libva error)
2025-05-19 22:12:10.143128 E VAAPIGLX: Error at opengl/mythvaapiglxinterop.cpp:454 (#-1, unknown libva error)

A bit of googling gives the suggestion that there is a bug in Intel's libva implementation of the vaPutSurface function:
ua0lnj/vdr-plugin-softhddevice#52
https://bugs.gentoo.org/916781
intel/libva#716
However, what not quite matches is that on the same box, so with the same libva, playback is OK when master is compiled with Qt5.

The workaround suggested in the above is to do define LIBVA_DRI3_DISABLE to 1 so that the older DRI2 interface is used instead of the newer DRI3 interface.
This does actually work!
Thus, defining this:
export LIBVA_DRI3_DISABLE=1
before starting mythfrontend does the job.

I have not yet figured out how to add this workaround to e.g. mythdisplay.cpp in a clean way, but it should not be too difficult to add setting this environment variable in the mythfrontend startup script when this error is encountered.

Note: selecting video playback profile OpenGL Normal can also be a solution; this problem happens only with video profile VAAPI Normal.

Note: to get any window at all with Qt6.4 and higher with VAAPI is is necessary to define this:
export MYTHTV_NO_EGL=1
See also the "Qt6 story" in #754

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions