Looks like “mali question” would need to be asked again ;(
“When/where opensource Mali driver”.
Looks like “mali question” would need to be asked again ;(
“When/where opensource Mali driver”.
Interesting that it works on Cix’s libmali because on RK3588 with libmali I’m getting DRI3 not available
That tends to confirm my initial suspicion that CPU numbers have just been artificially rotated by one (i.e. I suspect that the clusters are 4xA510, 2x2.3G, 2x2.2G, 2x2.4, 2x2.5 from a hardware perspective but they just did +1 to make one fast CPU appear first). Could you issue “lscpu -e” to see how caches are shared between clusters ? We could have more surprises, e.g. if L3 is partitioned.
Also regarding certain cores being faster in GB than on CPU0, it’s possible that IRQs are delivered to CPU0 only and that I/Os eat some CPU0 resource, explaining why running userland on other cores could be faster. One more reliable approach to compare them would be to turn all CPUs offline except one when comparing (hoping IRQs and other activities are properly migrated of course).
Also, your RAM timings are excellent on the A720 cores, the best ones I’ve seen on an ARM board and even better than most x86 I’ve tested (only a Ryzen 7800X3D was at this level). However the A520 ones are abnormally bad and really make me think about the A55 ones on RK3588, which are caused by the DMC staying at low speeds when hammered by the little cores. You may want to check if you can switch the DMC to the performance governor and see if it changes timings for A520. It might as well work in combination with the cpufreq governors, so setting all A520 to performance might possibly change results.
In the opencl and vulkan compute tests, the FP32 results are 4 to 5 times that of 3588/G610MC4. However, the results of glmark2-es2-wayland
are not linearly related to the improvement of FP32.
The graphics driver stack provided by CIX includes libmali and zink.
https://github.com/radxa-pkg/cix-prebuilt/releases/download/beta2-25.01/cix-mesa_1.0.0-1_arm64.deb
I don’t think ARM will change the way they license the Mali userspace driver, but they did help Collabora and have made some good progress on panthor/panvk for RK3588/G610.
The main roadblock for G720 is probably that the kernel driver panthor doesn’t support ACPI yet.
# G720 MC10
mali 15000000.gpu: GPU identified as 0x0 arch 12.8.7 r0p0 status 0
# G610 MC4
mali fb000000.gpu: GPU identified as 0x7 arch 10.8.6 r0p0 status 0
The approach on Arm architecture side is the awful one.
First release hardware, then sell it and then bother about paying someone to write drivers.
And then you have things like RK3588 which is about 3 years on a market and video output just recently went into kernel (and stilll have issues). In meantime Rockchip managed to say something like “we no longer care”. Or raspberry/pi where they act like they do not bother at all would it be supported in mainline.
Yes, I agree with that. Arm Mali is used to making money from the smartphone market, they only need to maintain a closed source blob driver for a few years and then abandon it. What needs to change is to start upstreaming drivers based on their EVB before the mass production hardware is publicly available, just like Intel and AMD did.
CIX did promise in their presentation to start upstreaming their drivers in 2025, and I hope they don’t repeat the same mistake as Rockchip.
I just received this wonderful present as well It looks awesome, it’s laid on my desk and I guess it will make my coworker jealous
Here we go. I also executed some stuff @hrw was asking for:
sh-5.2# UploadScheme='file=@-'
sh-5.2# UploadServer='0x0.st'
sh-5.2# lscpu -e | curl -s -A 'sbc-bench' -F ${UploadScheme} ${UploadServer}
http://0x0.st/88AF.txt
sh-5.2# dmesg | curl -s -A 'sbc-bench' -F ${UploadScheme} ${UploadServer}
http://0x0.st/88AC.txt
sh-5.2# lspci -tv | curl -s -A 'sbc-bench' -F ${UploadScheme} ${UploadServer}
http://0x0.st/88mr.txt
sh-5.2# lspci -vvvvn | curl -s -A 'sbc-bench' -F ${UploadScheme} ${UploadServer}
pcilib: sysfs_read_vpd: read failed: No such device
pcilib: sysfs_read_vpd: read failed: No such device
http://0x0.st/88ms.txt
sh-5.2# cat /proc/interrupts | curl -s -A 'sbc-bench' -F ${UploadScheme} ${UploadServer}
http://0x0.st/88mi.txt
@nyanmisaka made me aware of an UEFI option to enable 2.6 GHz cpufreq and now that I found an USB keyboard that is accepted by the device I switched to 2.6 GHz in UEFI.
Yeah but i dont know. At least in my case even after a year or two, panfork always worked better for opengl (that runs over libmali too if i remember correctly). Not just in performance, panfrost+panthor was very broken when i tried.
So i will take libmali + zink (for opengl) over it.
a few people are reciving their boards now. Mine didnt ship before the 20th from allnet.
Yours is a 16GB version? i got the feeling those were produced first.
OK thanks. So the cache hierarchy is not exposed at the moment, which is also confirmed by the message “Unable to detect cache hierarchy” in dmesg. I’ll run some cache-to-cache tests to figure how they’re arranged and detect whether it’s a uniform architecture or not.
Also my suspicion regarding IRQs seems to be confirmed. Look at “eth0” or “hda irq” for example. It seems that they’re stuck to one core, and possibly after a while irqbalance strikes to move them. Maybe moving them to the A520 only would give you more consistent results (and you would need to kill irqbalance if it’s running of course).
Haven’t booted it yet but it’s written “RS600-D16…” on the packaging, and Tom said at the top of this thread they would be sending 16GB models to developers so I guess so, yes.
I don’t see that much or any activity on cpu0
when the board is idle but there’s always something going on on cpu10
and a little less on cpu7
. But since you have the device on your desk you’ll see yourself.
Also we have an average load above 4.0 all the time with 4 processes in D state:
sh-5.2# ps auxwww | grep D
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 89 0.0 0.0 0 0 ? D 19:30 0:00 [bbox_main]
root 90 0.0 0.0 0 0 ? D 19:30 0:00 [bbox_cleartext]
root 121 0.0 0.0 0 0 ? D 19:30 0:00 [chre_kthread]
root 122 0.0 0.0 0 0 ? D 19:30 0:00 [scp_power_reset]
Can people write “we used Debian 12 based image provided by vendor” rather than “we used Debian 12 image”?
Radxa provides some disk images based on Debian 12. With custom kernel, without kernel sources (what about GPL compliance?) and with some random binaries to run those components which never saw open source drivers.
It is FrankensteinOS based on some Debian image.
I don’t have one yet, but from the releases BIOS files, it appears that the CIX BIOS is signed, and OPTEE might be encrypted.
Will the O6 board be properly open or will people need to rely on Radxa to sign BIOS files? Will there even be source available for the bootloader stack? (BL31/OPTEE/etc)
@nyanmisaka can you tell me which environment variables your system has?
I’m trying to recreate it on RK3588’s libmali like this:
MESA_LOADER_DRIVER_OVERRIDE=zink VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/mali.json __EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.json glxinfo
but this still errors
I checked the preset environment variables and it doesn’t seem to be related?
radxa@orion-o6:~$ printenv
SHELL=/bin/sh
GTK_IM_MODULE=fcitx
PWD=/home/radxa
LOGNAME=radxa
XDG_SESSION_TYPE=tty
MOTD_SHOWN=pam
GST_PLUGIN_SCANNER=/usr/share/cix/libexec/gstreamer-1.0/gst-plugin-scanner
HOME=/home/radxa
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=00:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.avif=01;35:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:*~=00;90:*#=00;90:*.bak=00;90:*.old=00;90:*.orig=00;90:*.part=00;90:*.rej=00;90:*.swp=00;90:*.tmp=00;90:*.dpkg-dist=00;90:*.dpkg-old=00;90:*.ucf-dist=00;90:*.ucf-new=00;90:*.ucf-old=00;90:*.rpmnew=00;90:*.rpmorig=00;90:*.rpmsave=00;90:
SSH_CONNECTION=192.168.2.114 4350 192.168.2.124 22
SAL_ENABLESKIA=1
XDG_SESSION_CLASS=user
TERM=xterm-256color
USER=radxa
SHLVL=1
QT_IM_MODULE=fcitx
XDG_SESSION_ID=125
LD_LIBRARY_PATH=/usr/share/cix/lib
XDG_RUNTIME_DIR=/run/user/1000
SSH_CLIENT=192.168.2.114 4350 22
XDG_DATA_DIRS=/usr/share/gnome:/usr/local/share/:/usr/share/
PATH=/usr/share/cix/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games:/sbin
GST_PLUGIN_PATH_1_0=/usr/share/cix/lib/gstreamer-1.0
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
SSH_TTY=/dev/pts/0
_=/usr/bin/printenv