Framebuffer capture with VA_SURFACE_ATTRIB_MEM_TYPE_DRM_PRIME does not work
- 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
Assessment
This issue has not been assessed yet.