intel / intel/libva

Framebuffer capture with VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME does not work

Open
#798 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
784
Forks
314
PR merge metrics
No merged PRs in 30d

Description

Problem:
Framebuffer capture with VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME does not work. I have tried this with a simple implementation, but ffmpeg is a better way to reproduce the issue.
The captured frames have some parts of the real picture with pixel soup on top and parts of readable text from previous bash sessions and other stuff.
It seems a wrong part of memory is used as the framebuffer, which also leaks information from memory.
I don't know if this is a bug or unsupported usage of libva, but it was working in an older version of Ubuntu.

Command used:
`ffmpeg -crtc_id 42 -framerate 60 -f kmsgrab -i - -vf 'hwmap=derive_device=vaapi,scale_vaapi=w=1920:h=1080:format=nv12' -c:v h264_vaapi output.mp4` (with replaced crtc_id)

Hardware:
Intel Iris Xe Graphics (TigerLake-LP GT2) laptop

OS versions with different versions of the software stack (including kernel):
```
Debian 12 bookworm fresh install not working
Ubuntu 23.10 upcoming LTS fresh install not working
An older Ubuntu LTS live dvd (with XOrg instead of Xwayland and the oldest software versions) working
```

all with intel-media-va-driver-non-free

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.