Gstreamer encoder usage reboot the board

Hello, I am testing encoder on T4 image for Dragon Q6A using this pipeline:

gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=1280,height=720,framerate=30/1 ! v4l2h264enc ! fakesink

When I launch this the board reboots, debug UART tries to write something but never manages to print error message, In best case scenario it manages to write only time stamp. What am I doing wrong?

EDIT: Log in using Serial, display manager is disabled

It seems this problem is specific to radxa official image, Armbian 25.11.1 noble is working OK with this pipeline

I can confirm this problem (tested with the T6 image from December).

As I bought it for accelerated h265 encoding capability, this is pretty useless for me at the moment. Armbian 25.11 is not really an option for me.

On the Rubik Pi 3, h.265 hardware encoding works well and it also supports more cameras (IMX219, IMX477 and IMX708).

Hi speedcrash100,

Could you try T7 image with the latest firmware? Note that you may have to set Hypervisor Settings -> Hypervisor Override to Enabled in UEFI BIOS.

Hi, the T7 image, latest firmware and setting hypervisor setting helps a little bit. However, I can’t encode anything above 720p. If I change resolution to 1920x1080 or 3840x2160(It’s my target resolution) the driver will generate system error(dmesg):

[  208.120193] qcom-venus aa00000.video-codec: no valid instance(pkt session_id:ff, pkt:21001)
[  208.120222] qcom-venus-encoder aa00000.video-codec:video-encoder: enc: event session error 0
[  208.128990] qcom-venus aa00000.video-codec: SFR message from FW: QC_IMAGE_VERSION_STRING=video-firmware.1.0-8fd4ba980f726e389c6c07fbae6bebdfe904e3c8 Err_Fatal - /local/mnt/workspace/pkg/builds/dynamic_timely/tree3/vendor/qcom/proprietary/video-firmware-noship/venus_proc/venus/encoders/src/venus_venc_hal.c:9326:916b1
[  209.367915] qcom-venus aa00000.video-codec: System error has occurred, recovery failed to init HFI
[  210.584445] qcom-venus aa00000.video-codec: System error has occurred, recovery failed to init HFI
[  210.654779] qcom-venus aa00000.video-codec: system error has occurred (recovered)

Gstreamer itself will report device lost:

../sys/v4l2/gstv4l2object.c(6007): gst_v4l2_object_poll (): /GstPipeline:pipeline0/v4l2h264enc:v4l2h264enc0:
poll error 1: No such file or directory (2)

As far as I know, same error happens on Armbian images as well. Are there more UEFI settings to tune?

Meanwhile I tried with r2.build image from February 2026 (after updating the SPI boot firmware). This does not contain gstreamer preinstalled anymore. After installing it the recommended way with

apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

it still crashes and reboots the board, when trying to use the v4l2h264enc or the v4l2h265enc.

But after I set Hypervisor Settings -> Hypervisor Override to Enabled in UEFI BIOS it was working without crash anymore.

Hello, what resolution and Gstreamer pipeline were used? I can get 1280x720 working but with 1920x1080 still no luck on r2 image release and firwmare version `6.0.260120.BOOT.MXF.1.0.1-00549-KODIAKWP-1`

I used the GST Pipeline of your first post with 1920x1080 successfully.
r2 image and SPI boot firmware 6.0.260120

@hacky Can we confirm steps how you able to run h264enc? My steps to reproduce:

  1. I downloaded `dragon-q6a_flat_build_wp_260120.zip` from here Radxa Dragon Q6A firmware snapshot - #19 by Ugosinsaang

  2. I download edl-ng using AUR package: AUR (en) - edl-ng which should correspond to 1.5.0 in github: Release v1.5.0 · strongtz/edl-ng · GitHub

  3. In the unpacked zip I go to flat_build/spinor/dragon-q6a and run: sudo edl-ng --memory spinor --loader prog_firehose_ddr.elf rawprogram rawprogram0.xml patch0.xml

  4. I’ve downloaded Standard Image of Radxa OS r2 from this tag: Release r2 (rsdk) · radxa-build/radxa-dragon-q6a · GitHub with sha256: c96977042a6c8b1d09f07d3428024aedf0a9527188472be1717195d668a872b256a61e383015b82e67e639f70e22b6427e4b932468468945139714dc00a88aaf ./radxa-dragon-q6a_noble_gnome_r2.output_512.img.xz

  5. I’ve flashed image to SD card(be careful with the command and of= flag): xzcat ~/Downloads/radxa-dragon-q6a_noble_gnome_r2.output_512.img.xz | sudo dd of=/dev/sdc bs=64k oflag=dsync status=progress

  6. I’ve start the board without SD card and any storage to set `Radxa Platform Configuration
    -> Hypervisor Settings -> Hypervisor Override` to Enabled using USB-UART and debug UART and save settings by pressing reset in the UEFI menu

  7. I‘ve inserted SD card and restart board by power and wait until login prompt appeared

  8. I connect to my home wifi using nmcli: sudo nmcli dev wifi connect <SSID> password <PASS> and install deps: sudo apt update && sudo apt install -y libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio

  9. I’ve run test pipeline: gst-launch-1.0 videotestsrc ! video/x-raw,format=NV12,width=1920,height=1080,framerate=30/1 ! v4l2h264enc ! fakesink

  10. The pipeline fails and dmesg have:

    [ 278.654455] qcom-venus-encoder aa00000.video-codec:video-encoder: enc: event session error 0
    [ 278.663319] qcom-venus aa00000.video-codec: SFR message from FW: QC_IMAGE_VERSION_STRING=video-firmware.1.0-8fd4ba980f726e389c6c07fbae6bebdfe904e3c8 Err_Fatal - /local/mnt/workspace/pkg/builds/dynamic_timely/tree3/vendor/qcom/proprietary/video-firmware-noship/venus_proc/venus/encoders/src/venus_venc_hal.c:9326:9
    16b1

    My only assumption that you might have HDMI cable attached to display. I’ve also tried full system upgrade sudo apt full-upgrade in step 8, but still no luck

Some differences in my approach:

I used the Qualcomm driver, the EDL tool and the boot firmware from here: Resource Downloads | Radxa Docs

I used the Windows version of the tool for flashing the firmware (as far as I remember: 6 steps).

I downloaded also the r2.build (512 byte blocksize for MicroSD card) from the download page linked above.

I flashed the image to a 64 GB MicroSD card using BalenaEtcher (including verify step) on Windows 11.

I booted that image, configured WiFi and applied updates using the rsetup tool.

I went through several further installation steps as described in the docs. As far as I remember, I also installed:
VNC-Server: VNC Login | Radxa Docs
MPV: Hardware-accelerated video playback (mpv) | Radxa Docs
OpenCL: OpenCL Usage Guide | Radxa Docs
Vulkan: Vulkan User Guide | Radxa Docs
Chromium browser: WebGL User Guide | Radxa Docs

I installed gstreamer as given in my earlier post (but prepended with sudo as in that post I only copied the original command line provided from the freedesktop.org page without sudo).

I ran the same GST pipeline as shown in your example → SBC crashed and rebooted.

I rebooted again in order to enter the UEFI bios setup (using F2 key of an attached USB keyboard) and went to the Hypervisor settings. At that time Hypervisor override was set to “auto”. I changed it to “enabled”. Then I saved the changed settings and rebooted from the UEFI menu.

After reboot, I tested the pipeline again with 1280x720 and 1920x1080 and both worked without error message or reboot.

At that time, a display was attached via HDMI but I tested the pipeline command from a remote SSH terminal session (as fakesink requires no display).

Could you try videotestsrc pattern=colors ? The default videotestsrc does seem to have some compatibility issues with the venus encoder driver.