[Guide] 🖥️ Arch Linux for Single-Board Computers!

This version installs fine. Thank you for reverting.

The mpp acceleration, based on apparent cpu use in btop, seems to be working. Yet, the playback is not very smooth, especially at higher resolutions. Is there anything I could do to improve this? Maybe is this some sort or power save mode, e.g. mpp processor throttled? (I saw something similar on x86 when the amd gpu stuck in some power save mode, and playback was choppy)

firefox time to time sucks on rendering on wayland. You can try to force X11 with

MOZ_ENABLE_WAYLAND=0 firefox

and run it either under xwayland if you are under wayland or native X if no wayland is involved. I experinced that it improves firefox rendering performance a lot.

Also now sunshine-mpp is building again, and can be installed via pacman. Sunshine performance can be improved a lot, but currently i only use it for remote desktop purposes and it saves the day for me.

you can verify if the windowing is switched to X by checking about:support page in firefox. (somewhere in the table should show xwayland…)

After a video is played about:support should also list the hardware accelerated codecs.

I tried xwayland with the MOZ_ENABLE_WAYLAND=0 parameter. I could see “xwayland” at “Window Protocol” in about:support. (xeyes showed xwayland too). As far as the video playback smoothness is concerned, I do not see a huge difference between wayland and xwayland (maybe native x11 would be better).

Even the low resolution youtube videos (e.g. 480p) are not total smooth. Neither those small icon clips when you hoover the mouse over them. But I am quite convinced the hardware acceleration is working because of the low cpu loads I can see.

There are some errors reported in the about:support, but they may not be relevant:

Failure Log
|(#0) Error|true: ERROR|
|---|---|
|(#1) Error|trueV4L2 device /dev/video2 does not support M2M modes|
|(#2) Error|true: ERROR|
|(#3) Error|trueV4L2 device /dev/video1 does not support M2M modes|
|(#4) Error|true: ERROR|
|(#5) Error|trueV4L2 device /dev/video-enc0 failed to query capabilities|
|(#6) Error|true: ERROR|
|(#7) Error|trueV4L2 device /dev/video-dec0 failed to query capabilities|
|(#8) Error|true: ERROR|
|(#9) Error|trueV4L2 device /dev/video0 does not support M2M modes|

mpv playback is very smooth though.

Dont mind abou those errors, they are fine and unrelated.

Can you open a youtube video right click and open stats for nerds and monitor dropped frames. And share the same link so that i can try. I get 0 frames dropped in 4k vids.

ok nevermind, i reproduced the problem, firefox is choppy, most likely a firefox issue somewhere.

I can see a few dropped frames during youtube playback in the nerds’ stats, about 100-150 from 5000. Sometimes the codec was h264 sometimes vp9, depending on the video, which were 60 Hz 4k. I can see dropped frames at lower (e.g. 1080p) resolution too, in similar numbers.
The number of dropped frames is low and probably should not cause the playback so choppy.

Is there any way I could print the mpp processor or gpu clock and load? A bit like an equivalent of radeontop. Than I could compare the load/clock during firefox youtube playback and mpv playback.

Unrelated to the mpp - firefox issues, but somehow one of my cpu cores disappeared. inxi says I have a 7-core cpu, htop says core 7 is offline, btop lists cpus from 0 to 6, so 7 alltogether. My system is running for a while (about 1 and half days) and I often use suspend/resume cycles.

The 8th core comes back after reset.

mpv is able to play with hw acceleration. The playback looks fine (i.e. not choppy as firefox), and cpu use is also fine.

There is an issue though. mpv is able to stream from youtube, but the playback is then not hardware accelerated. If I download the same stream (same stream ids etc), and play the file from a local drive, it is hw accelerated.

So I thought maybe some initial frames are missing or something, and tried to turn on the hw acceleration during streaming playback (by throttling with control+h). Well, the hw acceleration did not turn on, but in the terminal trace I could see an error message about missing vdpau.

AV: 00:00:20 / 00:30:06 (1%) A-V:  0.000 Dropped: 61Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory

The downloaded video already starts playing with hw acceleration. When I throttle while playing, hw acceleration turns off as expected. However, when I throttle again, it does not turn back on, instead I can see the vdpau related error message again in the terminal trace.

In the mpv config file I have the mpp related settings (profile=fast; hwdec=rkmpp). I also tried with these settings in the command line but got the same results.

It seems vdpau is some hardcoded setting when it comes to control+h. Is there any way to set rkmmp as default instead?

btw, acestreams are not hw acceleated either. It would be of course nice to have hw acceleration here too.

Are you sure you are using mpv-mpp instead of normal mpv package?

It looks I have the mpv-mpp. Shall I try a reinstall?


extra/mpv 1:0.40.0-5
    a free, open source, and cross-platform media player
boogie/mpv-mpp 1:0.40.0-6 [installed]
    a free, open source, and cross-platform media player

I just checked on x64 arch, mpv (version 1:0.40.0-5) plays booth youtube and acestream streams with hw acceleration, and cntrl+h throttling of hw acc also works both for turning on and off, as expected.

On x64 hardware decoding seems to be vaapi-copy for me (amd gpu), output is nv12, similarly to mpp. I start mpv with “–hwdec=auto” option. Starting without the option does not initiate hw decoding, but cntrl+h would turn it on as expected.

The problem seem to be specific for the alarm + mpp combo.

i dont have an mpv.conf and when i request -hwdec=rkmpp it works.

mpv "https://www.youtube.com/watch?v=tYr_H8f7Zq0" -v --hwdec=rkmpp

can you send me an example youtube video that you are having problem

It does work :+1: with youtube! I am not very sure why it did not work when I first tried it (I did not use the “”, added options before the link etc.). I also add the “–profile=fast” option, and sometimes specify the stream (ytdl-format); all of these work now.
(cntrl+h would only turn the hw acc off, and could not turn it back on, but this is not a critical bug…)

Does hw acc work at your end with acestreams with mpv? (I installed mpv-acestream from aur, it is basically only a lua. I installed the engine from the boogie repo.)

mpv acestream://c6b6bd3c52ab2a4f5275e49a013205a6a0e4390c --hwdec=rkmpp --profile=fast

I did an update recently (pacman -Syu), and now the board does not start up, see photo below. It seems a lot of systemd items fail to start. Before this occasion I did an update about a month ago, and everything was ok.

Then I did not do an update for a while because some updated items needed an updated mpv-mpp version, and that was not available in its repo, so that I just waited until it is also updated.

Did anyone else run into this after an update? Can I salvage the installation?

I have the same problem, only mine’s from a clean install. Any help would be greatly appreciated.