Linux-odroid 6.13.1

I compiled new versions of ffmpeg and mpv. I’ll post the build files to the repository later
https://drive.google.com/drive/folders/1hAr_PB52fIBcZOgtx2WoGghv63H1-JzB?usp=drive_link

UPD: PKBUILDs here: GitHub - iuncuim/manjaro-h616: build package for archlinux based distros

1 Like

Hi @junari,

Thank you for the new rebuild ffmpeg-v4l2request-7.1.1-4 and mpv-full-git. Installed successfully on Manjaro-opi5plus-xfce-linux-6.15.3-1.

mpv works with --hwdec=v4l2request with vpu hw acceleration on h264 8bits videos

[jfl@jfl-opi5plus ~]$ pacman -Qs ffmpeg
local/ffmpeg-v4l2request 7.1.1-4
    Complete solution to record, convert and stream audio and video
local/gst-libav 1.26.2-2
    Multimedia graph framework - libav plugin

[jfl@jfl-opi5plus ~]$ pacman -Qs mpv
local/mpv-full-git 0.9.2.r12924.gd58753e8a2-1
    A free, open source, and cross-platform media player (git version with all
    possible libs)
local/perl 5.40.2-1
    A highly capable, feature-rich programming language

[jfl@jfl-opi5plus ~]$ mpv '/run/media/jfl/writable/home/jfl/Videos/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv' 
● Video  --vid=1  (hevc 3840x2160 29.97 fps) [default]
Using hardware decoding (v4l2request).
VO: [gpu] 3840x2160 drm_prime[nv12]
V: 00:00:29 / 00:00:30 (98%)
Exiting... (Quit)

[jfl@jfl-opi5plus ~]$ mpv '/run/media/jfl/writable/home/jfl/Videos/jellyfish-120-mbps-4k-uhd-h264.mkv' 
● Video  --vid=1  --vlang=eng  (h264 3840x2160 29.97 fps) [default]
Using hardware decoding (v4l2request).
VO: [gpu] 3840x2160 drm_prime[nv12]
V: 00:00:29 / 00:00:30 (100%)
Exiting... (End of file)

hevc-10bits video corrupted video output.

[jfl@jfl-opi5plus ~]$ mpv '/run/media/jfl/writable/home/jfl/Videos/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv' 
● Video  --vid=1  (hevc 3840x2160 29.97 fps) [default]
Using hardware decoding (v4l2request).
VO: [gpu] 3840x2160 drm_prime[nv12]
V: 00:00:29 / 00:00:30 (98%)
Exiting... (Quit)
1 Like

Looks like only h264 and vp9 should work

Allwinner support h264 and hevc

On my device Opi5-Plus looks lke only h264 for now. vp9 no vpu hw acceleration.

[jfl@jfl-opi5plus ~]$ mpv https://www.youtube.com/watch?v=7PIji8OubXU
● Video  --vid=1  --vlang=eng  (vp9 1920x1080 60 fps) [default]
● Audio  --aid=1  --alang=eng  (opus 2ch 48000 Hz) [default]
File tags:
 Date: 20230603
 Uploader: 8K Earth
 Channel_URL: https://www.youtube.com/channel/UChB3UnDddahXU7FKZXmpzMA
[ffmpeg/video] vp9: Failed setup for format drm_prime: hwaccel initialisation returned error.
AO: [pipewire] 48000Hz stereo 2ch floatp
VO: [gpu] 1920x1080 yuv420p10
AV: 00:00:35 / 00:12:16 (5%) A-V:  0.000 Cache: 34s/31MB
Exiting... (Quit)
[jfl@jfl-opi5plus ~]$

If you have time, could you check if dxvk works on your opi5?
To do this you need:

  1. install wine - pamac build wine-tkg-staging-ntsync-bin
    1.1) during installation edit pkgbuild - e(dit)
    1.2) change pkgver to 10.9, change arch x86_64 to aarch64, change sha256sum to “SKIP”
  2. install box64 (you can install the version I built with box32 support for better compatibility)
  3. install winetricks - sudo pacman -S winetricks
  4. install dxvk1103 - winetricks dxvk1103
  5. install mangohud - pamac build mangohud-nonvidia
  6. install vulkan - sudo pacman -S vulkan-panfrost vulkan-mesa-layers
  7. reboot
  8. run some game for windows, for example, I have a version of gta vice city, I run in the folder with the game - mangohud wine gta-vc.exe

I have a g31 device which doesn’t have that good support in mesa, but as of recently I’ve run a lot of different apps in vulkan mode - dolphin-emu, ppsspp, flycast, opengothic, but dxvk can’t run.

H @junari,

I am a greenhorn when it comes to compiling or building packages. Have not played any computer games before either. Hahaha…

Had installed vulkan-panfrost before and tried vkmark that is the furthest have gone with vulkan on Opi5-Plus. Have install vulkan on GT King Pro before but from what I have read there is panvk support for Mali G52.

Some of the instructiions you listed above, I don’t don’t where to start.

The instructions like “sudo pacman -S xxx” this I do understand and knows what to do. The instruction “install wine - pamac build wine-tkg-staging-ntsync-bin” or the likes, have no idea what to do.

Might have to read up what or how to use pamac. If the instructions the detailed instructions are simple enough will try it out on Manjaro-opi5plus-xfce-linux-6.15.3-1.

Edit: Is there such this as prebuild “wine” package?

install wine - pamac build wine-tkg-staging-ntsync-bin
1.1) during installation edit pkgbuild - e(dit)

Don’t worry. In that case, you don’t have to do anything, I’ll put together and build all packages and write more detailed instructions for you

Just heard from amazingfate that there is a patch for hevc for RK3588 and he is going to include it into armbian kernel.

Files · add-vdpu381-and-383-to-rkvdec · Detlev Casanova / linux · GitLab.

I see that warpme’s Linux tree have it

Maybe @Darksky not sync new patches yet?

Already synced and integrated in PKGBUILD. Waiting for 6.15.4 to hit.

2 Likes

According a dev/user on discord on RK3588 SOC dxvk still crashes.

I did attempt dxvk with latest git mesa but it crashes still

Yeah, seems things have slowed recently and PanVk still not really ready yet… might even get full mainline hardware support before it’s fully featured lol

A lot depends on the version of dxvk you are using. The latest versions (2.5.1) of dxvk use extensions that have not been added yet. Older versions of dxvk, for example, 1.10.3 only require vulkan 1.1, which is supported and theoretically this version should work

Ok. Noted.

linux-6.15.4-1 pushed to unstable when the mirrors sync.

The patch #1074 you linked is now in this kernel. I do a pull every day and they have made a lot of changes in their patches this week. There is a couple I feel is a WIP that would not apply (both involving .dtb’s) that I feel may be related. I will keep monitoring the patches and rebuild the kernel when things change.

The new patches I am concerned about seem to be a set where one would apply but their .dts counter part would not. Commented out are the patches that would not apply. Usually when they name patches starting with the same number it is a WIP and later on duplicate numbers disappear.

1082-arm64-dtsi-rockchip-Add-rkvdec2-Video-Decoder-on-rk35.patch
#1082-arm64-dts-rockchip-Add-the-vdpu381-Video-Decoders-on.patch
1083-arm64-dtsi-rockchip-Add-the-vdpu383-Video-Decoder-on-.patch
#1083-arm64-dts-rockchip-Add-the-vdpu383-Video-Decoder-on-.patch
2 Likes

Hi @junari @Darksky,

After upgrade to ffmpeg-v4l2request, every time “sudo pacman -Syu” is performed it always request to upgrade to ffmpeg, repi-ffmpeg, ffmpeg-mpp, ffmpeg-mpp-git, ffmpeg-m2m.

pacman always think ffmpeg-v4l2request-7.1.1-4 is a lower version that need to be upgraded.

So on pacman.conf

IgnorePkg = ffmpeg

and pacman will request whether to skip

resolving dependencies...
warning: ignoring package ffmpeg-2:7.1.1-4
warning: ignoring package ffmpeg-m2m-1:4.4-4
warning: ignoring package ffmpeg-rk-1:4.4.1-5
warning: ignoring package rpi-ffmpeg-7.1.1-5
warning: ignoring package ffmpeg-mpp-2:7.1.1-4
warning: ignoring package ffmpeg-mpp-git-7.1.1.r117415.7683d5eb4a-3
warning: cannot resolve "ffmpeg", a dependency of "firefox"
:: The following package cannot be upgraded due to unresolvable dependencies:
      firefox

:: Do you want to skip the above package for this upgrade? [y/N] y
looking for conflicting packages...

Packages (21) btrfs-progs-6.15-1  gnupg-2.4.8-1  libssh-0.11.2-1  libxml2-2.14.4-2
              linux-firmware-20250613.12fe085f-9  linux-firmware-amdgpu-20250613.12fe085f-9
              linux-firmware-atheros-20250613.12fe085f-9
              linux-firmware-broadcom-20250613.12fe085f-9
              linux-firmware-cirrus-20250613.12fe085f-9
              linux-firmware-intel-20250613.12fe085f-9
              linux-firmware-mediatek-20250613.12fe085f-9
              linux-firmware-nvidia-20250613.12fe085f-9
              linux-firmware-other-20250613.12fe085f-9
              linux-firmware-radeon-20250613.12fe085f-9
              linux-firmware-realtek-20250613.12fe085f-9
              linux-firmware-whence-20250613.12fe085f-9  pciutils-3.14.0-1  python-3.13.5-1
              qt6-base-6.9.1-2  xorg-server-21.1.18-2  xorg-server-common-21.1.18-2

Total Download Size:   263.13 MiB
Total Installed Size:  995.93 MiB
Net Upgrade Size:        2.87 MiB

:: Proceed with installation? [Y/n] Y

Any suggestion on how to preventing the ffmpeg-v4l2request being considered a lower version?

Edit:

Manjaro-opi5plus-xfce Upgraded to linux-6.15.4-1.

[jfl@jfl-opi5plus ~]$ mpv '/run/media/jfl/writable/home/jfl/Videos/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv' 
● Video  --vid=1  (hevc 3840x2160 29.97 fps) [default]
Using hardware decoding (v4l2request).
VO: [gpu] 3840x2160 drm_prime[nv12]
V: 00:00:29 / 00:00:30 (100%) Dropped: 6
Exiting... (End of file)
[jfl@jfl-opi5plus ~]$

video output is distorted color.

I think this is mistake somewhere in my PKGBUILD. I will look.

What else has changed compared to last time

All of those packages has ffmpeg as a provide= except the new ffmpeg-v4l2request. Looks to me and entry needs to be made in the ffmpeg-v4l2request PKGBUILD here to add ffmpeg:

provides=(
  libavcodec.so
  libavdevice.so
  libavfilter.so
  libavformat.so
  libavutil.so
  libpostproc.so
  libswresample.so
  libswscale.so
  ffmpeg
)

The .PKGINFO that comes with the new package has this missing ffmpeg so it will not install firefox as ffmpeg is a depend unless one of the other ffmpeg packages is installed:

replaces = ffmpeg
conflict = ffmpeg
provides = libavcodec.so=61-64
provides = libavdevice.so=61-64
provides = libavfilter.so=10-64
provides = libavformat.so=61-64
provides = libavutil.so=59-64
provides = libpostproc.so=58-64
provides = libswresample.so=5-64
provides = libswscale.so=8-64

Both linux-6.15.3-1 and linux-6.15.4-1 mpv output distorted video output with “jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv”. So NO difference

But there one interesting issue with the new linux-6.15.4-1. Now Chromium_v137 no longer support/select v4l2request when streaming h264 Youtube videos meaning loss vpu hardware acceleration on h264 video on Chromium.

Downgrade to linux-6.15.3-1 and Chromium_v137 support vpu hardware acceleration with h264 video. For now will stick with linux-6.15.3-1.

00:00:00.245 kVideoDecoderName V4L2VideoDecoder
00:00:00.245 kIsPlatformVideoDecoder true
00:00:00.245 info Selected V4L2VideoDecoder for video decoding, config: codec: h264, profile: h264 high, level: not available, alpha_mode: is_opaque, coded size: [1920,1080], visible rect: [0,0,1920,1080], natural size: [1920,1080], has extra data: false, encryption scheme: Unencrypted, rotation: 0°, flipped: 0, color space: {primaries:BT709, transfer:BT709, matrix:BT709, range:LIMITED}

Try this linux-6.15.4-2 rebuild when the mirrors sync. It appears I chose the wrong patches in the 2 package sets to apply after doing a double check.

1 Like

Thanks. Will do it tomorrow. Is 1am over here.

Edit: Upgraded to new linux-6.15.4-2

[jfl@jfl-opi5plus ~]$ uname -a
Linux jfl-opi5plus 6.15.4-2-MANJARO-ARM #1 SMP PREEMPT Fri Jun 27 16:57:07 UTC 2025 aarch64 GNU/Linux

Same results. HEVC video “Videos/jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv” on mpv still distorted video output

Chromium_v137 no video hardware acceleration . Chromium tried to select “V4L2VideoDecoder” but resulted in error and then use “FFmpegVideoDecoder”.

Cannot upgrade Firefox as Firefox depend on ffmpeg instead of ffmpeg-v4l2request. The current Firefox-139.0.4 works fine just cannot update to Firefox-140.0.1

Is it safe to:

sudo pacman -Sdd firefox

to force update?

Edit 1: Just tried MiniArch-EOS-Gnome with MiniArch-kernel-6.15.4-1.

mpv ‘jellyfish-120-mbps-4k-uhd-hevc-10bit.mkv’ will result in distorted colour/video output just like linux-6.15.4-2.

Chromium_v137 on MiniArch-kernel-6.15.4-1 has vpu hardware acceleration, video-decoder uses

00:00:00.140 kVideoDecoderName “V4L2VideoDecoder”

By the way, on MiniArch-EOS-Gnome am using @junari older ffmpeg-v4l2-request 7.1.1-2 mpv-full-git 0.9.2.r12860.gef4ef9ec79-1. With these settings can upgrade Firefox to Firefox-140.0.1.