October 17, 2025Oct 17 I have been experimenting with trying to get video acceleration working on the A83T. I can see from /proc/device-tree/soc/... that there is already a video-engine node within the current A83T device tree. It appears to be applied as one of the megous patches ARM-dts-sun8i-a83t-Add-cedrus-video-codec-support-to-A83T-untes.patch. Admittedly this is noted as being untested. In my initially created build via the build framework, Cedrus was not present at all among the list of loaded modules. I addressed this by creating an entry in the Cedrus compatibility table for the sun8i-a83t-video engine drv-sun8i-a83t-cedrus-add-variant.patch It now appears to load but complains about being unable to allocated an SRAM: [ 10.046406] cedrus 1c0e000.video-codec: Failed to claim SRAM [ 10.046490] cedrus 1c0e000.video-codec: Failed to probe hardware [ 10.091215] cedrus 1c0e000.video-codec: Failed to claim SRAM [ 10.091339] cedrus 1c0e000.video-codec: Failed to probe hardware [ 10.419296] cedrus 1c0e000.video-codec: Failed to claim SRAM [ 10.419597] cedrus 1c0e000.video-codec: Failed to probe hardware [ 20.193058] cedrus 1c0e000.video-codec: Failed to claim SRAM [ 20.193114] cedrus 1c0e000.video-codec: Failed to probe hardware [ 20.193322] platform 1c0e000.video-codec: deferred probe pending: (reason unknown) Using both sun8i-a23-a33.dtsi and sun8i-h3.dtsi as points of reference, I attempted to make an SRAM allocation under the system controller but this still appears to fail with the same failure messages. I have double checked in the user manual and VE memory should definitely exist at 0x01D0 0000. arm-dts-sun8i-a83t-add-ve-node.patch I would be grateful for any pointers. Thanks Ryzer
October 25, 2025Oct 25 Author It appears that the system control was not configured properly. In the default DTS the binding is "sun8i-a83t-system-controller" which appears to have been deprecated in favor of the suffix "system-control" from what I could find. So tested with "sun8i-a83t-system-control" and "sun8-h3-system-control" as a fall back option. This time we no complaints from Cedrus: ryzer@cubietruckplus:~$ sudo dmesg | grep cedrus [ 10.624985] sunxi_cedrus: module is from the staging directory, the quality is unknown, you have been warned. [ 10.652836] cedrus 1c0e000.video-codec: Device registered as /dev/video0 Second test was to ensure that the video-engine clocks are set correctly, which can be done by temporarily disabling driver suspension. ryzer@cubietruckplus:/sys/kernel$ sudo cat debug/clk/bus-ve/clk_enable_count 1 ryzer@cubietruckplus:/sys/kernel$ sudo cat debug/clk/ve/clk_enable_count 1 ryzer@cubietruckplus:/sys/kernel$ sudo cat debug/clk/dram-ve/clk_enable_count 1 Next test trying to get working which should be using the version of ffmpeg as detailed here: This is the current output of ffmpeg: ffmpeg version 5.1.7-0+deb12u1 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 12 (Debian 12.2.0-14) configuration: --prefix=/usr --extra-version=0+deb12u1 --toolchain=hardened --libdir=/usr/lib/arm-linux-gnueabihf --incdir=/usr/include/arm-linux-gnueabihf --arch=arm --enable-gpl --disable-stripping --enable-gnutls --enable-ladspa --enable-libaom --enable-libass --enable-libbluray --enable-libbs2b --enable-libcaca --enable-libcdio --enable-libcodec2 --enable-libdav1d --enable-libflite --enable-libfontconfig --enable-libfreetype --enable-libfribidi --enable-libglslang --enable-libgme --enable-libgsm --enable-libjack --enable-libmp3lame --enable-libmysofa --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librabbitmq --enable-librist --enable-librubberband --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libsvtav1 --enable-libtheora --enable-libtwolame --enable-libv4l2 --enable-v4l2-request --enable-v4l2-m2m --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libudev --enable-libx265 --enable-libxml2 --enable-libxvid --enable-libzimg --enable-libzmq --enable-libzvbi --enable-lv2 --enable-omx --enable-openal --enable-opencl --enable-opengl --enable-sdl2 --disable-sndio --enable-libjxl --enable-pocketsphinx --enable-librsvg --enable-libdc1394 --enable-libdrm --enable-libiec61883 --enable-chromaprint --enable-frei0r --enable-libx264 --enable-libplacebo --enable-librav1e --enable-shared libavutil 57. 28.100 / 57. 28.100 libavcodec 59. 37.100 / 59. 37.100 libavformat 59. 27.100 / 59. 27.100 libavdevice 59. 7.100 / 59. 7.100 libavfilter 8. 44.100 / 8. 44.100 libswscale 6. 7.100 / 6. 7.100 libswresample 4. 7.100 / 4. 7.100 libpostproc 56. 6.100 / 56. 6.100 Hardware acceleration methods: vdpau vaapi drm opencl vulkan It is also worth mention that as there is no support for the SGX544 GPU, we are limited to a CLI only interface for which MPV can only be launched full-screen. MPV fails to use hardware decoding and falls back to using software. MPV version is reported as 0.35.1 [ 3.639][v][vo/gpu-next/opengl] Initializing GPU context 'drm' [ 3.643][e][vo/gpu-next] Can't handle VT release - signal already used [ 3.647][w][vo/gpu-next/opengl] Failed to set up VT switcher. Terminal switching will be unavailable. [ 3.651][v][vo/gpu-next/opengl] Initializing KMS [ 3.657][v][vo/gpu-next/opengl] Picked DRM card 0, primary node /dev/dri/card0 as the default. [ 3.662][v][vo/gpu-next/opengl] Driver: sun4i-drm 1.0.0 (0) [ 3.666][v][vo/gpu-next/opengl/kms] Connector 63 currently connected to encoder 62 [ 3.670][v][vo/gpu-next/opengl/kms] Selected Encoder 62 with CRTC 61 [ 3.675][v][vo/gpu-next/opengl/kms] Selected mode: 1920x1200 (1920x1200@60.00Hz) [ 3.679][v][vo/gpu-next/opengl] DRM Atomic support found [ 3.684][v][vo/gpu-next/opengl/kms] Using overlay plane 51 as draw plane [ 3.689][v][vo/gpu-next/opengl/kms] Using primary plane 57 as drmprime plane [ 3.693][v][vo/gpu-next] GBM_FORMAT_ARGB8888 not supported by draw plane: Falling back to GBM_FORMAT_XRGB8888. [ 3.697][v][vo/gpu-next] Supported modifier: 0x0 [ 3.702][v][vo/gpu-next] Creating GBM device [ 4.915][v][vo/gpu-next] Initializing GBM surface (1920 x 1200) [ 4.920][e][vo/gpu-next] Failed to create GBM surface. [ 4.924][e][vo/gpu-next] Failed to setup GBM. [ 5.397][v][vd] Container reported FPS: 30.000000 [ 5.405][v][vd] Codec list: [ 5.409][v][vd] h264 - H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 [ 5.414][v][vd] h264_v4l2m2m (h264) - V4L2 mem2mem H.264 decoder wrapper [ 5.418][v][vd] Opening decoder h264 [ 5.424][v][vd] Looking at hwdec h264-drm... [ 5.428][v][vd] Could not create device. [ 5.433][v][vd] No hardware decoding available for this codec. [ 5.437][v][vd] Using software decoding. [ 5.445][v][vd] Detected 8 logical cores.
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.