Search the Community
Showing results for 'panfrost'.
-
It seemed like EVERYONE was talking about "looking into" getting Armbian going on this box. I did my best. Built from the Rock5b images. WiFi: Broadcom BCM43752 / AP6275P 802.11ax "WiFi 6" Panthor + Mesa GPU stack Open PanVK Vulkan + Panfrost GL GPU driver Gpu no longer pinned to 800MHz. Power toggles cycle it 600MHz, 800MHz, and 1000MHz. (the CPU also scales) Desktop compositing on the GPU A command is needed to set monitor resolution. Default is 1080p. Other Findings: CPU frequency was scanned under load: LITTLE cores (Cortex-A55): 1800 MHz BIG cores (Cortex-A76): 2208 MHz Those were the scaling_cur_freq readings. The vendor DTB caps the A76 at 2208 MHz: the physical max is 2.4 GHz but that OPP entry isn't in the table. Github repo: DOWNLOAD RELEASE FILES READ THE README.md! REFLASH STOCK IMAGE: UNPACKED FLASHING FILES FOR STOCK ANDROID README.md
-
Orange Pi 4A (Allwinner T527 / A523, sun55i-a523) — new mainline image coming in a few days Hi all, A quick heads-up for anyone following the Orange Pi 4A / Allwinner T527 (A523) mainline effort: a new image, v0.3, is coming in the next few days. It's based on mainline Linux 6.18 (longterm) and it's a decent step up from v0.2, so I wanted to give some advance notice. What's new in v0.3: Hardware video decode (VPU): H.264/H.265 decoded on the Cedar VPU — smooth video in the bundled web browser (WebKitGTK), using Allwinner's own cedar + libcedarc stack. GNOME on Wayland (replaces Plasma), accelerated by Panfrost (Mali-G57). The X11 session is intentionally not used — Wayland is much faster on this GPU for both desktop and video. Low-RAM fix: compressed in-RAM swap (zram) is on by default, so the 2 GB board stays responsive under a browser + video instead of freezing. Robustness: the VPU driver now survives a client crashing mid-decode without wedging the board, plus a round of code-audit fixes across the clock, PCIe, DRM, VPU and audio-codec drivers. Everything from before still works: display/KMS, GPU, HDMI + analog audio (headphones with jack detection), Ethernet, WiFi, USB, PCIe/NVMe (not yet tested with a real drive), thermal and cpufreq/DVFS. How it's built: on top of mainline Linux and public community work (linux-sunxi, Armbian and others — credited in the tree), with Allwinner's public documentation and vendor BSP as the hardware reference, plus the project's own patches, each one validated on real hardware. Some of this has been posted to the linux-sunxi / upstream lists and picked up by maintainers. This is a spare-time hobby project, shared as-is (async, no live support). Sources, patches and images are on GitHub — I'll post here again when the release is up: GitHub: https://github.com/ut-slayer/orangepi-4a-mainline Testers and feedback are very welcome. Thanks!
-
Kraid is a new Rust-based compiler for Panfrost that replaces the aging Bifrost-rooted compiler stack with a cleaner, more flexible design for modern Mali GPUs, improving IR structure, register allocation, hardware testing, and long-term maintainability. View the full article
-
Hi — I've been following this thread, the 100 Mbit ethernet cap and the silent mainline boot hang especially. I ended up doing a full mainline bring-up of the 4A on 6.18.38 and got gigabit ethernet working properly (RX/TX), plus the boot hang sorted, so I wanted to share the whole patch series in case it helps here. Full disclosure: I'm not a kernel developer by trade — I got most of this working with a lot of help from AI coding agents, leaning hard on the BSP 5.15 as the source of truth. In my own testing everything seems stable, but I'd genuinely welcome anyone who actually knows this stuff to review the patches and tell me what I got wrong or did in a hacky way. No egos here — I'm sharing it in case it's useful and to get feedback, not claiming it's perfect. 🙂 What works (confirmed on hardware): HDMI KMS display (DE33/DE3.5 + TCON-TV + DW-HDMI 2.0 + Inno PHY) — 720p/1080p, clean VSU8 scaling GPU Mali-G57 (Panfrost) — accelerated (KDE Plasma Wayland) HDMI audio (i2s2 → dw-hdmi) — PCM out to the TV Ethernet GMAC1 (YT8531 PHY, RGMII) — full gigabit RX/TX WiFi AP6256 (BCM43456, brcmfmac, SDIO) — 2.4/5 GHz scan + assoc reboot / poweroff (sunxi_wdt / AXP717) AFBC scanout (v350 AFBD decoder) USB — the 4 rear ports (all USB 2.0; the board doesn't wire the SoC's USB3) — HID + mass storage, hotplug THS thermal sensors (5 zones: cpu_l / cpu_b / gpu / npu / ddr) + 110 °C critical trip CPU cpufreq/DVFS (little cluster up to 1.416 GHz, big cluster up to 1.8 GHz) + thermal throttling GPU devfreq/DVFS (Panfrost, 150–600 MHz) + thermal throttling HDMI HPD / hotplug (native, no force) Known not working / help wanted: eMMC — not tested (I don't have a module). I saw the mmc2: error -110 reports earlier in the thread; happy to dig into it with anyone who has eMMC. Hardware video decode (VPU) — no driver in 6.18 yet (software decode works). Suspend/hibernate — untested. 4GB variant — expected to work out of the box (the bootloader auto-detects the RAM size and fills in /memory at boot; verified over UART on the 2GB board). I only own the 2GB variant, so if you have the 4GB one, a free -h confirmation would be very welcome. NVMe SSD — untested, no drive here. Everything so far has only run from microSD. Freshness note: the cpufreq/thermal/GPU-devfreq block landed this very week and is still under soak testing on my board — everything else has more mileage. I'll report anything that shakes out in this thread. Repo / patches: https://github.com/ut-slayer/orangepi-4a-mainline It's a git format-patch series (~106 patches) on top of 6.18.38 vanilla, plus a defconfig and the board .dts. The README groups the patches by intended destination: generic sunxi fixes (pinctrl, watchdog vs PSCI, AXP717 poweroff, a RESET_GPIO/mmc-pwrseq bug affecting any sunxi board with SDIO WiFi), the HDMI KMS display series (largely ported/adapted from the minimyth2 / Justin Suess H728 work, with original authorship kept in the patch headers), the A523 CPU CCU + thermal + DVFS, board integration (dts + defconfig), and a few U-Boot BSP workarounds that go away with mainline U-Boot. Coming next: a ready-to-flash Debian 13 (Trixie) image with accelerated Panfrost and KDE Plasma on Wayland — I'll share it in this thread once it's had a bit more soak testing. Happy to open a PR against armbian/build (sun55iw3 family) with the board dts + defconfig + patches if there's interest. Feedback and testers welcome! Credits: minimyth2 / Justin Suess for the H728 display groundwork, and the linux-sunxi community. Cheers.
-
🏆 Become a sponsor, help to add other boards in armbian standart, you don't need to be a programmer to help the community, just need a copy of the ARM BOARD and a x86 computer to compile new versions. If you like what you see here and want to help: Donate Armbian the like button only costs a few dollars. This Armbian adventure was summarized in my Public Github Repository. H96 MAX V56 RK3566 8gb EMMC Ning Mainline Kernel: Armbian EMMC official image Armbian Desktop Gnome kernel The Latest official Debian BookWorm Server Kernel Minimal The Latest official Software description: V0.5 = @armbian The Armbian SD card image "Compiled From Armbian Project" V0.8 = @hzdm Project with Mainline Bootloader "Boot the 64gb Emmc Armbian with Mainline Rockchip" V0.9 = @hzdm Release Mainline Bootloader "Boot the 32gb and 64gb Emmc Armbian with Mainline Rockchip" V1.0 = @hotnikq The Armbian SD card inside the Android Legacy Rockchip Image "Two Original Glued Images: Android boot for Linux" V1.2 = @ning Release Device Tree and Bootloader to longterm 6.6.27 Kernel "Boot with Mainline Rockchip" V1.3 = @Hqnicolas Github PR Enable h96 Rk3566 TV-Box device for Kernel 6.8 V1.4 = @pocosparc Github PR Enable OpenVFD and IR controller V1.5 = @dfahren Github PR Update U-boot 2025.01 for Kernel 6.12+ @fevangelou Linux Flash Tutorial @WINEDS Build Armbian for Maxios Lan Chip Board unofficial images: Edge: [Link] Desktop Resolute Server Resolute Server Trixie Current: [Link] Desktop Resolute Server Resolute Server Trixie How to Flash it: [Link] Emmc Video drivers: https://developer.arm.com/downloads/-/mali-drivers/bifrost-kernel https://docs.mesa3d.org/download.html https://docs.mesa3d.org/drivers/panfrost.html Wifi Driver: https://drive.google.com/file/d/1B1LmAylalETcnBEWiPiJHL0MjK5xlIV4/view?usp=sharing For Boards Newer than 2025: Follow @WINEDS method to compile Armbian with the ethernet and wifi drivers Front Panel Display: Tutorial Repo: https://github.com/jefflessard/tm16xx-display UEFI: https://github.com/hqnicolas/h96v56_uefi/releases/tag/v1.2.1 Or Just Live install Wifi Driver: cd /lib/firmware/brcm/ sudo wget https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/raw/master/firmware/brcm/fw_bcm4335b0_ag.bin sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin sudo reboot now nmcli dev wifi sudo rmmod brcmfmac_wcc brcmfmac brcmutil modprobe brcmfmac Topic description: This topic aims to demonstrate the path taken to the Armibian EMMC solution. In our path we create a lot of ready-to-use ROM files, some users burn an use this images without learning with the Linux compilation process. the name of the topic is efforts but that's no effort at all, you should try compile your own images. Device Capability Test: Using Rockchip SoCs NPU. Drivers: https://github.com/rockchip-linux/rknpu2 User Guide: https://github.com/rockchip-linux/rknpu2/blob/master/doc/Rockchip_RKNPU_User_Guide_RKNN_API_V1.4.0_EN.pdf OpenCV: https://opencv.org/blog/2022/11/29/working-with-neural-processing-units-npus-using-opencv/ A discussion on Reddit: https://www.reddit.com/r/OrangePI/comments/12b3jmj/accessing_the_npu_on_the_orange_pi/ Transformers models: https://github.com/usefulsensors/useful-transformers Usage: https://www.crowdsupply.com/useful-sensors/ai-in-a-box/ Usage: https://youtu.be/pN8mKZ5wpdQ
-
On RK3568 the Panfrost driver needs the clk-scmi kernel module to be loaded. But is not build in 6.18 / 6.19 otherwise we get [ 13.370681] panfrost fde60000.gpu: get clock failed -517 [ 13.370717] panfrost fde60000.gpu: clk init failed -517 [ 13.485723] panfrost fde60000.gpu: get clock failed -517 [ 13.485761] panfrost fde60000.gpu: clk init failed -517 [ 13.503876] panfrost fde60000.gpu: get clock failed -517 [ 13.503918] panfrost fde60000.gpu: clk init failed -517 Thanks !
-
Hello, this quick tutorial is to introduce an experimental Debian and Ubuntu APT repository to install ffmpeg compiled with v4l2request and v4l2drmprime patches developed by Linux kernel, LIbreELEC and Kodi folks to allow hardware video decoding on stateless decoders like those implemented in Rockchip and Allwinner SoCs for h.264, h.265, vp8 and vp9 codecs. The repository introduces a new ffmpeg package that integrates and substitues the base ffmpeg package and its related packages. Preconditions: Mainline kernel 6.1 or more recent armhf or arm64 architecture Supported distributions: Debian 12 - Bookworm Debian 13 - Trixie (unsuggested: ffmpeg works, mpv doesn't) Ubuntu 22.04 - Jammy Ubuntu 24.04 - Noble Rockchip and Allwinner have already been tested, but this should work on other platforms with stateless decoders supported in kernel APT REPOSITORY SETUP To install the repository, just copy and paste the lines in a terminal: $ sudo wget http://apt.undo.it:7242/apt.undo.it.asc -O /etc/apt/trusted.gpg.d/apt.undo.it.asc $ . /etc/os-release && echo "deb http://apt.undo.it:7242 $VERSION_CODENAME main" | sudo tee /etc/apt/sources.list.d/apt.undo.it.list $ echo -e "Package: *\nPin: release o=apt.undo.it\nPin-Priority: 600" | sudo tee /etc/apt/preferences.d/apt-undo-it INSTALL FFMPEG AND MPV PACKAGES $ sudo apt update $ sudo apt install ffmpeg mpv SETUP MPV CONFIG FILE $ sudo mkdir -p /etc/mpv $ echo -e "hwdec=drm\ndrm-drmprime-video-plane=primary\ndrm-draw-plane=overlay" | sudo tee /etc/mpv/mpv.conf You can now play your videos using mpv and they should run with hardware decoding if supported, either in virtual terminals or in X11/Wayland windows! Enjoy! Notes: your mileage may vary a lot: the more recent is the kernel version, the better is support (you may need edge kernel) bug: when rendered in X11/Wayland window, video may show scattered tiles during frames bug: Lima driver (Mali 400/450) shows a red/pink tint when video is played in X11/Wayland (see https://github.com/mpv-player/mpv/issues/12968) (workaround below: https://forum.armbian.com/topic/32449-repository-for-v4l2request-hardware-video-decoding-rockchip-allwinner/?do=findComment&comment=177968) you may want to add --gpu-hwdec-interop=drmprime-overlay to the mpv command line if used in pure virtual terminal (no X, no Wayland) to use direct-to-overlay output Panfrost driver should work flawlessy 10 bit HEVC are generally supported on all Rockchip devices (rk322x, rk3288, rk33x8, rk3399), but Allwinner H3 have no hardware support for that
-
Patched the .dtb for v6.1, currently not yet in final format. I will probably create a commit to Armbian with a .dts for our board. I am attaching the dtb/dts just to keep track of the progress. Here are results of the RKNN test launch: rknn_api/rknnrt version: 2.3.2 (429f97ae6b@2025-04-09T09:09:27), driver version: 0.9.8 model input num: 1, output num: 1 input tensors: index=0, name=input, n_dims=4, dims=[1, 224, 224, 3], n_elems=150528, size=150528, fmt=NHWC, type=INT8, qnt_type=AFFINE, zp=0, scale=0.007812 output tensors: index=0, name=MobilenetV1/Predictions/Reshape_1, n_dims=2, dims=[1, 1001, 0, 0], n_elems=1001, size=2002, fmt=UNDEFINED, type=FP16, qnt_type=AFFINE, zp=0, scale=1.000000 custom string: Begin perf ... 0: Elapse Time = 8.06ms, FPS = 124.12 ---- Top5 ---- 0.935059 - 156 0.057037 - 155 0.003881 - 205 0.003119 - 284 0.000172 - 285 So: CPU: OK GPU: OK via Panfrost NPU: OK, RKNN inference works on RKNPU rk3566-box-X88PRO20-npu.dtb rk3566-box-X88PRO20-npu.dts
-
I have an x92 box with Amlogic Meson GXM (S912). The SOC has a Mali-T820 GPU, and the box has 2 GB of RAM and 16 GB of eMMC. I'm running Armbian 25.11.2 noble on it. While using the Wayfire Wayland GUI, there is a lot of kernel output like this, constantly repeating: panfrost d00c0000.gpu: shader power transition timeout panfrost d00c0000.gpu: tiler power transition timeout panfrost d00c0000.gpu: l2 power transition timeout The GUI works, and hardware 3D acceleration works. But it would be nice to get this spam out of the logs, and I also wonder if there is really some problem. Like, maybe the kernel doesn't know how to change GPU voltages. Maybe it is related to this at boot, maybe due to an issue with the device tree. kernel: panfrost d00c0000.gpu: error -ENODEV: _opp_set_regulators: no regulator (mali) found The only other sign of something being possibly wrong is that SOC temperature goes surprisingly high when playing hardware accelerated video. That ought to be energy efficient. I'm running Mopidy and Firefox at 53°C and just playing a video can get it to 70°C. It is possible to make these errors go away via: echo on | sudo tee /sys/bus/platform/devices/d00c0000.gpu/power/control I don't know if changing that from auto to on will increase power consumption. Alternatively I tried to add a dummy regulator to the device tree and set mali-supply of the GPU to that regulator. Adding the dummy regulator only removes this single error at boot time: panfrost d00c0000.gpu: error -ENODEV: _opp_set_regulators: no regulator (mali) found The power domain picture of the S912 datasheet shows a VDD_EE (Everything Else) input to the chip from an external PMIC, and then 3 components in the GPU, each with individual switches to VDD_EE. The 3 components are: GP0+L2C_0, PP0+L2C_1 and PP1. I suppose they correspond to the 3 types of power timeout errors, though I'm not sure which is which. This seems to show that there is no possibility for voltage scaling for individual GPU parts or even the whole GPU, without actually changing VDD_EE and everything else it powers. So, probably all the GPU driver needs to know is how to flip those three switches.
-
🏆 help to add other boards in armbian standart, you don't need to be a programmer to help the community, just need a copy of the ARM BOARD and a x86 computer to compile new versions. If you like what you see here and want to help: Donate Armbian, the like button only costs a few dollars. Armbian Needs you help! This Armbian adventure was summarized in my Public Github Repository. EMMC Mainline Boot Latest official images: Armbian EMMC image official Armbian Desktop Gnome Latest official Debian BookWorm Server Minimal Latest official H96 MAX V56 RK3566 8gb Vendor Kernel 5.1.16 Tutorial Build Your own Armbian Rockchip Kernel vendor Kernel 5.1.16 Armbian Joshua Riek Ubuntu Rockchip Images kernel 5.1 H96 MAX V56 RK3566 8gb Vendor Kernel 6.1.43 Tutorial Build Your own Armbian Rockchip Kernel vendor Kernel 6.1.43 Armbian Joshua Riek Ubuntu Rockchip Images Kernel 6.1 H96 MAX V56 RK3566 Desktop Mainline Kernel 6.6.34 Pre-Build Desktop 22.04 Armbian Test Image (PT-BR) unofficial images: Edge: [Link] Desktop Resolute Server Resolute Server Trixie Current: [Link] Desktop Resolute Server Resolute Server Trixie How to Flash it: [Link] Emmc SD-Card unofficial images: Tutorial SD-Card Version v0.5 DEBIAN12 BETA unofficial Tutorial SD-Card Version v0.5 ARMBIAN23 BETA unofficial EMMC unofficial images: Tutorial MMC Version V0.7 DEBIAN12 BETA unofficial Tutorial MMC Version V0.7 ARMBIAN23 BETA unofficial EMMC HZDM unofficial images: Tutorial EMMC Version v0.9 ARMBIAN BETA unofficial EMMC unofficial images: Tutorial EMMC Version v1.0 ARMBIAN unofficial EMMC Hzdm Mainline Boot Custom unofficial images: Tutorial Build Your own Armbian EMMC image unofficial EMMC Raspiblitz HotnikQ unofficial images: Tutorial Build Raspiblitz on EMMC Armbian Bullseye unofficial EMMC Hzdm Mainline Boot unofficial images: Tutorial Build Your own Armbian EMMC image unofficial Community Official Images: From @fevangelou Tutorial Flash on linux desktop Software description: V0.5 = @armbian The Armbian SD card image "Compiled From Armbian Project" V0.8 = @hzdm Project with Mainline Bootloader "Boot the 64gb Emmc Armbian with Mainline Rockchip" V0.9 = @hzdm Release Mainline Bootloader "Boot the 32gb and 64gb Emmc Armbian with Mainline Rockchip" V1.0 = @hotnikq The Armbian SD card inside the Android Legacy Rockchip Image "Glued Image: Android boot for Linux" V1.2 = @ning Release Device Tree and Bootloader to longterm 6.6.27 Kernel "Boot with Mainline Rockchip" V1.3 = @Hqnicolas Github PR Enable h96 Rk3566 TV-Box device for Kernel 6.8 V1.4 = @pocosparc Github PR Enable h96 Rk3566 TV-Box OpenVFD and IR controller V1.5 = @dfahren Github PR Update U-boot 2025.01 for Kernel 6.12+ @fevangelou Linux Flash Tutorial @WINEDS Build Armbian for Maxios Lan Chip Board Video drivers: https://developer.arm.com/downloads/-/mali-drivers/bifrost-kernel https://docs.mesa3d.org/download.html https://docs.mesa3d.org/drivers/panfrost.html Wifi Drivers: https://drive.google.com/file/d/1B1LmAylalETcnBEWiPiJHL0MjK5xlIV4/view?usp=sharing Front Panel Display: Tutorial Repo:https://github.com/jefflessard/tm16xx-display UEFI: https://github.com/hqnicolas/h96v56_uefi/releases/tag/v1.2.1 Or Just Live install Wifi Driver: cd /lib/firmware/brcm/ sudo wget https://github.com/LibreELEC/brcmfmac_sdio-firmware/raw/master/BCM4335A0.hcd sudo wget https://github.com/CoreELEC/brcmfmac_sdio-firmware-aml/raw/master/firmware/brcm/fw_bcm4335b0_ag.bin sudo ln -s fw_bcm4335b0_ag.bin brcmfmac4335-sdio.h96-TVbox,rk3566.bin sudo reboot now nmcli dev wifi sudo rmmod brcmfmac_wcc brcmfmac brcmutil modprobe brcmfmac Topic description: This topic aims to demonstrate the path taken to the Armibian EMMC solution. In our path we create a lot of ready-to-use ROM files, some users burn an use this images without learning with the Linux compilation process. the name of the topic is efforts but that's no effort at all, you should try compile your own images. Device Capability Test: Using Rockchip SoCs NPU. Drivers: https://github.com/rockchip-linux/rknpu2 User Guide: https://github.com/rockchip-linux/rknpu2/blob/master/doc/Rockchip_RKNPU_User_Guide_RKNN_API_V1.4.0_EN.pdf OpenCV: https://opencv.org/blog/2022/11/29/working-with-neural-processing-units-npus-using-opencv/ A discussion on Reddit: https://www.reddit.com/r/OrangePI/comments/12b3jmj/accessing_the_npu_on_the_orange_pi/ Transformers models: https://github.com/usefulsensors/useful-transformers Usage: https://www.crowdsupply.com/useful-sensors/ai-in-a-box/ Usage: https://youtu.be/pN8mKZ5wpdQ
-
Hi Guys, I just did a new custom Armbian build ./compile.sh BOARD=orangepi5-plus BRANCH=vendor RELEASE=noble KERNEL_ONLY=yes KERNEL_CONFIGURE=no. The image is Armbian-unofficial_25.11.0-trunk_Orangepi5-plus_noble_vendor_6.1.115_cinnamon_desktop and when I installed it on orangepi I see it is not supporting Panfrost/Mail: glxinfo | grep -E "OpenGL renderer|OpenGL version" OpenGL renderer string: llvmpipe (LLVM 20.1.2, 128 bits) OpenGL version string: 4.5 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.2 but for older image Old_Armbian-unofficial_25.08.0-trunk_Orangepi5-plus_noble_vendor_6.1.115_cinnamon_desktop All was well glxinfo | grep -E "OpenGL renderer|OpenGL version" OpenGL renderer string: Mali-G610 (Panfrost) OpenGL version string: 3.1 Mesa 25.0.7-0ubuntu0.24.04.2 I did need to enable "ARM Mail Display Processor" under Device Drivers -> Graphics support -> ARM devices before I perform custom build. And I did this for both OS version 25.11.0 and 25.08.0. But newer version is not able to use it. Thanks Manish
-
Bleedingedge Kernel 7.1 rc2 fixed it [ 12.686942] panfrost fde60000.gpu: clock rate = 594000000 [ 12.686994] panfrost fde60000.gpu: bus_clock rate = 500000000 [ 12.710029] panfrost fde60000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status 0x0 [ 12.710053] panfrost fde60000.gpu: features: 00000000,00000df7, issues: 00000000,00000400 [ 12.710062] panfrost fde60000.gpu: Features: L2:0x07110206 Shader:0x00000002 Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7 [ 12.710070] panfrost fde60000.gpu: shader_present=0x1 l2_present=0x1
-
Hi Guys, I just did a new custom Armbian build ./compile.sh BOARD=orangepi5-plus BRANCH=vendor RELEASE=noble KERNEL_ONLY=yes KERNEL_CONFIGURE=no. The image is Armbian-unofficial_25.11.0-trunk_Orangepi5-plus_noble_vendor_6.1.115_cinnamon_desktop and when I installed it on orangepi I see it is not supporting Panfrost/Mail: glxinfo | grep -E "OpenGL renderer|OpenGL version" OpenGL renderer string: llvmpipe (LLVM 20.1.2, 128 bits) OpenGL version string: 4.5 (Compatibility Profile) Mesa 25.0.7-0ubuntu0.24.04.2 but for older image Old_Armbian-unofficial_25.08.0-trunk_Orangepi5-plus_noble_vendor_6.1.115_cinnamon_desktop All was well glxinfo | grep -E "OpenGL renderer|OpenGL version" OpenGL renderer string: Mali-G610 (Panfrost) OpenGL version string: 3.1 Mesa 25.0.7-0ubuntu0.24.04.2 I did need to enable "ARM Mail Display Processor" under Device Drivers -> Graphics support -> ARM devices before I perform custom build. And I did this for both OS version 25.11.0 and 25.08.0. But newer version is not able to use it. Thanks Manish
-
Video here: https://drive.google.com/file/d/1kv2QVMMgRizKrjZIGVVMYK3QxkswTA9K/view?usp=sharing Hi there, I have the following stack: Model: ROC-RK3588S-PC V12 (Linux) SoC: Rockchip RK3588 GPU: Mali-G610 (Panfrost/Panfork) Kernel: 6.1.0-1025-rockchip OS: Ubuntu 24.04.1 LTS (Joshua-Riek image v2.4.0) Mesa: Panfork 23.0.5 (git221210 — December 2022) Chromium: 114.0.5735.35 (rkmpp7 from jjriek/rockchip-multimedia PPA) Display: HDMI-1, 1920x1080@60Hz The problem: I'm running a kiosk application in Chromium that plays video fullscreen. The display is physically mounted in portrait mode (9:16), so I need to rotate the output 270°. When rotation is applied, a visible vertical line artifact appears running from top to bottom, approximately 5cm from the right edge of the screen. Without rotation, the image is perfectly clean — no artifacts at all. What I've tried (all failed to fix the issue): CSS rotation (current method): Using transform: rotate(270deg) on the body element. The line artifact appears consistently. xrandr rotation: xrandr --output HDMI-1 --rotate left — same vertical line artifact appears. Kernel DRM rotation: Added video=HDMI-A-1:1920x1080@60,rotate=270 to kernel cmdline in extlinux.conf. Parameter is visible in /proc/cmdline but has no effect — Rockchip DRM driver does not support the rotate parameter. Chromium flags (tested individually and in combinations): --disable-gpu-compositing — moved the line to the center of the screen --disable-gpu-rasterization / --disable-gpu-vsync — made it worse --use-gl=egl — no effect --enable-gpu-rasterization --enable-zero-copy — no effect --default-tile-width=1920 --default-tile-height=1080 — no effect --gpu-rasterization-msaa-sample-count=0 — no effect --force-device-scale-factor=1 — no effect --use-gl=angle --use-angle=gles-egl --use-cmd-decoder=passthrough — crashed Chromium CSS GPU optimization properties: Tested translateZ(0), backface-visibility: hidden, will-change: transform on the rotation container — no effect on the artifact. Chromium 132 upgrade: Installed chromium 132.0.6834.159-1~deb12u1+rkmpp from liujianfeng1994/chromium PPA. The vertical line remained, and video playback became unstable (freezing). Reverted to Chromium 114. Mesa upgrade to Ubuntu noble-updates 25.2.8: Removed Panfork PPA and installed standard Ubuntu Mesa 25.2.8. GPU fell back to llvmpipe (software rendering) — no Panfrost support for Mali-G610 in standard Mesa. Display showed tearing in the center. Reverted to Panfork 23.0.5. Conclusion: The artifact appears with any rotation method (CSS, xrandr, kernel) and persists across Chromium versions and various GPU flags. This strongly suggests the issue is in the Panfork Mesa / Panfrost compositing layer when handling rotated output on Mali-G610. Has anyone encountered this issue? Is there a known fix or workaround? Would upgrading to Panthor (with kernel 6.10+ or the 6.1 backport) potentially resolve this? Any help would be greatly appreciated.
-
Hello, I am trying to enable Panfrost GPU acceleration on a new Armsom Sige5 board running the latest edge kernel (6.1.115), but glxinfo -B still shows llvmpipe. I have been troubleshooting this for some time and have discovered that the kernel module (panfrost.ko) loads correctly with modprobe, but it is not binding to the GPU hardware on boot. I believe I have found the reason why. A recent commit to the Armbian build system (https://github.com/armbian/build/commit/836def3d11699537e6289dedfbc766c2050d422d) changes the method for enabling Panfrost. It removes the panfrost overlay and adds KERNEL_TARGET_CONFIG="panfrost-all" instead. It appears that the current edge kernel available through armbian-config does not yet include this essential fix. Can you please advise when a kernel with this change will be available for download, or if there is a manual way I can apply this fix? Thank you.
-
As title says. Here's the bash script I use to download the dependencies and compile the latest mesa: https://pastebin.com/1n7Sv0dZ How /boot/*Env* looks like right now: https://pastebin.com/mUqHs14Y And the error message I get when I try to run sway goes as follows: MESA: error: ZINK: failed to choose pdev libEGL warning: egl: failed to create dri2 screen [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen" MESA: error: ZINK: failed to choose pdev libEGL warning: egl: failed to create dri2 screen [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen" [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to load driver" [wlr] [EGL] command: eglInitialize, error: EGL_NOT_INITIALIZED (0x3001), message: "eglInitialize" [wlr] [render/egl.c:268] Failed to initialize EGL [wlr] [render/egl.c:571] Failed to initialize EGL context [wlr] [render/gles2/renderer.c:499] Could not initialize EGL [wlr] [render/wlr_renderer.c:272] Could not initialize renderer [sway/server.c:236] Failed to create renderer Oddly enough, "eglinfo -B" shows that everything is fine: https://pastebin.com/6k05DcAS How my .bashrc looks like right now: https://pastebin.com/3W7Qib6U I've tried copying the firmware in (with "cd /lib/firmware sudo wget https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin sudo chmod 644 mali_csffw.bin"), forcing "card0" to be used with the env. value WLR_DRM_DEVICES=/dev/dri/card0, and panfrost with "MESA_LOADER_DRIVER_OVERRIDE=panfrost" and "GALLIUM_DRIVER=panfrost" but none of those options helped. I also added my user to "render" and "video" (with sudo usermod -aG video $USER and sudo usermod -aG render $USER), which also didn't do me any good. I also manually removed any trace of panfrost that was left into the system and reinstalled with "libgl1-mesa-dri" and manually compiling everything in again...and it also didn't worked. I don't know what else I should do, and I'm in the verge of reinstalling everything back in. Please help me. And thanks for reading.
-
The Mesa 25.2 release introduces support for AFBC compressed YUV textures in the Panfrost driver for ARM Mali GPUs, enabling more efficient memory bandwidth and power usage in video playback and real-time texture processing. View the full article
-
Hello, i am new here, an experienced back-end developer from Hungary, and my hobby is mostly doing some IOT stuff in my free-time. I'm big fun of the Armbian project a long time and checking its progress time to time cos its seems perfect for IOT usage and the NanoPi R3S was specially chosen by me for my ongoing project because of the Platinum support of the product as it seemed to be perfect fit with good enough video support to make IOT server with remote app for admin functions. Sadly as it seems the hardware acceleration is not supported i guess because there is no HDMI port on the product but with Panfrost + VirtualGL it could be a capable remote desktop solution and i have checked that on "BigTreeTech CB2" its already there so that could be added for that as well. For me it would be enough if i get some help to add that to the build script for only me for now! But maybe there are other people who could have good use of some kind of remote desktop solution for an app or a whole desktop. I almost got it working with the official driver but it is not possible sadly without forking VirtualGL to make it compatible with the gl4es faker, and also that limits to OpenGL 2.X apps only so with Panfrost (3.1) could much better and it won't need the faker either. Update: I have the non LTS version cos that's the only one i was able to buy but i just checked the LTS version which is the Platinum support for and it has HDMI so it could be useful even more.
-
Gaming experience with Orange Pi 5 (RK3588) on Armbian
KhanhDTP replied to KhanhDTP's topic in Orange Pi 5
@xiboliyadongtu Your log seems normal. The problem is that the game is ~100Gb. I don't have that much free disk space to try. It looks like the game is running, but it's just not using the proper GPU renderer. By default, it will use the WineD3D renderer on top of OpenGL (panfrost). 1) You can try Zink by setting those vars: 2) Try Dxvk-stripped: Download Dxvk-stripped here: https://github.com/khanh-it/dxvk/releases/download/releases/dxvk-v1.6.1-stripped-msvc-output.zip and copy the files x64/d3d11.dll, x64/dxgi.dll to the game's folder (/media/xiboliyadongtu/固态/BlackDesert/) setting those vars: Start the game, and see how it goes?! -
The Rock-s0 has the same rk3308b processor and the build uses a BL31binary, with u-boot. The SV06Ace has the same cpu and BL31/u-boot. I reviewed this thread and was trying to follow the example commit provided. It is a little difficult to work through a commit as not all of the paths to the files are present in my depth=1 git clone. Is it possible to download the commit for the Rock-s0 and use it to patch the build directory? If I could run the patch, then I would have some actual files to copy and edit. The maintainer of the Rock-s0, linked on the Armbian Info page for the s0 has not made any recent commits. The last Rock-s0 commit was where it was moved back to an older bootloader scheme. # Rockchip RK3308 quad core 512MB SoC WiFi BOARD_NAME="SV06 Ace" BOARD_VENDOR="sovol" BOARDFAMILY="rockchip64" BOARD_MAINTAINER="shep" BOOTCONFIG="sv06ace-rk3308_defconfig" BOOT_FDT_FILE="rockchip/sv06ace.dtb" KERNEL_TARGET="current" KERNEL_TEST_TARGET="current" DEFAULT_CONSOLE="serial" SERIALCON="ttyS0" MODULES_BLACKLIST="rockchipdrm analogix_dp dw_mipi_dsi dw_hdmi gpu_sched lima hantro_vpu panfrost" HAS_VIDEO_OUTPUT="no" BOOTBRANCH_BOARD="tag:v2024.10" BOOTPATCHDIR="v2024.10" BOOT_SCENARIO="binman" DDR_BLOB="rk33/rk3308_ddr_589MHz_uart0_m0_v2.07.bin" BL31_BLOB="rk33/rk3308_bl31_v2.26.elf" FORCE_UBOOT_UPDATE="yes" OVERLAY_PREFIX="rk3308" function post_family_config__rocks0() { declare -g BOOTDIR="u-boot-${BOARD}" declare -g BOOTSCRIPT="boot-rockchip64-ttyS0.cmd:boot.cmd" family_tweaks_bsp() { #overrides rockchip64_common.inc #Install udev script that derives fixed, unique MAC addresses for net interfaces #that are assigned random ones bsp=$SRC/packages/bsp/rockpis rules=etc/udev/rules.d Specifically, where are following files, referenced in /build/boards/*.csc located? BOOTCONFIG=*.defconfig" BOOT_FDT_FILE="*.dtb" The declared boot scripts Thanks
-
A bit more info. I updated the mesa drivers with backport drivers to 25.0.7. Now videos outside of the ranges I listed earlier produce an error when trying to play with mpv. Mesa: error: panfrost: rejecting image due to unsupported offset or stride alignment Of course googling that error comes up with nada. All videos inside the ranges continue to play fine. If I scale the video down (from 706x480 to 704x480) when encoding to bring it within the working ranges. ffmpeg -hwaccel drm -hwaccel_device /dev/dri/renderD128 -i "input.mkv" -pix_fmt yuv420p -vf scale=704x480 "output.mkv" The video will play in mpv but still has the green/purple issue. This command produces a playable video with no green/purple issue ffmpeg -i "input.mkv" -vf scale=704x480 "output.mkv" Whatever the issue seems to be effecting both ffmpeg and mpv with certain video widths. Fmmpeg is outputting video with screwed up colours and mpv causes a driver error. mpv uses ffmpeg under the hood so it makes sense it's effecting both of them. I don't suppose anyone using this repository with a mali-g31 gpu could try and play a 706x480 file to see if it works ok and confirm I'm not crazy? You need to make sure it says "Using hardware decoding (drm)" in the terminal when mpv is launched. I guess there is a chance it's just a driver issue and not related to this repository at all.
-
Hello everyone, I have a Lemfo H96 Max V56 (8GB RAM / 64GB eMMC). Board PCB Version: HCY RK3566 - 1X32 - V13 - 2021-03-27 I am relatively new to the Linux world. So far, the only image I have managed to flash and boot successfully is an old Linaro Debian 10 (vendor image from 2019). However, this version lacks hardware acceleration (it runs on llvmpipe), which makes it unusable for my specific needs. My Goal: I want to run a modern Linux with a Desktop environment to use PortMaster and RetroArch. For this, I critically need a system with working Panfrost/Mali GPU drivers. The Problem: I have read through this thread, but I am finding it quite confusing to pinpoint exactly where to start given the various methods (Legacy vs Mainline/Chainloader). Also, it seems some file links are dead or pointing to empty repositories. Request: Could someone please guide me to the correct/updated files for my specific 8GB board? The correct MiniLoader/SPL (.bin) for RKDevTool. A working Desktop Image (.img) (Armbian Bookworm or Ubuntu) that supports GPU acceleration. I am already comfortable using RKDevTool and putting the device into Maskrom mode, so I just need the correct file set to avoid bricking the device. Thanks in advance for any help!
-
Gaming experience with Orange Pi 5 (RK3588) on Armbian
KhanhDTP replied to KhanhDTP's topic in Orange Pi 5
I understand now, because the x86/FarmingSimulatorGame2017.exe file forces the use of the OpenGL renderer. Both full-screen and windowed modes are working normally for me. Armbian 25.11.2 Noble XFCE (BSP Kernel: 6.1.115) + PanVk - mesa 26.0 (https://launchpad.net/~ernstp/+archive/ubuntu/mesaaco) + Box64 arm64 v0.4.1 1aed7e028 (https://ryanfortner.github.io/box64-debs/) + proton-10.0-3-amd64-wow64 (https://github.com/Kron4ek/Wine-Builds/releases/download/proton-10.0-3/wine-proton-10.0-3-amd64-wow64.tar.xz) + OpenGL (Panfrost) -
Efforts to develop firmware for H96 MAX M9 RK3576 TV Box 8G/128G
a.ni replied to Hqnicolas's topic in Rockchip CPU Boxes
I've made some improvements of .dts for H96 MAX M9S, tested on Linux version 6.19.0-edge-rockchip64 (build@armbian) What's new: GPU working USB 3.0 mode working Currently working: both USB ports, incl. USB 3.0 mode GPU (using Panfrost driver) HDMI (audio+video) Ethernet port Wifi (using aic8800 DKMS drivers provided by https://github.com/radxa-pkg/aic8800/releases) Leds Not working: NPU Bluetooth S/PDIF rk3576-evb1-v10-main-h96-v5.dts dmesg-19.0.txt -
DISCLAIMER (PLEASE READ): everything you can find in this thread (binaries, texts, code snippets, etc...) are provided AS-IS and are not part of official Armbian project. For this reason not people from Armbian project nor myself are responsible for misuse or loss of functionality of hardware. Please don't ask about support or assistance in other non-community forums nor in the official Armbian github repository, instead post your questions in this thread, in the TV Boxes forum section (hardware related) or in the Peer-to-peer support section (general linux/software related). Thank you! This is CSC Armbian for XT-Q8L-V10 boards, also known as Chiptrip Q8, Vsmart Q8, ENY 3288 Q8, etc... All source code has been merged into Armbian mainline project. I still keep my personal public Armbian fork for experimental features: https://github.com/paolosabatino/armbian-build Nightly images: download directory Quick installation instructions on eMMC: Build or download your preferred Armbian image from Download directory and a copy of the Multitool; Burn the Multitool on an SD card; once done, place the Armbian image in images folder of the SD card NTFS partition; Plug the SD card in the TV box and plug in the power cord. After some seconds the blue led starts blinking and the Multitool appears; OPTIONAL: you can do a backup of the existing firmware with "Backup flash" menu option; Choose "Burn image to flash" from the menu, then select the destination device (usually mmcblk2) and the image to burn; Wait for the process to complete, then choose "Shutdown" from main menu; Unplug the sd card, then push the power button for 1 second (the led will turn blue) After 10 seconds HDMI will turn on and you will get logging messages; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Boot from SD Card/USB stick (with Armbian already installed in eMMC, empty eMMC or no eMMC😞 Build or download your preferred Armbian image from Download directory; Burn the image on your SD card/USB stick; Plug the SD card/USB stick in the device; Push the power button for 1 second (the led will turn blue); After 10 seconds HDMI will turn on and you will get logging messages; On first boot you will be asked for entering a password for root user of your choice and the name and password for a regular user Run armbian-config to configure timezone, locales and other personal options Congratulations, Armbian is now installed! Boot from SD Card/USB stick (with original firmware or other firmware): In case your box has the original firmware installed, use the Multitool to erase the internal flash. Don't worry, you will not brick your box: once the eMMC is emptied, the box will automatically boot from SD Card. This is called Maskrom mode and is common to all Rockchip devices. Instructions and download links for the Multitool are at the bottom of this post. After erasing the internal eMMC, just follow the "Boot from SD Card" procedure above and then you are fine. Boot priority: Newer images (those with mainline kernel >= 4.14.50) now support booting from multiple devices. Priority is fixed and boot devices are probed in this order: External SD card External USB storage device (Any USB Stick/Hard drive attached to USB host ports) Internal eMMC This way even if you install armbian to internal eMMC, you can still easily test different images booting from external devices. Experts notes: when armbian is installed into eMMC you get U-boot installed too in eMMC. This is important to know because the box won't boot in Maskrom Mode, but instead will always boot the embedded U-boot, no matter if you put an sdcard/usb stick. In practice the embedded U-boot is totally responsible for the boot priority. If you want to restore the Maskrom Mode, just erase U-boot from eMMC using this command: dd if=/dev/zero of=/dev/mmcblk2 seek=64 count=8128 conv=sync,fsync Current status: Wireless: works. pretty fast and stable, signal is strong on my box; Bluetooth: works. I was able to transfer files and stream audio without problems USB ports: works, with autosuspend too. A quick benchmark show that transfer rate is quite good (topped at 34 MB/s) USB OTG: works in host mode. Transfer rate is very good (> 40 MB/s) MMC: works and is perfectly accessible as storage device. The images above with "eMMC friendly" have been tested and work when installed in eMMC using the standard armbian-config eMMC installer SDCard: works. legacy kernel is limited to high speed, while mainline works fine in UHS mode too. A quick benchmark with a Samsung EVO card shows the promised 48Mb/s read speed. Gigabit Ethernet: works, fast and reliably HDMI: works perfectly Serial: works Audio: both HDMI audio and SPDIF connector works IR remote: works on legacy and mainline kernels Reboot/Suspend process: rebooting the device is a working in progress, at the moment sometimes it works and sometimes it doesn't. Suspend is still not available. Hardware acceleration: everything which works for rk3288 boards applies here too. This guide or maybe the Media Testing Script will help you gain an hardware accelerated X11 and Chromium (using GL4ES I enjoyed Quake 2 from the start till the end, but also Quake and Quake III Arena work flawlessy, here a quick how-to to compile and install GL4ES) Multimedia: On mainline kernel 3D acceleration is provided by Panfrost driver and is already enabled. Hardware video decoding: https://forum.armbian.com/topic/19258-testing-hardware-video-decoding-rockchip-allwinner/ Multitool: The Multitool is a small but powerful tool to easy operate on internal eMMC flash of RK3288 devices. Features: Backup the content of internal eMMC Restore a previously backed-up image to eMMC Erase the eMMC (via fast blkdiscard or zero-fill as fallback) Burn an Armbian (or LibreELEC) image directly on the eMMC Provide a recovery shell for manual maintenance Windows-friendly: everything is placed in a NTFS partition Image compression format autodetection: they are decompressed on-the-fly during burn process Network support for remote maintenance via SSH (instructions to access via network here) Instructions are simple: Download the image from here Burn it on an sdcard Open the NTFS partition with your preferred file manager Place the images you want to burn on the device in images directory (backups will be stored in backups directory) Plug the sd card in the RK3288 device Power the device and wait few seconds, the Multitool menu will appear on screen and can be navigated with the keyboard Last edit: 07/06/2020 - updated installation instructions
