e892cea858
Re-tested Firefox 150.0.1 inside operator's active Plasma 6 Wayland
session (not Xvfb). Two-layer finding:
1. Firefox engages libva in real Plasma session: full V4L2-stateless
contract lifecycle completes, no EINVAL on the request-API path,
v4l2_request_drv_video.so successfully loaded, /dev/video1 +
/dev/media0 opened by RDD utility process 146420.
2. Kernel produces no decoded pixel output: CAPTURE buffer returns
from DQBUF with the patch-0011 sentinel pattern 0xab unchanged.
Hantro never wrote the buffer despite the contract trace looking
clean. Firefox detected the failed first frame and silently fell
back to SW decode in RDD's FFmpeg-OS-library PDM. User-visible
playback continues normally for 5+ minutes (operator confirmed
t=337s playback time in live inspection).
Cross-checked against the prior 2026-05-04 mpv vaapi-copy run: 68 of
68 mpv CAPTURE buffers show the same sentinel-survives pattern.
mpv's --vo=null consumed all 68 sentinel buffers as if they were
valid NV12 frames; the failure was invisible. OUTPUT bytes are
byte-for-byte identical between mpv and Firefox (same IDR slice via
libavcodec, both consumers feed hantro the same data, hantro
silently drops both).
Implication: the prior Phase 0 in-session re-verification verdict
(commit f15ba8b: "the 2026-04-26 picture holds at boolean-correctness
level") was wrong at the kernel-decode layer. The patch-0011 sentinel
test in the deployed Step 1 build was authored specifically to detect
this failure mode; the predecessor close-out didn't grep for it, and
contract-trace cleanliness was mistaken for end-to-end success.
Phase 1 lock should be deferred until: (a) boolean-correctness
criterion is sharpened to require pixel-content verification,
(b) Phase 0 acquires kernel-side observability (ftrace, dmesg) to
characterize WHY hantro is silent. Step 1 engages libva but doesn't
make hantro decode -- Phase 6 has substantive work beyond the
18-patch series.
Likely failure-mode candidates flagged in findings_live.md priority
order: reference_ts not propagated; DECODE_PARAMS slice_header
bit_size zero; POC sentinel may still leak past patch-0015 strip;
level_idc over-allocation; SOURCE_CHANGE event handling.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
50 lines
8.0 KiB
Plaintext
50 lines
8.0 KiB
Plaintext
1777890025.753875 close(50) = 0
|
|
1777890025.754018 close(49) = 0
|
|
1777890025.754175 execve("/usr/lib/firefox/v4l2test", ["/usr/lib/firefox/v4l2test", "-d", "/dev/video0"], 0xffff9ab39710 /* 27 vars */) = 0
|
|
1777890025.755213 openat(AT_FDCWD, "/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 7
|
|
1777890025.755521 close(7) = 0
|
|
1777890025.755667 openat(AT_FDCWD, "/usr/lib/libc.so.6", O_RDONLY|O_CLOEXEC) = 7
|
|
1777890025.756633 close(7) = 0
|
|
1777890025.757752 openat(AT_FDCWD, "/dev/null", O_WRONLY) = 7
|
|
1777890025.758264 close(7) = 0
|
|
1777890025.758369 openat(AT_FDCWD, "/dev/video0", O_RDWR|O_NONBLOCK) = 7
|
|
1777890025.758545 ioctl(7, VIDIOC_QUERYCAP, {driver="rockchip-rga", card="rockchip-rga", bus_info="platform:rga", version=KERNEL_VERSION(6, 19, 10), capabilities=V4L2_CAP_VIDEO_M2M_MPLANE|V4L2_CAP_EXT_PIX_FORMAT|V4L2_CAP_STREAMING|V4L2_CAP_DEVICE_CAPS, device_caps=V4L2_CAP_VIDEO_M2M_MPLANE|V4L2_CAP_EXT_PIX_FORMAT|V4L2_CAP_STREAMING}) = 0
|
|
1777890025.758687 openat(AT_FDCWD, "/sys/kernel/mm/transparent_hugepage/enabled", O_RDONLY) = 8
|
|
1777890025.758932 close(8) = 0
|
|
1777890025.759234 ioctl(7, VIDIOC_ENUM_FMT, {index=0, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="32-bit ARGB 8-8-8-8", pixelformat=v4l2_fourcc('B', 'A', '2', '4') /* V4L2_PIX_FMT_ARGB32 */}) = 0
|
|
1777890025.759377 ioctl(7, VIDIOC_ENUM_FMT, {index=1, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="32-bit BGRA 8-8-8-8", pixelformat=v4l2_fourcc('A', 'R', '2', '4') /* V4L2_PIX_FMT_ABGR32 */}) = 0
|
|
1777890025.759507 ioctl(7, VIDIOC_ENUM_FMT, {index=2, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="32-bit BGRX 8-8-8-8", pixelformat=v4l2_fourcc('X', 'R', '2', '4') /* V4L2_PIX_FMT_XBGR32 */}) = 0
|
|
1777890025.759634 ioctl(7, VIDIOC_ENUM_FMT, {index=3, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="24-bit RGB 8-8-8", pixelformat=v4l2_fourcc('R', 'G', 'B', '3') /* V4L2_PIX_FMT_RGB24 */}) = 0
|
|
1777890025.759760 ioctl(7, VIDIOC_ENUM_FMT, {index=4, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="24-bit BGR 8-8-8", pixelformat=v4l2_fourcc('B', 'G', 'R', '3') /* V4L2_PIX_FMT_BGR24 */}) = 0
|
|
1777890025.759912 ioctl(7, VIDIOC_ENUM_FMT, {index=5, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="16-bit ARGB 4-4-4-4", pixelformat=v4l2_fourcc('A', 'R', '1', '2') /* V4L2_PIX_FMT_ARGB444 */}) = 0
|
|
1777890025.760042 ioctl(7, VIDIOC_ENUM_FMT, {index=6, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="16-bit ARGB 1-5-5-5", pixelformat=v4l2_fourcc('A', 'R', '1', '5') /* V4L2_PIX_FMT_ARGB555 */}) = 0
|
|
1777890025.760169 ioctl(7, VIDIOC_ENUM_FMT, {index=7, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="16-bit RGB 5-6-5", pixelformat=v4l2_fourcc('R', 'G', 'B', 'P') /* V4L2_PIX_FMT_RGB565 */}) = 0
|
|
1777890025.760295 ioctl(7, VIDIOC_ENUM_FMT, {index=8, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Y/VU 4:2:0", pixelformat=v4l2_fourcc('N', 'V', '2', '1') /* V4L2_PIX_FMT_NV21 */}) = 0
|
|
1777890025.760423 ioctl(7, VIDIOC_ENUM_FMT, {index=9, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Y/VU 4:2:2", pixelformat=v4l2_fourcc('N', 'V', '6', '1') /* V4L2_PIX_FMT_NV61 */}) = 0
|
|
1777890025.760546 ioctl(7, VIDIOC_ENUM_FMT, {index=10, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Y/UV 4:2:0", pixelformat=v4l2_fourcc('N', 'V', '1', '2') /* V4L2_PIX_FMT_NV12 */}) = 0
|
|
1777890025.760671 ioctl(7, VIDIOC_ENUM_FMT, {index=11, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Y/UV 4:2:0 (N-C)", pixelformat=v4l2_fourcc('N', 'M', '1', '2') /* V4L2_PIX_FMT_NV12M */}) = 0
|
|
1777890025.760817 ioctl(7, VIDIOC_ENUM_FMT, {index=12, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Y/UV 4:2:2", pixelformat=v4l2_fourcc('N', 'V', '1', '6') /* V4L2_PIX_FMT_NV16 */}) = 0
|
|
1777890025.760945 ioctl(7, VIDIOC_ENUM_FMT, {index=13, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Planar YUV 4:2:0", pixelformat=v4l2_fourcc('Y', 'U', '1', '2') /* V4L2_PIX_FMT_YUV420 */}) = 0
|
|
1777890025.761070 ioctl(7, VIDIOC_ENUM_FMT, {index=14, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Planar YUV 4:2:2", pixelformat=v4l2_fourcc('4', '2', '2', 'P') /* V4L2_PIX_FMT_YUV422P */}) = 0
|
|
1777890025.761226 ioctl(7, VIDIOC_ENUM_FMT, {index=15, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE, flags=0, description="Planar YVU 4:2:0", pixelformat=v4l2_fourcc('Y', 'V', '1', '2') /* V4L2_PIX_FMT_YVU420 */}) = 0
|
|
1777890025.761353 ioctl(7, VIDIOC_ENUM_FMT, {index=16, type=V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE}) = -1 EINVAL (Invalid argument)
|
|
1777890025.761474 ioctl(7, VIDIOC_ENUM_FMT, {index=0, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="32-bit ARGB 8-8-8-8", pixelformat=v4l2_fourcc('B', 'A', '2', '4') /* V4L2_PIX_FMT_ARGB32 */}) = 0
|
|
1777890025.761596 ioctl(7, VIDIOC_ENUM_FMT, {index=1, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="32-bit BGRA 8-8-8-8", pixelformat=v4l2_fourcc('A', 'R', '2', '4') /* V4L2_PIX_FMT_ABGR32 */}) = 0
|
|
1777890025.761722 ioctl(7, VIDIOC_ENUM_FMT, {index=2, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="32-bit BGRX 8-8-8-8", pixelformat=v4l2_fourcc('X', 'R', '2', '4') /* V4L2_PIX_FMT_XBGR32 */}) = 0
|
|
1777890025.761866 ioctl(7, VIDIOC_ENUM_FMT, {index=3, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="24-bit RGB 8-8-8", pixelformat=v4l2_fourcc('R', 'G', 'B', '3') /* V4L2_PIX_FMT_RGB24 */}) = 0
|
|
1777890025.761992 ioctl(7, VIDIOC_ENUM_FMT, {index=4, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="24-bit BGR 8-8-8", pixelformat=v4l2_fourcc('B', 'G', 'R', '3') /* V4L2_PIX_FMT_BGR24 */}) = 0
|
|
1777890025.762118 ioctl(7, VIDIOC_ENUM_FMT, {index=5, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="16-bit ARGB 4-4-4-4", pixelformat=v4l2_fourcc('A', 'R', '1', '2') /* V4L2_PIX_FMT_ARGB444 */}) = 0
|
|
1777890025.762243 ioctl(7, VIDIOC_ENUM_FMT, {index=6, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="16-bit ARGB 1-5-5-5", pixelformat=v4l2_fourcc('A', 'R', '1', '5') /* V4L2_PIX_FMT_ARGB555 */}) = 0
|
|
1777890025.762367 ioctl(7, VIDIOC_ENUM_FMT, {index=7, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="16-bit RGB 5-6-5", pixelformat=v4l2_fourcc('R', 'G', 'B', 'P') /* V4L2_PIX_FMT_RGB565 */}) = 0
|
|
1777890025.762490 ioctl(7, VIDIOC_ENUM_FMT, {index=8, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Y/VU 4:2:0", pixelformat=v4l2_fourcc('N', 'V', '2', '1') /* V4L2_PIX_FMT_NV21 */}) = 0
|
|
1777890025.762616 ioctl(7, VIDIOC_ENUM_FMT, {index=9, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Y/VU 4:2:2", pixelformat=v4l2_fourcc('N', 'V', '6', '1') /* V4L2_PIX_FMT_NV61 */}) = 0
|
|
1777890025.762744 ioctl(7, VIDIOC_ENUM_FMT, {index=10, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Y/UV 4:2:0", pixelformat=v4l2_fourcc('N', 'V', '1', '2') /* V4L2_PIX_FMT_NV12 */}) = 0
|
|
1777890025.762929 ioctl(7, VIDIOC_ENUM_FMT, {index=11, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Y/UV 4:2:0 (N-C)", pixelformat=v4l2_fourcc('N', 'M', '1', '2') /* V4L2_PIX_FMT_NV12M */}) = 0
|
|
1777890025.763058 ioctl(7, VIDIOC_ENUM_FMT, {index=12, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Y/UV 4:2:2", pixelformat=v4l2_fourcc('N', 'V', '1', '6') /* V4L2_PIX_FMT_NV16 */}) = 0
|
|
1777890025.763185 ioctl(7, VIDIOC_ENUM_FMT, {index=13, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Planar YUV 4:2:0", pixelformat=v4l2_fourcc('Y', 'U', '1', '2') /* V4L2_PIX_FMT_YUV420 */}) = 0
|
|
1777890025.763309 ioctl(7, VIDIOC_ENUM_FMT, {index=14, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Planar YUV 4:2:2", pixelformat=v4l2_fourcc('4', '2', '2', 'P') /* V4L2_PIX_FMT_YUV422P */}) = 0
|
|
1777890025.763435 ioctl(7, VIDIOC_ENUM_FMT, {index=15, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE, flags=0, description="Planar YVU 4:2:0", pixelformat=v4l2_fourcc('Y', 'V', '1', '2') /* V4L2_PIX_FMT_YVU420 */}) = 0
|
|
1777890025.763561 ioctl(7, VIDIOC_ENUM_FMT, {index=16, type=V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE}) = -1 EINVAL (Invalid argument)
|
|
1777890025.763681 close(7) = 0
|
|
1777890025.764277 +++ exited with 0 +++
|