Raspberry Pi 4 + DietPi: no /dev/video* with dtoverlay=rpivid-v4l2 on 6.12.62+rpt kernel (Moonlight HW decode)

  • DietPi version | DietPi v10.0.1
  • Distro version | trixie
  • Kernel version | Linux DockerPi 6.12.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1 (2025-12-18) aarch64 GNU/Linux
  • Architecture | arm64
  • SBC model | RPi4
  • Power supply used | RPi PSU
  • SD card used | SSD

Raspberry Pi 4 + DietPi: no /dev/video* with dtoverlay=rpivid-v4l2 on 6.12.62+rpt kernel (Moonlight HW decode)

Hi all,

I’m trying to get V4L2 hardware video decoding working on a Raspberry Pi 4 running DietPi so I can use Moonlight with hardware decode. Moonlight itself is fine, but the system has no V4L2 decoder devices at all, so there’s nothing for Moonlight (or FFmpeg) to use.

Environment

  • Device: Raspberry Pi 4 (4GB)

  • OS: DietPi (64‑bit, aarch64)

  • Kernel:

uname -a
Linux DockerPi 6.12.62+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.12.62-1+rpt1 (2025-12-18) aarch64 GNU/Linux

Current boot config

Relevant part of my /boot/config.txt:

#-------GPU memory splits-------
gpu_mem=256

arm_64bit=1
dtoverlay=disable-wifi
dtoverlay=vc4-kms-v3d
dtoverlay=rpivid-v4l2

# HDMI
hdmi_group=1
hdmi_mode=16      # 1080p60 CEA
disable_overscan=1

Same dtoverlay=rpivid-v4l2 line appears in /boot/firmware/config.txt as well.

Symptoms

Despite the above:

bash

ls -l /dev/video*
ls: cannot access '/dev/video*': No such file or directory

dmesg | grep -Ei 'rpivid|bcm2835-codec|v4l2'
# (no output)

v4l2-ctl --list-devices
# (no output)

Trying to inspect the expected decoder nodes fails as there are none:

bash

v4l2-ctl -d /dev/video10 --all
Cannot open device /dev/video10, exiting.

v4l2-ctl -d /dev/video11 --all
Cannot open device /dev/video11, exiting.

Moonlight is being launched directly from a TTY via a system service (not inside Docker), so this isn’t a container device‑mapping issue.

What I’ve checked

Kernel config and overlays:

bash

zgrep RPIVID /proc/config.gz 2>/dev/null || echo "no RPIVID options in kernel config"
no RPIVID options in kernel config

ls /boot/firmware/overlays/rpivid*
ls: cannot access '/boot/firmware/overlays/rpivid*': No such file or directory

So it looks like:

  • The current 6.12.62+rpt-rpi-v8 kernel has no RPivid options built in.

  • The firmware set does not ship rpivid-v4l2.dtbo either.

That would explain why dtoverlay=rpivid-v4l2 is effectively a no‑op and why no /dev/video* devices appear.

Questions

  1. On current DietPi for Raspberry Pi, is RPivid/V4L2 hardware decoding intentionally removed from the 6.12.x +rpt kernels?

  2. What is the recommended way (on DietPi) to get a kernel/firmware combo that does provide RPivid and the corresponding overlay?

I’d like to keep the rest of this DietPi install as‑is and just use whatever kernel/firmware path you recommend to get /dev/video10/11/12 back for V4L2 hardware decoding.

Happy to provide any additional logs or try test kernels if needed. I used AI to help draft this post and it seems accurate, but apologies for any errors. Thanks!