Archlinux on Rock5b

Hi, trying to build the kernel and getting this:

the PKGDEST for linux-radxa-rkbsp5-git is listed by makepkg but does not exist: /home/alarm/.cache/yay/linux-radxa-rkbsp5-git/linux-radxa-rkbsp5-git-5.10.1073140.356e185d2eef.d4047fc-1-aarch64.pkg.tar.xz

Any ideas?

Also, unable able to get 4k you tube in firefox. I followed all the instructions but 1440p is the best available.

Thanks again…

FYI, trying to install from the AUR.

I solved the kernel issue by cloning the git page instead of using yay to install from the AUR.

Yes, I think I have it installed:

ffmpeg-mpp 2:6.0-4
ffmpeg-mpp-debug 2:6.0-4

This is the first few lines that ffplay pruduces:

[info] ffplay version n6.0 Copyright (c) 2003-2023 the FFmpeg developers
[info]   built with gcc 12.1.0 (GCC)
[info]   configuration: --prefix=/usr --disable-debug --disable-static --disable-stripping --enable-amf --enable-avisynth --enable-cuda-llvm --enable-fontconfig --enable-gmp --enable-gnutls --enable-gpl --enable-ladspa --enable-libass --enable-libbluray --enable-libbs2b --enable-libdav1d --enable-libdrm --enable-libfreetype --enable-libfribidi --enable-libgsm --enable-libiec61883 --enable-libjack --enable-libmodplug --enable-libmp3lame --enable-libopencore_amrnb --enable-libopencore_amrwb --enable-libopenjpeg --enable-libopenmpt --enable-libopus --enable-libpulse --enable-librsvg --enable-libsoxr --enable-libspeex --enable-libsrt --enable-libssh --enable-libtheora --enable-libv4l2 --enable-libvidstab --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxcb --enable-libxml2 --enable-libxvid --enable-libzimg --enable-opencl --enable-opengl --enable-shared --enable-version3 --disable-vulkan --enable-rkmpp --host-cflags='"-fPIC"'
[info]   libavutil      58.  2.100 / 58.  2.100
[info]   libavcodec     60.  3.100 / 60.  3.100
[info]   libavformat    60.  3.100 / 60.  3.100
[info]   libavdevice    60.  1.100 / 60.  1.100
[info]   libavfilter     9.  3.100 /  9.  3.100
[info]   libswscale      7.  1.100 /  7.  1.100
[info]   libswresample   4. 10.100 /  4. 10.100
[info]   libpostproc    57.  1.100 / 57.  1.100
[verbose] Initialized opengl renderer.
[NULL @ 0x7f3c000c20] [debug] Opening 'Videos/2022-02-06 20-48-19.mp4' for reading
[file @ 0x7f3c0012b0] [debug] Setting default whitelist 'file,crypto,data'
[info]     nan    :  0.000 fd=   0 aq=    0KB vq=    0KB sq=    0B f=0/0   ^M[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Format mov,mp4,m4a,3gp,3g2,mj2 probed with size=2048 and score=100
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] ISO: File Type Major Brand: isom
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Processing st: 0, edit list 0 - media time: 512, duration: 573957
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Offset DTS by 512 to make first pts zero.
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Setting codecpar->delay to 2 for stream st: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Processing st: 1, edit list 0 - media time: 0, duration: 1789968
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f3c000c20] [debug] Before avformat_find_stream_info() pos: 16868334 bytes read:93427 seeks:1 nb_streams:2
[h264 @ 0x7f3c001b00] [debug] nal_unit_type: 7(SPS), nal_ref_idc: 3
[h264 @ 0x7f3c001b00] [debug] Decoding VUI
[h264 @ 0x7f3c001b00] [debug] nal_unit_type: 8(PPS), nal_ref_idc: 3
[debug] For transform of length 64, inverse, mdct_float, flags: [aligned, out_of_place], found 2 matches:
[debug]     1: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: 96
[debug]     2: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
[debug] For transform of length 32, inverse, fft_float, flags: [aligned, inplace, preshuf], found 3 matches:
[debug]     1: fft32_ns_float_neon - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 352
[debug]     2: fft_pfa_ns_float_c - type: fft_float, len: [6, ∞], factors[2]: [7, 5, 3, 2, any], flags: [unaligned, inplace, out_of_place, preshuf], prio: 112
[debug]     3: fft32_ns_float_c - type: fft_float, len: 32, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf], prio: 96
[debug] Transform tree:
[debug]     mdct_inv_float_c - type: mdct_float, len: 64, factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only]
[debug]         fft32_ns_float_neon - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[debug] For transform of length 64, inverse, mdct_float, flags: [aligned, out_of_place], found 2 matches:
[debug]     1: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: 96
[debug]     2: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
[debug] For transform of length 32, inverse, fft_float, flags: [aligned, inplace, preshuf], found 3 matches:
[debug]     1: fft32_ns_float_neon - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 352
[debug]     2: fft_pfa_ns_float_c - type: fft_float, len: [6, ∞], factors[2]: [7, 5, 3, 2, any], flags: [unaligned, inplace, out_of_place, preshuf], prio: 112
[debug]     3: fft32_ns_float_c - type: fft_float, len: 32, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf], prio: 96
[debug] Transform tree:
[debug]     mdct_inv_float_c - type: mdct_float, len: 64, factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only]
[debug]         fft32_ns_float_neon - type: fft_float, len: 32, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[debug] For transform of length 120, inverse, mdct_float, flags: [aligned, out_of_place], found 5 matches:
[debug]     1: mdct_pfa_15xM_inv_float_c - type: mdct_float, len: [30, ∞], factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only], prio: 304
[debug]     2: mdct_pfa_5xM_inv_float_c - type: mdct_float, len: [10, ∞], factors[2]: [5, any], flags: [unaligned, out_of_place, inv_only], prio: 144
[debug]     3: mdct_pfa_3xM_inv_float_c - type: mdct_float, len: [6, ∞], factors[2]: [3, any], flags: [unaligned, out_of_place, inv_only], prio: 112
[debug]     4: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: 96
[debug]     5: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
[debug] For transform of length 4, inverse, fft_float, flags: [aligned, inplace, preshuf], found 2 matches:
[debug]     1: fft4_fwd_float_neon - type: fft_float, len: 4, factor: 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 352
[debug]     2: fft4_ns_float_c - type: fft_float, len: 4, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf], prio: 96
[debug] Transform tree:
[debug]     mdct_pfa_15xM_inv_float_c - type: mdct_float, len: 120, factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only]
[debug]         fft4_fwd_float_neon - type: fft_float, len: 4, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[debug] For transform of length 128, inverse, mdct_float, flags: [aligned, out_of_place], found 2 matches:
[debug]     1: mdct_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: 96
[debug]     2: mdct_naive_inv_float_c - type: mdct_float, len: [2, ∞], factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only], prio: -130976
[debug] For transform of length 64, inverse, fft_float, flags: [aligned, inplace, preshuf], found 3 matches:
[debug]     1: fft_sr_ns_float_neon - type: fft_float, len: [64, 131072], factor: 2, flags: [aligned, inplace, out_of_place, preshuf], prio: 288
[debug]     2: fft_pfa_ns_float_c - type: fft_float, len: [6, ∞], factors[2]: [7, 5, 3, 2, any], flags: [unaligned, inplace, out_of_place, preshuf], prio: 112
[debug]     3: fft64_ns_float_c - type: fft_float, len: 64, factor: 2, flags: [unaligned, inplace, out_of_place, preshuf], prio: 96
[debug] Transform tree:
[debug]     mdct_inv_float_c - type: mdct_float, len: 128, factors[2]: [2, any], flags: [unaligned, out_of_place, inv_only]
[debug]         fft_sr_ns_float_neon - type: fft_float, len: 64, factor: 2, flags: [aligned, inplace, out_of_place, preshuf]
[debug] For transform of length 480, inverse, mdct_float, flags: [aligned, out_of_place], found 5 matches:
[debug]     1: mdct_pfa_15xM_inv_float_c - type: mdct_float, len: [30, ∞], factors[2]: [15, any], flags: [unaligned, out_of_place, inv_only], prio: 304
[debug]     2: mdct_pfa_5xM_inv_float_c - type: mdct_float, len: [10, ∞], factors[2]: [5, any], flags: [unaligned, out_of_place, inv_only], prio: 144

journal -f is:

Apr 14 19:05:27 rock-5b kernel: rga_mm: RGA_MMU unsupported Memory larger than 4G!
Apr 14 19:05:27 rock-5b kernel: rga_mm: scheduler core[4] unsupported mm_flag[0x0]!
Apr 14 19:05:27 rock-5b kernel: rga_mm: rga_mm_map_buffer map dma_buf error!
Apr 14 19:05:27 rock-5b kernel: rga_mm: job buffer map failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: src channel map job buffer failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: failed to map buffer
Apr 14 19:05:27 rock-5b kernel: rga_job: rga_job_commit: failed to map job info
Apr 14 19:05:27 rock-5b kernel: rga_job: request[1409] task[0] job_commit failed.
Apr 14 19:05:27 rock-5b kernel: rga_job: rga request commit failed!
Apr 14 19:05:27 rock-5b kernel: rga: request[1409] submit failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: RGA_MMU unsupported Memory larger than 4G!
Apr 14 19:05:27 rock-5b kernel: rga_mm: scheduler core[4] unsupported mm_flag[0x0]!
Apr 14 19:05:27 rock-5b kernel: rga_mm: rga_mm_map_buffer map dma_buf error!
Apr 14 19:05:27 rock-5b kernel: rga_mm: job buffer map failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: src channel map job buffer failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: failed to map buffer
Apr 14 19:05:27 rock-5b kernel: rga_job: rga_job_commit: failed to map job info
Apr 14 19:05:27 rock-5b kernel: rga_job: request[1410] task[0] job_commit failed.
Apr 14 19:05:27 rock-5b kernel: rga_job: rga request commit failed!
Apr 14 19:05:27 rock-5b kernel: rga: request[1410] submit failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: RGA_MMU unsupported Memory larger than 4G!
Apr 14 19:05:27 rock-5b kernel: rga_mm: scheduler core[4] unsupported mm_flag[0x0]!
Apr 14 19:05:27 rock-5b kernel: rga_mm: rga_mm_map_buffer map dma_buf error!
Apr 14 19:05:27 rock-5b kernel: rga_mm: job buffer map failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: src channel map job buffer failed!
Apr 14 19:05:27 rock-5b kernel: rga_mm: failed to map buffer
Apr 14 19:05:27 rock-5b kernel: rga_job: rga_job_commit: failed to map job info
Apr 14 19:05:27 rock-5b kernel: rga_job: request[1411] task[0] job_commit failed.
Apr 14 19:05:27 rock-5b kernel: rga_job: rga request commit failed!
Apr 14 19:05:27 rock-5b kernel: rga: request[1411] submit failed!

Thats the problem, rga is not working for memory larger than 4G, and i am using 4G model (and most likely yours is >4G). Let me investigate that little bit.

Can someone be so kind and create an arch image having hw acceleration, video decoding, browser acceleration in firefox or chromium and 8k hdmi out working? :blush:

As the week-end is here, I’ve rebooted to midstream. I haven’t been able to enable zram yet,

I tried the command you provided: zcat /proc/config.gz | grep ZRAM
On the previous kernel it was set to ‘y’ but here it doesn’t show anything

If I understood well what you said previously, the zram is built-in by default in midstream kernel and not provided as loadable module.
I’ve tried adding zram.num_devices=1 to /boot/extlinux/extlinux.conf as mentionned in gentoo’s wiki:

If zram is built-in, then the number of devices can only be changed at boot time by using the kernel boot parameter zram.num_devices=# .

But neither /sys/block/zram0/, /dev/zram0 nor /sys/module/zswap/ are available

FYI to enable zram swap previously was following: https://wiki.archlinux.org/title/Zram#Manually

Do you have access to your device and are you currently using midstream?

@boogiepop, which version of mesa-panfork-git should we be using? The one from your git page (r4164484) or the one in the AUR ( r163343).

I’m experimenting with LibreWolf, I’ll provide an update if it performs better than Firefox. Right now I’m getting the best performance (overall speed and YouTube) with Chromium. Thanks!

@Benno
i need to know if the output of ffplay -loglevel repeat+level+debug pathtothevideofile spits a message like "Doing slow software conversion" or Unable to convert

@Joperfi, use the one in the AUR, i am having the on the github just for testing

@Etienne i am too busy with the ffmpeg stuff lately, i will give it a look when i have time. However you can still set the CONFIG_ZRAM=m and create a custom config and build with it. Described here: Archlinux on Rock5b

Yes @boogiepop, “Doing slow software conversion” colored in yellow does show up a lot in the output. It didn’t say “Unable to convert” anywhere. I own the 16GB board and have decided to have KDE installed instead of GNOME. Those might be helpful pieces of information. Sorry for the slow response. Unfortunately I have to eat and sleep and get up early to go to work in the mornings.

@Benno fot the time being mpv --hwdec=rkmpp pattofile should fix your problem. You have to install mpv for this, and it only works for mpv, rest of the system can not sue this.

For the actual problem, i have a workaround, i will publish it later in the AUR.

With the added argument the video plays smoother and without the audio cutting out or the video freezing. Cool. I noticed the lines:

Apr 19 21:27:35 rock-5b kernel: mali fb000000.gpu: Incorrect firmware magic
Apr 19 21:27:35 rock-5b kernel: mali fb000000.gpu: Firmware initialization failed
Apr 19 21:27:35 rock-5b kernel: mali fb000000.gpu: Incorrect firmware magic
Apr 19 21:27:35 rock-5b kernel: mali fb000000.gpu: Firmware initialization failed

in the output of journalctl -f. What do they mean? Are you getting those messages too?

it means that the firmware binary is not there. install this one.
https://aur.archlinux.org/packages/libmali-radxa-g610-bin

1 Like

The same lines still turn up after I installed the package using yay.

and another rock5 @ midstream6.2 :slight_smile:
I appreciate your work here. Thank you

Do you have any advice how to use radxa pwm cpu fan with midstream kernel?

I dont have a fan and i can not confirm this works but the idea with the fan control is, it reads the soc-thermal node as control input, and runs PWM1 accordingly.

If you take @amazingfate 's overlay here, i guess you need at least a new fragment here, setting the status of &pwm1 as “okay”, because by default the PWM1 node in the dts is disabled. I also did not chec if the actual driver for PWM needs porting or further attention but, my guess is should be ok.

1 Like

thank you for the links.
To be honest. I have no clue how to write a new fragment to get this working :frowning:

I will ask for this in topic
Time to get rid of these userspace pwm fan controll shit
because i don´t want to spam the best thread here :slight_smile:

My overlay works for legacy 5.10 kernel. I don’t use midstream kernel so I can’t test a working overlay for you. I find the devietree of midstream is different from the legacy one:


this explains the warning
node has a unit name, but no reg or ranges property pwm
you just need to adapt the node registers, or in simple words, copy the syntax of thermal stages from mainline and adapt to the overlay working on 5.10.
@Schnabulator thats one of the benefits of having rock5, it forces you to be a programmer :slight_smile:

1 Like

Has anyone noticed that when they try to run mpv, it’s stopped working?
It prints this error message:

mpv: error while loading shared libraries: libvidstab.so.1.1: cannot open shared object file: No such file or directory

I was able to get it to get it going again by:

ln /lib/libvidstab.so.1.2 /lib/libvidstab.so.1.1