Archlinux on Rock5b

fixed in this commit. i assume some shit code is coming up from upstream mesa.

Thanks for the contribution, i have added the link to the first post.
The information in this thread and several others are really piling up, it would be great if we had some form of wiki just like Sunxi has. Is radxa/rockchip people somehow interested in maintaining a wiki. I think thats a solid idea.

1 Like

Thanks build worked :ok_hand:

Havn’t looked into graphics side much yet, but just launching gnome I’ve noticed quite high CPU usage so maybe GPU accel wasn’t used, plus interface didn’t feel very smooth.

My current biggest concern is this
modprobe zram
modprobe: FATAL: Module zram not found in directory

I was using that feat in previous kernel, to enable swap ram compression and double my 8GB ram
as I build quite massive web stuff which consumes lots of memory .

I don’t know much about kernel stuff …so not sure if this unsupported feature in midstream kernel
For now I’m back to old kernel until I can make it work. If someone has an idea about that.

i think there is something fishy here. Zram module is enabled in default config of midstream.

Can you check if the module is there ls /usr/lib/modules/$(uname -r)/kernel/drivers/block/z*

I’m currently not booted in midstream kernel, but I can chroot into the midstream rootfs image

ls usr/lib/modules/6.2.01153622-0bdd2223b20b-rk3588-midstream/kernel/drivers/block/
only gives me
nbd.ko

Not sure if relevant or if I need to be booted in midstream kernel to check (in case dir is populated at runtime)?

Other thing, while using old kernel, and after successfully modprobe zram module, I would expect to see it with lsmod | grep zram ?

no it should be there, that means that it is also not compiled, there might be something wrong with the config, may be there are some dependencies for this config to be enabled.

I did a trick in the PKGBUILD to compile custom configurations. Create a dir called custom in the directory where PKGBUILD is. and copy arch/arm64/configs/rock-5b.config from src/kernel (afair) with the name config.

So you can edit this config however you want and PKGBUILD will use the config in ./custom/config.

There is a whole lot guide in Gentoo Wiki on how to configure zram module in the kernel that may help. I might not have access to device this week, but i think this info might help to troubleshoot.

2 Likes

Ok, thanks for your help. Will check when I have time If I can manage it as I’m not an expert in that area

ah i understand whats going on here, ZRAM is not compiled as loadable module thats why you can not modprobe it :slight_smile: kinda makes sense.

so it should work without modprobing, but you might need to restart for zram to activate because it can not re init config simply reloading.

you mean after recompiling kernel as you mentionned in previous post?
good news if it isn’t midstream issue

no no, you dont have to compile anything, ZRAM is enabled by default, but it is not as a module. Just configure ZRAM as usual, without modprobe. And restart the device.

ah I see :slight_smile: didn’t get it sorry, ok so no mobprobe required just the rest of my script which is:

echo zstd > /sys/block/zram0/comp_algorithm && echo 8G > /sys/block/zram0/disksize
# disable zswap
echo 0 > /sys/module/zswap/parameters/enabled
mkswap --label zram0 /dev/zram0 && swapon --priority 100 /dev/zram0

Was it what you refer to? as I ran these command at device start, so will be gone at restart

FYI I was manually setting zram as described in archwiki

for that zram config you might not even need to restart.

from gentoo wiki

It is recommended that zram be built as a loadable module. This allows changing number of zram devices without rebooting, by deactivating zram devices and re-loading module with new parameters. 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=# .

A side note:
CONFIG_ZRAM=y means that compile this buddy as a part of vmlinuz kernel image,
CONFIG_ZRAM=m means that compile it as a seperate loadable .ko module.

if you zcat /prog/config.gz | grep ZRAM you will notice that it is set to y.

Or you can recompile with a new config set at as m, a loadbale module, but thats overkill i guess, it already works this way and thats tolally linux thing, not related to midstream.

Ah ok gonna check once rebooted in midstream Don’t remember if I checked if it worked after seeing modprobe error
Let you know, thanks!

I’ve tried playing videos with mpv and found that the playback speed was very slow, and with hundreds of dropped frames. I’m wondering if it’s that way because of hardware limitations or because I’ve set something up wrong. Is video playback slow and choppy even with hardware acceleration packages installed?

details please.

Did you install ffmpeg-mpp? Can you verify it with pacman -Q | grep ffmpeg-mpp

If yes.

whats the output of

ffplay -loglevel repeat+level+debug pathtothevideofile

and

journalctl -f

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.