

hartraft
-
Posts
15 -
Joined
-
Last visited
Reputation Activity
-
hartraft got a reaction from gprovost in Does anyone actually have a stable system?
My system has been "stable" running the LK 5.9. I updated to 5.10 in the past but had issues with stability under small load, not rebooting through omv etc. so I went back to the previous version.
Running MergerFS / SnapRAID / LUKS on Seagate Ironwolves with the 1.2ghz frequency
$ uname - a
Linux helios64 5.9.14-rockchip64 #20.11.3 SMP PREEMPT Fri Dec 11 20:50:18 CET 2020 aarch64 GNU/Linux
$ uptime
20:25:53 up 67 days, 19:23, 2 users, load average: 0.08, 0.12, 0.12
I'm sticking with this until things get clearer but would like to get full use of my NAS hardware...
-
hartraft reacted to aprayoga in SATA issue, drive resets: ataX.00: failed command: READ FPDMA QUEUED
Hi all, you could download the SATA firmware update at https://cdn-kobol-io.s3-ap-southeast-1.amazonaws.com/Helios64/SATA_FW/Helios64_SATA_FW_update_00021_200624.img.xz
Instruction:
1. Download the sd card image
2. Flash the image into a microSD card
3. Insert microSD card into Helios64 and power on. Helios64 should automatically boot from microSD. If Helios64 still boot from eMMC, disable the eMMC
4. Wait for a while, the system will do a reboot and then power off if firmware flashing succeed.
If failed, both System Status and System Fault LEDs will blink
5. Remove the microSD card and boot Helios64 normally. See if there is any improvement.
Our officially supported stock firmware can be downloaded from https://cdn-kobol-io.s3-ap-southeast-1.amazonaws.com/Helios64/SATA_FW/Helios64_SATA_FW_factory_00020_190702.img.xz. If there is no improvement on newer firmware, please revert back to this stock firmware.
SHA256SUM:
e5dfbe84f4709a3e2138ffb620f0ee62ecbcc79a8f83692c1c1d7a4361f0d30f *Helios64_SATA_FW_factory_00020_190702.img.xz 0d78fec569dd699fd667acf59ba7b07c420a2865e1bcb8b85b26b61d404998c5 *Helios64_SATA_FW_update_00021_200624.img.xz
-
hartraft reacted to aprayoga in UPS service and timer
@SIGSEGV @clostro the service is triggered by udev rules.
@wurmfood, I didn't realize the timer fill the the log every 20s. Initial idea was one time timer, poweroff after 10m of power loss event. Then it was improved to add polling of the battery level and poweroff when threshold reached. Your script look good, we are considering to adapt it to official release. Thank you
-
hartraft reacted to P.P.A. in Understanding Hardware-Accelerated Video Decoding
I've taken peeks at threads related to hardware decoding (of H.264 and HEVC, mainly) on Allwinner and Rockchip platforms on and off, sometimes dabbled in trying and failing to implement solutions recommended there. Being a complete amateur, I find the topic very opaque and confusing, with various different components that need to interface with each other, be patched in sync, and sometimes change drastically between kernel versions, etc. Today I sat down and read up on these subjects, scouring wikis, documentation, this forum, and assorted other sources to try and understand how this works. In this post I will attempt to compile what I've learned on the different software components involved, their relationships, their current status, and solutions to the problem. I hope people more knowledgeable will correct me when I get something wrong or cite outdated information. Stuff which I am highly uncertain of I will print in italics.
(This post is going to focus on mainline implementations of Cedrus/Allwinner, I haven't looked into Hantro/Rkvdec/Rockchip specifics yet. I will speak only of H.264 and H.265/HEVC; I don't understand the high/low stuff and didn't pay attention to other codecs.)
Components:
Basics: Video codecs like H.264, H.265/HEVC, MPEG-2, etc. are standardised methods which serve to more efficiently encode and decode videos, reducing their filesize. Software en-/decoding is very CPU-intensive. Modern GPUS and ARM SoCs therefore contain specialised hardware (VPUs) to delegate these tasks to. Working hardware decoding is particularly important for underpowered ARM CPUs.
Drivers: Topmost in the stack are the VPU drivers. These are Sunxi-Cedrus/Cedrus V4L2 M2M and Cedar [Is this the legacy one?] on Allwinner; Hantro and Rkvdec on Rockchip. These are all still in development, but Cedrus already fully supports H.264, and partially supports HEVC, and is already usable in the mainline kernel.
APIs: In order for anything (userspace APIs, libraries) to make use of the VPU drivers, you need backends/APIs. For Cedrus, there is the unmaintained libva-v4l2-request backend which implements VA-API, the legacy VDPAU implementation libvdpau-sunxi, and as of kernel version 5.11, H.264 has been merged into the uAPI headers. Different applications may make recourse to one or another of these APIs.
Libraries: FFmpeg and GStreamer. provide libraries and APIs of their own to other applications but can (importantly!) also output directly to the framebuffer. FFmpeg must be patched to access either libva-v4l2-request or the Cedrus driver headers. GStreamer directly accesses kernel headers since 1.18 (works on 5.9, not on 5.10; 1.20 will support 5.11.)
Media players: mpv and depends on FFmpeg for hardware acceleration (and must be patched together with it). VLC can be set to access libva-v4l2-request directly. Kodi 19.0+ supports hardware acceleration out of the box without any out-of-tree patches.
Display server: An additional complication is drawing the output of any of the above on screen. Most successful implementations I've seen bypass X11 and either output directly to the framebuffer or force a plane/display layer on top of any X windows. Wayland apparently makes this easier by allowing applications to use their own DRM planes, but this hasn't been explored much yet. Kodi 19.0 works with all three windowing systems (X, Wayland, and gbm).
Codec status:
Taken from the LibreElec thread (which reflects LibreElec's status and is ahead of what works elsewhere, but outlines hardware limitations):
Approaches:
Many people have managed to make it work on their machines using different approaches. Note that some of these solutions are one or two years old, and kernel developments since may have changed the situation. Ordered from newer to older:
LibreElec – kernel + ffmpeg + Kodi: LibreElec is a Just-Enough-OS with the sole purpose of running Kodi, a media player. It's at the bleeding edge and usually implements codecs and features well before mainline or other distros. It achieves this by heavily patching everything up and down the stack, from the Linux kernel over FFmpeg to Kodi itself. These patches could all be applied to an Armbian build, but there are a lot of them, they're poorly documented, and you'd need to dig into their github to understand what they all do. LibreElec runs Kodi directly without a desktop. kodi-gbm is a package that can be installed on Armbian and functions similarly.
Key contributors to the project are @jernej and @Kwiboo, who sometimes post about their work here (and have been very helpful with questions, thank you). @balbes150 includes some of LibreElec's patches in his Armbian-TV builds, but I don't know which.
Kodi 19.0:
LibreElec patches + mpv:
@megous – Kernel 5.11 + GStreamer: This implementation, done here on a PinePhone (A64), patches the 5.9 kernel and uses a recent version of GStreamer (1.18 and up), whose output is rendered directly to a DRM plane via kmssink. (No X or Wayland.)
GStreamer 1.18 works with the 5.9 kernel. It does not work with 5.10, because of numerous changes to the kernel headers in this version. In 5.11 the H.264 headers were moved into the uAPI; the master branch of GStreamer reflects this, but there haven't been any releases with these patches yet. It'll probably be in repositories with GStreamer 1.20; until then you can build it from source.
@Sash0k – patched libva-v4l2-request + VLC: This updates bootlin's libva-v4l2-request and follows the Sunxi wiki's instructions for enabling VLC to make use of it. It works on the desktop. This only works for H.264 and breaks HEVC. When I tried to replicate this approach on a recent Armbian build, I discovered that the h264.c files in the kernel (that libva-v4l2-request draws on) have changed considerably between 5.8 and 5.10, and I lack the understanding to reconcile libva-v4l2-request with them.
@ubobrov – old kernel + libcedrus + libvdpau-sunxi + ffmpeg + mpv: This approach, which supports encoding decoding of H.264 uses the libvdpau-sunxi API and ports the legacy driver to mainline as a loadable kernel module and if I understand it correctly, ubobrov ported a legacy feature to mainline. In the post quoted below the kernel is 4.20, but the same method has been successfully applied to 5.7.8 by another user. It requires that the board's device tree be patched, as documented in ubobrov's github repository.
The summary seems to be that none of the current implementations on Allwinner boards really play nice with X or desktop sessions, and it's best to output directly to the framebuffer. Kwiboo has forked FFmpeg and mpv to make good use of new and unstable kernel features/hardware acceleration which will take a while to make their way upstream. The recent 5.11 move of stateless H.264 out of staging and into the uAPI should facilitate further developments.
I intend to try some of these things in the nearer future. Thanks to everyone who works on mainlining all of this VPU stuff, and to users here who contribute solutions and readily & patiently answer questions (Jernej especially). I hope I didn't post any falsehoods out of ignorance, and welcome any corrections.
Other related threads here:
https://forum.armbian.com/topic/11551-4kp30-video-on-orange-pi-lite-and-mainline-hardware-acceleration/
https://forum.armbian.com/topic/16804-orange-pi-pc-h3-armbian-focal-5104-sunxi-av-tv-out-cvbs-enable/page/2/
https://forum.armbian.com/topic/11184-hardware-graphicvideo-acceleration-in-h3-mainline/
https://forum.armbian.com/topic/13622-mainline-vpu/
-
hartraft reacted to endecotp in Differences Between Armbian and Debian
I was really just "wondering out loud" about whether you could solve the problem of having Armbian-specific tools that need maintenance by instead re-using the existing, and maintained, functionality in Debian Installer.
In the past I've used Martin Michlmayr's installer for the QNAP-TS119, which works more like this. I think one of the installation methods for the NSLU2 was also based on a modified Debian Installer.
Anyway just a thought.
I've been finding a few more of these differences. For example, find /etc -name '*armbian*'. It would be useful to have a list, maybe a diff of the filesystems trees with an unmodified Debian or something. I'm pretty familiar with how vanilla Debian works and I worry that the superficial similarity is misleading.
This is just some honest feedback from an old Debian and ARM user but new Armbian user. I appreciate that resources are limited; I know how that feels. Thanks again for all the hard work.
-
hartraft reacted to kgblack in Differences Between Armbian and Debian
Here's a package comparison I did today of fresh installs (yesterday) of Armbian and Debian. Unfortunately, I forgot to do an update/upgrade of Armbian before listing the packages, so Armbian may appear to be slightly out of date compared to Debian, but the comparison took me too long to repeat it just for that update.
comparison in pdf
comparison in csv
Here are the 28 Armbian packages I updated after the comparison:
armbian-config armbian-firmware armbian-zsh avahi-autoipd base-files curl
debian-archive-keyring groff-base iputils-arping iputils-ping libbsd0
libcurl3-gnutls libcurl4 libnss-myhostname libpam-systemd
libpython3.7-minimal libpython3.7-stdlib libssl-dev libssl1.1 libsystemd0
libudev1 linux-libc-dev openssl python3.7 python3.7-minimal systemd
systemd-sysv udev
-
hartraft reacted to allen--smithee in Helios64 - freeze whatever the kernel is.
@tionebrr
Source : https://www.rockchip.fr/RK3399 datasheet V1.8.pdf
1.2.1 Microprocessor
Dual-core ARM Cortex-A72 MPCore processor and Quad-core ARM Cortex-A53MPCore processor, both are high-performance, low-power and cached application processor
Two CPU clusters.Big cluster with dual-coreCortex-A72 is optimized for high-performance and little cluster with quad-core Cortex-A53 is optimized for low power.
<... >
PD_A72_B0: 1st Cortex-A72 + Neon + FPU + L1 I/D cache of big cluster
PD_A72_B1: 2nd Cortex-A72+ Neon + FPU + L1 I/D cache of big cluster
<... >
PD_A53_L0: 1st Cortex-A53 + Neon + FPU + L1 I/D Cache of little cluster
PD_A53_L1: 2nd Cortex-A53 + Neon + FPU + L1 I/D Cache of little cluster
PD_A53_L2: 3rd Cortex-A53 + Neon + FPU + L1 I/D Cache of little cluster
PD_A53_L3: 4th Cortex-A53 + Neon + FPU + L1 I/D Cache of little cluster
<...>
3.2 Recommended Operating Conditions
The below table describes the recommended operating condition for every clock domain.
Table 3-2 Recommended operating conditions
Parameters Symbol Min Typ Max Units
Supply voltage for Cortex A72 CPU BIGCPU_VDD 0.80 0.90 1.25 V
Supply voltage for Cortex A53 CPU LITCPU_VDD 0.80 0.90 1.20 V
Max frequency of Cortex A72 CPU 1.8 GHz
Max frequency of Cortex A53 CPU 1.4 GHz
-
hartraft reacted to Vin in Helios64 - freeze whatever the kernel is.
Mine is still crashing like a clockwork every 24 hours and leaves me generally with a corrupted OS and data.
I know you are a small team and you had to takle many obstacles to release the Helios64, believe me im a fan of your work, product and armbian in general, i m aware of the effort every involved person puts into this project.
But i would appreciate a bit more news about the current status of developement.
As far as i can see there is no status or developement overview on the current issues, not on your blog nor on twitter.
The only information we get are in various topics across the forum on armbian.
Is there a possibility to let us know more about the ongoing research and inform us about the progress and persued assumed solutions?
Also I wonder if those issues are genreal rk3399 gonvernor etc. problems, or if it applies specifically for the Helios64?
Thank you in advance for your reply.
-
hartraft reacted to gprovost in Image Backup/Restore from Boot(Emmc)+System(M.2-SSD)
Yeah recovering would require you to boot the board from microSD card (using any recent image for Helios64). Then you will need to use the right tool (e.g dd or fsarchiver) to write your system backup on the M.2 SSD.
If you use eMMC only for u-boot then unlikely to get corrupted and would be easy to restore even without a backup since it's just u-boot there. But it cost you nothing you backup the 1st 100MB of the eMMC with dd.
This is the kind of question that would require some guideline at some point on our wiki ;-)
-
hartraft reacted to gprovost in SATA issue, drive resets: ataX.00: failed command: READ FPDMA QUEUED
We will provide soon instruction on how to update SATA controller (JMB585) firmware with the latest version. Let see if it has positive impact or not.
For the new revision we will reinforce noise filtering on the SATA controller in case this is part of the root cause in some cases.
-
hartraft reacted to dieKatze88 in How to do a full hardware test?
I have disabled zram, as it was suggested by someone on Reddit.
I am now running the latest kernel, but absolutely no kernel in my history of this thing has been stable.
I got the following serial console the last time it crashed (But could not edit my post due to limits):
[10105.431800] Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: rcu_sched_clock_irq+0x7a4/0xce0 [10105.432752] CPU: 4 PID: 0 Comm: swapper/4 Tainted: G C 5.10.21-rockchip64 #21.02.3 [10105.433526] Hardware name: Helios64 (DT) [10105.433872] Call trace: [10105.434093] dump_backtrace+0x0/0x200 [10105.434418] show_stack+0x18/0x68 [10105.434714] dump_stack+0xcc/0x124 [10105.435016] panic+0x174/0x374 [10105.435288] __stack_chk_fail+0x3c/0x40 [10105.435626] rcu_sched_clock_irq+0x7a4/0xce0 [10105.436004] update_process_times+0x60/0xa0 [10105.436373] tick_sched_handle.isra.19+0x40/0x58 [10105.436778] tick_sched_timer+0x58/0xb0 [10105.437118] __hrtimer_run_queues+0x104/0x388 [10105.437502] hrtimer_interrupt+0xf4/0x250 [10105.437861] arch_timer_handler_phys+0x30/0x40 [10105.438258] handle_percpu_devid_irq+0xa0/0x298 [10105.438659] generic_handle_irq+0x30/0x48 [10105.439012] __handle_domain_irq+0x94/0x108 [10105.439384] gic_handle_irq+0xc0/0x140 [10105.439715] el1_irq+0xc0/0x180 [10105.439995] arch_cpu_idle+0x18/0x28 [10105.440310] default_idle_call+0x44/0x1bc [10105.440665] do_idle+0x204/0x278 [10105.440950] cpu_startup_entry+0x28/0x60 [10105.441298] secondary_start_kernel+0x170/0x180 [10105.441700] SMP: stopping secondary CPUs [10105.442057] Kernel Offset: disabled [10105.442365] CPU features: 0x0240022,6100200c [10105.442740] Memory Limit: none [10105.443021] ---[ end Kernel panic - not syncing: stack-protector: Kernel stack is corrupted in: rcu_sched_clock_irq+0x7a4/0xce0 ]---
root@helios64:~# uname -a
Linux helios64 5.10.21-rockchip64 #21.02.3 SMP PREEMPT Mon Mar 8 01:05:08 UTC 2021 aarch64 GNU/Linux
root@helios64:~#
my armbian monitor:
http://ix.io/2U0J
-
hartraft reacted to aprayoga in RK3399 Legacy Multimedia Framework
@JMCC Thanks for the hint. i'll take a look.
-
hartraft reacted to 0utc45t in Backup method for system installed on SSD (slot1)
In case of disk failure... just copying the filesystem to a backup, which then is copied to a new disk, which is inserted to slot A and booted. It will not boot. I presume so, by the fact that I tried to repartition/resize that disk holding system in slot A and it failed to boot after that. So, there is something more involved, hints are visible by looking at mounts. I would like to get the system backupped. Know the needed bits and tweaks, so that I know that I can do it and it will work, in case of disk failure.
-
hartraft reacted to lanefu in Regional Armbian Apt mirrors
Some more mirror updates:
By default, geoip support will redirect you to the best regional mirror pool. (it's not perfect) Armbian-config now supports mirror selection: depending on version of Armbian config you may need to first do code { font-family: Consolas,"courier new"; color: crimson; background-color: rgba(0, 0, 0, 0.2); padding: 2px; font-size: 105%; } apt update && apt install jq -y to install missing dependency Armbian-config -> personal -> mirrors FOSSHOST mirror changes: location specific Fosshost mirror domains are deprecated: us.mirrors.fossho.st us.mirorrs.fosshost.org uk.mirrors.fossho.st uk.mirrors.fosshost.org FOSSHOST is now front-ending mirrors via the Fastly CDN see announcement from FOSSHOST.org mirrors.fosthost.org and mirrors.fossho.st are all that is needed to use their Fastly CDN Because Fastly is an on-demand caching CDN, performance will vary by your physical location. Some may experience a positive improvement, or some may experience a negative improvement. The FOSSHOST apt mirrors are most effective for those in Regions with poor internet connectivity and outside of greater Europe Currently our automatic redirect has FOSSHOST in the round-robin pool for North America and Asia. Those in China may want to use a China Specific mirror. Those in Asia outside of China will likely benefit for choosing the Fastly mirror I recommend using the existing Armbian EU mirrors for those within Greater EU with good internet connectivity. Since these Mirrors are caching, they work best when under high utilization. Ex: Great for apt indexes and common packages, extremely popular image downloads during release. Less ideal for unpopular images which won't be cached.
We're very grateful for all our partners providing mirrors--and their extreme generosity in providing a vast amount of space. We're always trying to optimize our package and image distribution. Armbian's a unique project as our release output produces over 400 system images. Seeding and distribution is significant.
If you have any questions or thoughts.. please share on this thread!
lanefu
-
hartraft reacted to slymanjojo in Helios64 - freeze whatever the kernel is.
@gprovost
Been Running stable since 21.02.3 Buster.
cat /etc/default/cpufrequtils
ENABLE=true
MIN_SPEED=408000
MAX_SPEED=1800000
GOVERNOR=ondemand
No VDD tweaks.
-
hartraft reacted to gprovost in Kernel panic in 5.9.14 20.11.10
Could you guys update to latest kernel (linux-image-current-rockchip64_21.02.3_arm64 / LK 5.10.21) and revert to ondemand governor with the full range of frequency in case you were on performance mode.
Also remove any vdd voltage tweak you might have put in /boot/boot.cmd. If you had vdd tweak you will need to rebuild u-boot boot script after removing the lines in /boot/boot.cmd
mkimage -C none -A arm -T script -d /boot/boot.cmd /boot/boot.scr
Let us know how the new kernel improves the stability.
-
hartraft reacted to bunducafe in SD-Card to eMMC OS issue
Hi folks,
just a heads up in this thread (maybe related to others experiencing boot issues with Helios64 and OMV5):
If you use the setup: OMV5, Multiple Hdds, LUKS encryption + UnionFS
then it is very likely that the machine does not come up instead is booting into revocery mode. That's because it cannot find any mountpoints because of LUKS. In order to get the helios booting again you have to add a "nofail" into the mergerfs option.
Unfortunately the merferfs pool does not getting mounted automatically once you decrypted the hdds within LUKS Plugin. That's a bit of a nuisance but it is bearable if you do not boot your machine every day. In my case I had to remove the nofail, the mergerfs did mount immediately and then I did put the nofail in again. There might be a more elegant possibility but at least it is a remedy to get the helios working again.
Jump over to the OMV-forums and do a search for LUKS + UnionFS + nofail and you find several threads about that issue.
I have no idea if it is better to swith to the merferfsfolder plugin because I have no knowledge so far if I just can change the plugins without any errors.
-
-
hartraft got a reaction from gprovost in Feature / Changes requests for future Helios64 board or enclosure revisions
Whilst i'm satisfied with my Helios64 as well, i would have liked:
the original RK3399Pro as the NPU would have been useful in tensorflow for Photoprism (as a Google photos replacement). RK3588 would be even nicer but everyone is waiting on that chip more RAM, once Photoprism indexes photos, it easily runs out of memory. I limit the memory in docker now but its not ideal. Granted, there is an issue on their code so i just keep the container restarted each night NVMe for fast disk access Better HDD trays (already mentioned) the screw eyelets for the backpanel (1st pic below) not to be directly aligned with the eyelets for the backplane (2nd pic below) for easier assembly.
-
hartraft reacted to JMCC in RK3399 Legacy Multimedia Framework
IT'S FINALLY HERE...
THE OFFICIAL ROCKCHIP-LEGACY MULTIMEDIA INTEGRATION
After two years of using a separate script to enable the multimedia features in RK3399 Legacy Kernel, the whole framework has been incorporated to the official Armbian packaging system. The choice distro for this integration is Debian Buster (see FAQ at the end of this post about the reasons).
I. Installation
Download a Armbian Buster Legacy Desktop image for your board, and install it with the standard Armbian method. Install the complete multimedia solution with sudo apt update && sudo apt upgrade sudo apt install media-buster-legacy-rk3399 --install-recommends The switch "--install-recommends" will add the whole Kodi binary addons collection (retro-gaming cores, music visualizations, screensavers, additional media decoders/encoders, vfs, etc.), plus the GLES-to-OpenGL wrapper "gl4es".
II. Features
Accelerated GLES/EGL X desktop: No action needed. Accelerated Chromium, with WebGL and video display acceleration: No action needed Desktop video player capable of smooth 4K HEVC-HDR: Use the "Rockchip Gst Player" from the Multimedia menu, or choose it with right-click on the media file. Command-line 4K playing is also possible with "gst-play-1.0 --videosink=kmssink". RKMPP-accelerated MPV: Use normally for standard operation (windowed with mouse-operated GUI). For fullscreen, keyboard-operated mode, use the command line switch "--gpu-context=drm" (this will allow you to play smooth 4K).
- See instructions below, in the next post, for playing YouTube videos up to 4K with this MPV.
ISP Camera with real-time h.264/1080p HW encoding: Using the Gstreamer Plugin. Check this wiki for instructions on how to use it. Most of it applies to Armbian, except for the selection of ov5647/imx219 camera, which must be done using DT overlays. OpenCL 1.2 support: It will be fully functional, no further action needed. You can download some tests and examples from this link. Kodi 18.9 Leia with full RKMPP+GBM acceleration, 4K-HDR capable: You can start it from LightDM menu as your user account:
Alternatively, you can also run it as a system service with these command lines: sudo systemctl disable lightdm sudo systemctl enable kodi-gbm sudo reboot Full collection of Kodi binary add-ons: Includes retrogaming cores, media encoders and decoders, PVR, screensavers, vfs and audio visualizations. They are all installed with the package "kodi-addons-full", but are disabled by default. They need to be enabled individually within the Kodi GUI. OpenGL 2.1 support through the gl4es wrapper: It is installed with the package "gl4es", with no further action needed.
III. Sources
This is the list of the sources used for the packages:
IV. FAQ
¿Why did you use Debian Buster as a base for this implementation?
It was the most appropriate for several reasons. Upstream Rockchip-Linux developers use Debian buster, so the software could be ported with less modifications than if we chose a different distro. Besides, it is a completely stable distro, unlike Bullseye, which is a moving target as of today. It also has Chromium as a package, unlike Focal that uses snap instead. For last, it has a good backports repo, with several libs that would otherwise need to be compiled and maintained if we chose, for example, Focal.
¿Why Legacy instead of Mainline?
This is an implementation based on the vendor's BSP kernel. It has been tested and is reliable, which many people will prefer rather than having a bleeding-edge, less stable implementation. In addition to that, Mainline upstream multimedia support is still a WIP, and lacks many features that are only present on Legacy kernels.
¿Will you add new features to this implementation?
No, this implementation will only receive bug fixes if necessary. From now on, all multimedia work will be focused on Mainline and recent distros (like Focal or Bullseye). All new features will go there.